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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cjs/index.cjs +23 -0
  2. package/dist/cjs/invalidBucket.cjs +84 -0
  3. package/dist/cjs/manager.cjs +1325 -0
  4. package/dist/cjs/queue.cjs +165 -0
  5. package/dist/cjs/routes.cjs +533 -0
  6. package/dist/cjs/types.cjs +6 -0
  7. package/dist/cjs/typings/routes.cjs +6 -0
  8. package/dist/esm/index.js +8 -0
  9. package/dist/esm/invalidBucket.js +82 -0
  10. package/dist/esm/manager.js +1303 -0
  11. package/dist/esm/queue.js +157 -0
  12. package/dist/esm/routes.js +525 -0
  13. package/dist/esm/types.js +3 -0
  14. package/dist/esm/typings/routes.js +3 -0
  15. package/dist/types/index.d.ts.map +1 -0
  16. package/dist/types/invalidBucket.d.ts.map +1 -0
  17. package/dist/types/manager.d.ts.map +1 -0
  18. package/dist/{queue.d.ts → types/queue.d.ts} +5 -0
  19. package/dist/types/queue.d.ts.map +1 -0
  20. package/dist/types/routes.d.ts.map +1 -0
  21. package/dist/{types.d.ts → types/types.d.ts} +212 -13
  22. package/dist/types/types.d.ts.map +1 -0
  23. package/dist/{typings → types/typings}/routes.d.ts +24 -4
  24. package/dist/types/typings/routes.d.ts.map +1 -0
  25. package/package.json +13 -7
  26. package/dist/index.d.ts.map +0 -1
  27. package/dist/index.js +0 -8
  28. package/dist/index.js.map +0 -1
  29. package/dist/invalidBucket.d.ts.map +0 -1
  30. package/dist/invalidBucket.js +0 -82
  31. package/dist/invalidBucket.js.map +0 -1
  32. package/dist/manager.d.ts.map +0 -1
  33. package/dist/manager.js +0 -1139
  34. package/dist/manager.js.map +0 -1
  35. package/dist/queue.d.ts.map +0 -1
  36. package/dist/queue.js +0 -153
  37. package/dist/queue.js.map +0 -1
  38. package/dist/routes.d.ts.map +0 -1
  39. package/dist/routes.js +0 -487
  40. package/dist/routes.js.map +0 -1
  41. package/dist/types.d.ts.map +0 -1
  42. package/dist/types.js +0 -3
  43. package/dist/types.js.map +0 -1
  44. package/dist/typings/routes.d.ts.map +0 -1
  45. package/dist/typings/routes.js +0 -3
  46. package/dist/typings/routes.js.map +0 -1
  47. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  48. /package/dist/{invalidBucket.d.ts → types/invalidBucket.d.ts} +0 -0
  49. /package/dist/{manager.d.ts → types/manager.d.ts} +0 -0
  50. /package/dist/{routes.d.ts → types/routes.d.ts} +0 -0
@@ -0,0 +1,533 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createRoutes", {
6
+ enumerable: true,
7
+ get: ()=>createRoutes
8
+ });
9
+ const _utils = require("@discordeno/utils");
10
+ function createRoutes() {
11
+ return {
12
+ webhooks: {
13
+ id: (webhookId)=>{
14
+ return `/webhooks/${webhookId}`;
15
+ },
16
+ message: (webhookId, token, messageId, options)=>{
17
+ let url = `/webhooks/${webhookId}/${token}/messages/${messageId}?`;
18
+ if (options) {
19
+ if (options.threadId) url += `thread_id=${options.threadId}`;
20
+ }
21
+ return url;
22
+ },
23
+ original: (webhookId, token, options)=>{
24
+ let url = `/webhooks/${webhookId}/${token}/messages/@original?`;
25
+ if (options) {
26
+ if (options.threadId) url += `thread_id=${options.threadId}`;
27
+ }
28
+ return url;
29
+ },
30
+ webhook: (webhookId, token, options)=>{
31
+ let url = `/webhooks/${webhookId}/${token}?`;
32
+ if (options) {
33
+ if (options?.wait !== undefined) url += `wait=${options.wait.toString()}`;
34
+ if (options.threadId) url += `thread_id=${options.threadId}`;
35
+ }
36
+ return url;
37
+ }
38
+ },
39
+ // Channel Endpoints
40
+ channels: {
41
+ bulk: (channelId)=>{
42
+ return `/channels/${channelId}/messages/bulk-delete`;
43
+ },
44
+ dm: ()=>{
45
+ return '/users/@me/channels';
46
+ },
47
+ dmRecipient: (channelId, userId)=>{
48
+ return `/channels/${channelId}/recipients/${userId}`;
49
+ },
50
+ pin: (channelId, messageId)=>{
51
+ return `/channels/${channelId}/pins/${messageId}`;
52
+ },
53
+ pins: (channelId)=>{
54
+ return `/channels/${channelId}/pins`;
55
+ },
56
+ reactions: {
57
+ bot: (channelId, messageId, emoji)=>{
58
+ return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/@me`;
59
+ },
60
+ user: (channelId, messageId, emoji, userId)=>{
61
+ return `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}/${userId}`;
62
+ },
63
+ all: (channelId, messageId)=>{
64
+ return `/channels/${channelId}/messages/${messageId}/reactions`;
65
+ },
66
+ emoji: (channelId, messageId, emoji, options)=>{
67
+ let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`;
68
+ if (options) {
69
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
70
+ if (options.after) url += `after=${options.after}`;
71
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
72
+ if (options.limit) url += `&limit=${options.limit}`;
73
+ }
74
+ return url;
75
+ },
76
+ message: (channelId, messageId, emoji, options)=>{
77
+ let url = `/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}?`;
78
+ if (options) {
79
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
80
+ if (options.after) url += `after=${options.after}`;
81
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
82
+ if (options.limit) url += `&limit=${options.limit}`;
83
+ }
84
+ return url;
85
+ }
86
+ },
87
+ webhooks: (channelId)=>{
88
+ return `/channels/${channelId}/webhooks`;
89
+ },
90
+ channel: (channelId)=>{
91
+ return `/channels/${channelId}`;
92
+ },
93
+ follow: (channelId)=>{
94
+ return `/channels/${channelId}/followers`;
95
+ },
96
+ forum: (channelId)=>{
97
+ return `/channels/${channelId}/threads?has_message=true`;
98
+ },
99
+ invites: (channelId)=>{
100
+ return `/channels/${channelId}/invites`;
101
+ },
102
+ message: (channelId, messageId)=>{
103
+ return `/channels/${channelId}/messages/${messageId}`;
104
+ },
105
+ messages: (channelId, options)=>{
106
+ let url = `/channels/${channelId}/messages?`;
107
+ if (options) {
108
+ if ((0, _utils.isGetMessagesAfter)(options) && options.after) {
109
+ url += `after=${options.after}`;
110
+ }
111
+ if ((0, _utils.isGetMessagesBefore)(options) && options.before) {
112
+ url += `&before=${options.before}`;
113
+ }
114
+ if ((0, _utils.isGetMessagesAround)(options) && options.around) {
115
+ url += `&around=${options.around}`;
116
+ }
117
+ if ((0, _utils.isGetMessagesLimit)(options) && options.limit) {
118
+ url += `&limit=${options.limit}`;
119
+ }
120
+ }
121
+ return url;
122
+ },
123
+ overwrite: (channelId, overwriteId)=>{
124
+ return `/channels/${channelId}/permissions/${overwriteId}`;
125
+ },
126
+ crosspost: (channelId, messageId)=>{
127
+ return `/channels/${channelId}/messages/${messageId}/crosspost`;
128
+ },
129
+ stages: ()=>{
130
+ return '/stage-instances';
131
+ },
132
+ stage: (channelId)=>{
133
+ return `/stage-instances/${channelId}`;
134
+ },
135
+ // Thread Endpoints
136
+ threads: {
137
+ message: (channelId, messageId)=>{
138
+ return `/channels/${channelId}/messages/${messageId}/threads`;
139
+ },
140
+ all: (channelId)=>{
141
+ return `/channels/${channelId}/threads`;
142
+ },
143
+ active: (guildId)=>{
144
+ return `/guilds/${guildId}/threads/active`;
145
+ },
146
+ members: (channelId)=>{
147
+ return `/channels/${channelId}/thread-members`;
148
+ },
149
+ me: (channelId)=>{
150
+ return `/channels/${channelId}/thread-members/@me`;
151
+ },
152
+ user: (channelId, userId)=>{
153
+ return `/channels/${channelId}/thread-members/${userId}`;
154
+ },
155
+ archived: (channelId)=>{
156
+ return `/channels/${channelId}/threads/archived`;
157
+ },
158
+ public: (channelId, options)=>{
159
+ let url = `/channels/${channelId}/threads/archived/public?`;
160
+ if (options) {
161
+ if (options.before) {
162
+ url += `before=${new Date(options.before).toISOString()}`;
163
+ }
164
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
165
+ if (options.limit) url += `&limit=${options.limit}`;
166
+ }
167
+ return url;
168
+ },
169
+ private: (channelId, options)=>{
170
+ let url = `/channels/${channelId}/threads/archived/private?`;
171
+ if (options) {
172
+ if (options.before) {
173
+ url += `before=${new Date(options.before).toISOString()}`;
174
+ }
175
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
176
+ if (options.limit) url += `&limit=${options.limit}`;
177
+ }
178
+ return url;
179
+ },
180
+ joined: (channelId, options)=>{
181
+ let url = `/channels/${channelId}/users/@me/threads/archived/private?`;
182
+ if (options) {
183
+ if (options.before) {
184
+ url += `before=${new Date(options.before).toISOString()}`;
185
+ }
186
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
187
+ if (options.limit) url += `&limit=${options.limit}`;
188
+ }
189
+ return url;
190
+ }
191
+ },
192
+ typing: (channelId)=>{
193
+ return `/channels/${channelId}/typing`;
194
+ }
195
+ },
196
+ // Guild Endpoints
197
+ guilds: {
198
+ all: ()=>{
199
+ return '/guilds';
200
+ },
201
+ userGuilds: (options)=>{
202
+ let url = '/users/@me/guilds?';
203
+ if (options) {
204
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
205
+ if (options.after) url += `after=${options.after}`;
206
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
207
+ if (options.before) url += `&before=${options.before}`;
208
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
209
+ if (options.limit) url += `&limit=${options.limit}`;
210
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
211
+ if (options.withCounts) url += `&with_counts=${options.withCounts}`;
212
+ }
213
+ return url;
214
+ },
215
+ auditlogs: (guildId, options)=>{
216
+ let url = `/guilds/${guildId}/audit-logs?`;
217
+ if (options) {
218
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
219
+ if (options.actionType) url += `action_type=${options.actionType}`;
220
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
221
+ if (options.before) url += `&before=${options.before}`;
222
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
223
+ if (options.after) url += `&after=${options.after}`;
224
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
225
+ if (options.limit) url += `&limit=${options.limit}`;
226
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
227
+ if (options.userId) url += `&user_id=${options.userId}`;
228
+ }
229
+ return url;
230
+ },
231
+ automod: {
232
+ rule: (guildId, ruleId)=>{
233
+ return `/guilds/${guildId}/auto-moderation/rules/${ruleId}`;
234
+ },
235
+ rules: (guildId)=>{
236
+ return `/guilds/${guildId}/auto-moderation/rules`;
237
+ }
238
+ },
239
+ channels: (guildId)=>{
240
+ return `/guilds/${guildId}/channels`;
241
+ },
242
+ emoji: (guildId, emojiId)=>{
243
+ return `/guilds/${guildId}/emojis/${emojiId}`;
244
+ },
245
+ emojis: (guildId)=>{
246
+ return `/guilds/${guildId}/emojis`;
247
+ },
248
+ events: {
249
+ events: (guildId, withUserCount)=>{
250
+ let url = `/guilds/${guildId}/scheduled-events?`;
251
+ if (withUserCount !== undefined) {
252
+ url += `with_user_count=${withUserCount.toString()}`;
253
+ }
254
+ return url;
255
+ },
256
+ event: (guildId, eventId, withUserCount)=>{
257
+ let url = `/guilds/${guildId}/scheduled-events/${eventId}`;
258
+ if (withUserCount !== undefined) {
259
+ url += `with_user_count=${withUserCount.toString()}`;
260
+ }
261
+ return url;
262
+ },
263
+ users: (guildId, eventId, options)=>{
264
+ let url = `/guilds/${guildId}/scheduled-events/${eventId}/users?`;
265
+ if (options) {
266
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
267
+ if (options.limit !== undefined) url += `limit=${options.limit}`;
268
+ if (options.withMember !== undefined) {
269
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
270
+ url += `&with_member=${options.withMember.toString()}`;
271
+ }
272
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
273
+ if (options.after !== undefined) url += `&after=${options.after}`;
274
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
275
+ if (options.before !== undefined) url += `&before=${options.before}`;
276
+ }
277
+ return url;
278
+ }
279
+ },
280
+ guild (guildId, withCounts) {
281
+ let url = `/guilds/${guildId}?`;
282
+ if (withCounts !== undefined) {
283
+ url += `with_counts=${withCounts.toString()}`;
284
+ }
285
+ return url;
286
+ },
287
+ integration (guildId, integrationId) {
288
+ return `/guilds/${guildId}/integrations/${integrationId}`;
289
+ },
290
+ integrations: (guildId)=>{
291
+ return `/guilds/${guildId}/integrations?include_applications=true`;
292
+ },
293
+ invite (inviteCode, options) {
294
+ let url = `/invites/${inviteCode}?`;
295
+ if (options) {
296
+ if (options.withCounts !== undefined) {
297
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
298
+ url += `with_counts=${options.withCounts.toString()}`;
299
+ }
300
+ if (options.withExpiration !== undefined) {
301
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
302
+ url += `&with_expiration=${options.withExpiration.toString()}`;
303
+ }
304
+ if (options.scheduledEventId) {
305
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
306
+ url += `&guild_scheduled_event_id=${options.scheduledEventId}`;
307
+ }
308
+ }
309
+ return url;
310
+ },
311
+ invites: (guildId)=>{
312
+ return `/guilds/${guildId}/invites`;
313
+ },
314
+ leave: (guildId)=>{
315
+ return `/users/@me/guilds/${guildId}`;
316
+ },
317
+ members: {
318
+ ban: (guildId, userId)=>{
319
+ return `/guilds/${guildId}/bans/${userId}`;
320
+ },
321
+ bans: (guildId, options)=>{
322
+ let url = `/guilds/${guildId}/bans?`;
323
+ if (options) {
324
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
325
+ if (options.limit) url += `limit=${options.limit}`;
326
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
327
+ if (options.after) url += `&after=${options.after}`;
328
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
329
+ if (options.before) url += `&before=${options.before}`;
330
+ }
331
+ return url;
332
+ },
333
+ bot: (guildId)=>{
334
+ return `/guilds/${guildId}/members/@me`;
335
+ },
336
+ member: (guildId, userId)=>{
337
+ return `/guilds/${guildId}/members/${userId}`;
338
+ },
339
+ currentMember: (guildId)=>{
340
+ return `/users/@me/guilds/${guildId}/member`;
341
+ },
342
+ members: (guildId, options)=>{
343
+ let url = `/guilds/${guildId}/members?`;
344
+ if (options !== undefined) {
345
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
346
+ if (options.limit) url += `limit=${options.limit}`;
347
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
348
+ if (options.after) url += `&after=${options.after}`;
349
+ }
350
+ return url;
351
+ },
352
+ search: (guildId, query, options)=>{
353
+ let url = `/guilds/${guildId}/members/search?query=${encodeURIComponent(query)}`;
354
+ if (options) {
355
+ if (options.limit !== undefined) url += `&limit=${options.limit}`;
356
+ }
357
+ return url;
358
+ },
359
+ prune: (guildId, options)=>{
360
+ let url = `/guilds/${guildId}/prune?`;
361
+ if (options) {
362
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
363
+ if (options.days) url += `days=${options.days}`;
364
+ if (Array.isArray(options.includeRoles)) {
365
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
366
+ url += `&include_roles=${options.includeRoles.join(',')}`;
367
+ } else if (options.includeRoles) {
368
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
369
+ url += `&include_roles=${options.includeRoles}`;
370
+ }
371
+ }
372
+ return url;
373
+ }
374
+ },
375
+ mfa: (guildId)=>`/guilds/${guildId}/mfa`,
376
+ preview: (guildId)=>{
377
+ return `/guilds/${guildId}/preview`;
378
+ },
379
+ prune: (guildId, options)=>{
380
+ let url = `/guilds/${guildId}/prune?`;
381
+ if (options) {
382
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
383
+ if (options.days) url += `days=${options.days}`;
384
+ if (Array.isArray(options.includeRoles)) {
385
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
386
+ url += `&include_roles=${options.includeRoles.join(',')}`;
387
+ } else if (options.includeRoles) {
388
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
389
+ url += `&include_roles=${options.includeRoles}`;
390
+ }
391
+ }
392
+ return url;
393
+ },
394
+ roles: {
395
+ one: (guildId, roleId)=>{
396
+ return `/guilds/${guildId}/roles/${roleId}`;
397
+ },
398
+ all: (guildId)=>{
399
+ return `/guilds/${guildId}/roles`;
400
+ },
401
+ member: (guildId, memberId, roleId)=>{
402
+ return `/guilds/${guildId}/members/${memberId}/roles/${roleId}`;
403
+ }
404
+ },
405
+ stickers: (guildId)=>{
406
+ return `/guilds/${guildId}/stickers`;
407
+ },
408
+ sticker: (guildId, stickerId)=>{
409
+ return `/guilds/${guildId}/stickers/${stickerId}`;
410
+ },
411
+ voice: (guildId, userId)=>{
412
+ return `/guilds/${guildId}/voice-states/${userId ?? '@me'}`;
413
+ },
414
+ templates: {
415
+ code: (code)=>{
416
+ return `/guilds/templates/${code}`;
417
+ },
418
+ guild: (guildId, code)=>{
419
+ return `/guilds/${guildId}/templates/${code}`;
420
+ },
421
+ all: (guildId)=>{
422
+ return `/guilds/${guildId}/templates`;
423
+ }
424
+ },
425
+ vanity: (guildId)=>{
426
+ return `/guilds/${guildId}/vanity-url`;
427
+ },
428
+ regions: (guildId)=>{
429
+ return `/guilds/${guildId}/regions`;
430
+ },
431
+ webhooks: (guildId)=>{
432
+ return `/guilds/${guildId}/webhooks`;
433
+ },
434
+ welcome: (guildId)=>{
435
+ return `/guilds/${guildId}/welcome-screen`;
436
+ },
437
+ widget: (guildId)=>{
438
+ return `/guilds/${guildId}/widget`;
439
+ },
440
+ widgetJson: (guildId)=>{
441
+ return `/guilds/${guildId}/widget.cjson`;
442
+ }
443
+ },
444
+ sticker: (stickerId)=>{
445
+ return `/stickers/${stickerId}`;
446
+ },
447
+ regions: ()=>{
448
+ return '/voice/regions';
449
+ },
450
+ // Interaction Endpoints
451
+ interactions: {
452
+ commands: {
453
+ // Application Endpoints
454
+ commands: (applicationId)=>{
455
+ return `/applications/${applicationId}/commands`;
456
+ },
457
+ guilds: {
458
+ all (applicationId, guildId) {
459
+ return `/applications/${applicationId}/guilds/${guildId}/commands`;
460
+ },
461
+ one (applicationId, guildId, commandId, withLocalizations) {
462
+ let url = `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}?`;
463
+ if (withLocalizations !== undefined) {
464
+ url += `with_localizations=${withLocalizations.toString()}`;
465
+ }
466
+ return url;
467
+ }
468
+ },
469
+ permissions: (applicationId, guildId)=>{
470
+ return `/applications/${applicationId}/guilds/${guildId}/commands/permissions`;
471
+ },
472
+ permission: (applicationId, guildId, commandId)=>{
473
+ return `/applications/${applicationId}/guilds/${guildId}/commands/${commandId}/permissions`;
474
+ },
475
+ command: (applicationId, commandId, withLocalizations)=>{
476
+ let url = `/applications/${applicationId}/commands/${commandId}?`;
477
+ if (withLocalizations !== undefined) {
478
+ url += `withLocalizations=${withLocalizations.toString()}`;
479
+ }
480
+ return url;
481
+ }
482
+ },
483
+ responses: {
484
+ // Interaction Endpoints
485
+ callback: (interactionId, token)=>{
486
+ return `/interactions/${interactionId}/${token}/callback`;
487
+ },
488
+ original: (interactionId, token)=>{
489
+ return `/webhooks/${interactionId}/${token}/messages/@original`;
490
+ },
491
+ message: (applicationId, token, messageId)=>{
492
+ return `/webhooks/${applicationId}/${token}/messages/${messageId}`;
493
+ }
494
+ }
495
+ },
496
+ // OAuth2 endpoints
497
+ oauth2: {
498
+ tokenExchange: ()=>{
499
+ return '/oauth2/token';
500
+ },
501
+ tokenRevoke: ()=>{
502
+ return '/oauth2/token/revoke';
503
+ },
504
+ currentAuthorization: ()=>{
505
+ return '/oauth2/@me';
506
+ },
507
+ application: ()=>{
508
+ return '/oauth2/applications/@me';
509
+ },
510
+ connections: ()=>{
511
+ return '/users/@me/connections';
512
+ },
513
+ roleConnections: (applicationId)=>{
514
+ return `/users/@me/applications/${applicationId}/role-connection`;
515
+ }
516
+ },
517
+ // User endpoints
518
+ user (userId) {
519
+ return `/users/${userId}`;
520
+ },
521
+ currentUser () {
522
+ return '/users/@me';
523
+ },
524
+ gatewayBot () {
525
+ return '/gateway/bot';
526
+ },
527
+ nitroStickerPacks () {
528
+ return '/sticker-packs';
529
+ }
530
+ };
531
+ }
532
+
533
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZXRNZXNzYWdlc09wdGlvbnMsIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzR2V0TWVzc2FnZXNBZnRlciwgaXNHZXRNZXNzYWdlc0Fyb3VuZCwgaXNHZXRNZXNzYWdlc0JlZm9yZSwgaXNHZXRNZXNzYWdlc0xpbWl0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFJlc3RSb3V0ZXMgfSBmcm9tICcuL3R5cGluZ3Mvcm91dGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKCk6IFJlc3RSb3V0ZXMge1xuICByZXR1cm4ge1xuICAgIHdlYmhvb2tzOiB7XG4gICAgICBpZDogKHdlYmhvb2tJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC93ZWJob29rcy8ke3dlYmhvb2tJZH1gXG4gICAgICB9LFxuICAgICAgbWVzc2FnZTogKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvJHttZXNzYWdlSWR9P2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIG9yaWdpbmFsOiAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvQG9yaWdpbmFsP2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIHdlYmhvb2s6ICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL3dlYmhvb2tzLyR7d2ViaG9va0lkfS8ke3Rva2VufT9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucz8ud2FpdCAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYHdhaXQ9JHtvcHRpb25zLndhaXQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudGhyZWFkSWQpIHVybCArPSBgdGhyZWFkX2lkPSR7b3B0aW9ucy50aHJlYWRJZH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBDaGFubmVsIEVuZHBvaW50c1xuICAgIGNoYW5uZWxzOiB7XG4gICAgICBidWxrOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy9idWxrLWRlbGV0ZWBcbiAgICAgIH0sXG4gICAgICBkbTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy91c2Vycy9AbWUvY2hhbm5lbHMnXG4gICAgICB9LFxuICAgICAgZG1SZWNpcGllbnQ6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcmVjaXBpZW50cy8ke3VzZXJJZH1gXG4gICAgICB9LFxuICAgICAgcGluOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnMvJHttZXNzYWdlSWR9YFxuICAgICAgfSxcbiAgICAgIHBpbnM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnNgXG4gICAgICB9LFxuICAgICAgcmVhY3Rpb25zOiB7XG4gICAgICAgIGJvdDogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBlbW9qaSkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vcmVhY3Rpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGVtb2ppKX0vQG1lYFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9LyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgZW1vamk6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGBhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBtZXNzYWdlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZWFjdGlvbnMvJHtlbmNvZGVVUklDb21wb25lbnQoZW1vamkpfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB3ZWJob29rczogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vd2ViaG9va3NgXG4gICAgICB9LFxuXG4gICAgICBjaGFubmVsOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfWBcbiAgICAgIH0sXG5cbiAgICAgIGZvbGxvdzogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vZm9sbG93ZXJzYFxuICAgICAgfSxcblxuICAgICAgZm9ydW06IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHM/aGFzX21lc3NhZ2U9dHJ1ZWBcbiAgICAgIH0sXG5cbiAgICAgIGludml0ZXM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L2ludml0ZXNgXG4gICAgICB9LFxuXG4gICAgICBtZXNzYWdlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfWBcbiAgICAgIH0sXG5cbiAgICAgIG1lc3NhZ2VzOiAoY2hhbm5lbElkLCBvcHRpb25zPzogR2V0TWVzc2FnZXNPcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcz9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAoaXNHZXRNZXNzYWdlc0FmdGVyKG9wdGlvbnMpICYmIG9wdGlvbnMuYWZ0ZXIpIHtcbiAgICAgICAgICAgIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNCZWZvcmUob3B0aW9ucykgJiYgb3B0aW9ucy5iZWZvcmUpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNBcm91bmQob3B0aW9ucykgJiYgb3B0aW9ucy5hcm91bmQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmFyb3VuZD0ke29wdGlvbnMuYXJvdW5kfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNMaW1pdChvcHRpb25zKSAmJiBvcHRpb25zLmxpbWl0KSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG5cbiAgICAgIG92ZXJ3cml0ZTogKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3Blcm1pc3Npb25zLyR7b3ZlcndyaXRlSWR9YFxuICAgICAgfSxcblxuICAgICAgY3Jvc3Nwb3N0OiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9jcm9zc3Bvc3RgXG4gICAgICB9LFxuXG4gICAgICBzdGFnZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvc3RhZ2UtaW5zdGFuY2VzJ1xuICAgICAgfSxcblxuICAgICAgc3RhZ2U6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvc3RhZ2UtaW5zdGFuY2VzLyR7Y2hhbm5lbElkfWBcbiAgICAgIH0sXG5cbiAgICAgIC8vIFRocmVhZCBFbmRwb2ludHNcbiAgICAgIHRocmVhZHM6IHtcbiAgICAgICAgbWVzc2FnZTogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS90aHJlYWRzYFxuICAgICAgICB9LFxuICAgICAgICBhbGw6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkc2BcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RocmVhZHMvYWN0aXZlYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZC1tZW1iZXJzYFxuICAgICAgICB9LFxuICAgICAgICBtZTogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy9AbWVgXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXI6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy8ke3VzZXJJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGFyY2hpdmVkOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWRgXG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpYzogKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWRzL2FyY2hpdmVkL3B1YmxpYz9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcml2YXRlOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBqb2luZWQ6IChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdXNlcnMvQG1lL3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgICAgdHlwaW5nOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90eXBpbmdgXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBHdWlsZCBFbmRwb2ludHNcbiAgICBndWlsZHM6IHtcbiAgICAgIGFsbDogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9ndWlsZHMnXG4gICAgICB9LFxuICAgICAgdXNlckd1aWxkczogKG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9ICcvdXNlcnMvQG1lL2d1aWxkcz8nXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ291bnRzKSB1cmwgKz0gYCZ3aXRoX2NvdW50cz0ke29wdGlvbnMud2l0aENvdW50c31gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgYXVkaXRsb2dzOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9hdWRpdC1sb2dzP2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICBpZiAob3B0aW9ucy5hY3Rpb25UeXBlKSB1cmwgKz0gYGFjdGlvbl90eXBlPSR7b3B0aW9ucy5hY3Rpb25UeXBlfWBcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgaWYgKG9wdGlvbnMudXNlcklkKSB1cmwgKz0gYCZ1c2VyX2lkPSR7b3B0aW9ucy51c2VySWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGF1dG9tb2Q6IHtcbiAgICAgICAgcnVsZTogKGd1aWxkSWQsIHJ1bGVJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2F1dG8tbW9kZXJhdGlvbi9ydWxlcy8ke3J1bGVJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIHJ1bGVzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2F1dG8tbW9kZXJhdGlvbi9ydWxlc2BcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjaGFubmVsczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vY2hhbm5lbHNgXG4gICAgICB9LFxuICAgICAgZW1vamk6IChndWlsZElkLCBlbW9qaUlkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2Vtb2ppcy8ke2Vtb2ppSWR9YFxuICAgICAgfSxcbiAgICAgIGVtb2ppczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vZW1vamlzYFxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBldmVudHM6IChndWlsZElkLCB3aXRoVXNlckNvdW50PzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3NjaGVkdWxlZC1ldmVudHM/YFxuXG4gICAgICAgICAgaWYgKHdpdGhVc2VyQ291bnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdXJsICs9IGB3aXRoX3VzZXJfY291bnQ9JHt3aXRoVXNlckNvdW50LnRvU3RyaW5nKCl9YFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIGV2ZW50OiAoZ3VpbGRJZCwgZXZlbnRJZCwgd2l0aFVzZXJDb3VudD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9zY2hlZHVsZWQtZXZlbnRzLyR7ZXZlbnRJZH1gXG5cbiAgICAgICAgICBpZiAod2l0aFVzZXJDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYHdpdGhfdXNlcl9jb3VudD0ke3dpdGhVc2VyQ291bnQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICB1c2VyczogKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnM/OiBHZXRTY2hlZHVsZWRFdmVudFVzZXJzKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc2NoZWR1bGVkLWV2ZW50cy8ke2V2ZW50SWR9L3VzZXJzP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgICB1cmwgKz0gYCZ3aXRoX21lbWJlcj0ke29wdGlvbnMud2l0aE1lbWJlci50b1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBndWlsZChndWlsZElkLCB3aXRoQ291bnRzKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9P2BcblxuICAgICAgICBpZiAod2l0aENvdW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdXJsICs9IGB3aXRoX2NvdW50cz0ke3dpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgaW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCkge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbnRlZ3JhdGlvbnMvJHtpbnRlZ3JhdGlvbklkfWBcbiAgICAgIH0sXG4gICAgICBpbnRlZ3JhdGlvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludGVncmF0aW9ucz9pbmNsdWRlX2FwcGxpY2F0aW9ucz10cnVlYFxuICAgICAgfSxcbiAgICAgIGludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2ludml0ZXMvJHtpbnZpdGVDb2RlfT9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ291bnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF9jb3VudHM9JHtvcHRpb25zLndpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhFeHBpcmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHVybCArPSBgJndpdGhfZXhwaXJhdGlvbj0ke29wdGlvbnMud2l0aEV4cGlyYXRpb24udG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLnNjaGVkdWxlZEV2ZW50SWQpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIHVybCArPSBgJmd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD0ke29wdGlvbnMuc2NoZWR1bGVkRXZlbnRJZH1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGludml0ZXM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludml0ZXNgXG4gICAgICB9LFxuICAgICAgbGVhdmU6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3VzZXJzL0BtZS9ndWlsZHMvJHtndWlsZElkfWBcbiAgICAgIH0sXG4gICAgICBtZW1iZXJzOiB7XG4gICAgICAgIGJhbjogKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnMvJHt1c2VySWR9YFxuICAgICAgICB9LFxuICAgICAgICBiYW5zOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgYm90OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnMvQG1lYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXI6IChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzLyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudE1lbWJlcjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC91c2Vycy9AbWUvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVyYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiAoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzL3NlYXJjaD9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeSl9YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcnVuZTogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9wcnVuZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGF5cykgdXJsICs9IGBkYXlzPSR7b3B0aW9ucy5kYXlzfWBcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMuaW5jbHVkZVJvbGVzKSkge1xuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlcy5qb2luKCcsJyl9YFxuICAgICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLmluY2x1ZGVSb2xlcykge1xuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlc31gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1mYTogKGd1aWxkSWQpID0+IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vbWZhYCxcbiAgICAgIHByZXZpZXc6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3ByZXZpZXdgXG4gICAgICB9LFxuICAgICAgcHJ1bmU6IChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3BydW5lP2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgICBpZiAob3B0aW9ucy5kYXlzKSB1cmwgKz0gYGRheXM9JHtvcHRpb25zLmRheXN9YFxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMuaW5jbHVkZVJvbGVzKSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgdXJsICs9IGAmaW5jbHVkZV9yb2xlcz0ke29wdGlvbnMuaW5jbHVkZVJvbGVzLmpvaW4oJywnKX1gXG4gICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLmluY2x1ZGVSb2xlcykge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgdXJsICs9IGAmaW5jbHVkZV9yb2xlcz0ke29wdGlvbnMuaW5jbHVkZVJvbGVzfWBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgcm9sZXM6IHtcbiAgICAgICAgb25lOiAoZ3VpbGRJZCwgcm9sZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcm9sZXMvJHtyb2xlSWR9YFxuICAgICAgICB9LFxuICAgICAgICBhbGw6IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcm9sZXNgXG4gICAgICAgIH0sXG4gICAgICAgIG1lbWJlcjogKGd1aWxkSWQsIG1lbWJlcklkLCByb2xlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzLyR7bWVtYmVySWR9L3JvbGVzLyR7cm9sZUlkfWBcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzdGlja2VyczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc3RpY2tlcnNgXG4gICAgICB9LFxuICAgICAgc3RpY2tlcjogKGd1aWxkSWQsIHN0aWNrZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgICB9LFxuICAgICAgdm9pY2U6IChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vdm9pY2Utc3RhdGVzLyR7dXNlcklkID8/ICdAbWUnfWBcbiAgICAgIH0sXG4gICAgICB0ZW1wbGF0ZXM6IHtcbiAgICAgICAgY29kZTogKGNvZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvdGVtcGxhdGVzLyR7Y29kZX1gXG4gICAgICAgIH0sXG4gICAgICAgIGd1aWxkOiAoZ3VpbGRJZCwgY29kZSkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RlbXBsYXRlcy8ke2NvZGV9YFxuICAgICAgICB9LFxuICAgICAgICBhbGw6IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vdGVtcGxhdGVzYFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHZhbml0eTogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vdmFuaXR5LXVybGBcbiAgICAgIH0sXG4gICAgICByZWdpb25zOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9yZWdpb25zYFxuICAgICAgfSxcbiAgICAgIHdlYmhvb2tzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS93ZWJob29rc2BcbiAgICAgIH0sXG4gICAgICB3ZWxjb21lOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS93ZWxjb21lLXNjcmVlbmBcbiAgICAgIH0sXG4gICAgICB3aWRnZXQ6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3dpZGdldGBcbiAgICAgIH0sXG4gICAgICB3aWRnZXRKc29uOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQuanNvbmBcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIHN0aWNrZXI6IChzdGlja2VySWQpID0+IHtcbiAgICAgIHJldHVybiBgL3N0aWNrZXJzLyR7c3RpY2tlcklkfWBcbiAgICB9LFxuXG4gICAgcmVnaW9uczogKCkgPT4ge1xuICAgICAgcmV0dXJuICcvdm9pY2UvcmVnaW9ucydcbiAgICB9LFxuXG4gICAgLy8gSW50ZXJhY3Rpb24gRW5kcG9pbnRzXG4gICAgaW50ZXJhY3Rpb25zOiB7XG4gICAgICBjb21tYW5kczoge1xuICAgICAgICAvLyBBcHBsaWNhdGlvbiBFbmRwb2ludHNcbiAgICAgICAgY29tbWFuZHM6IChhcHBsaWNhdGlvbklkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vY29tbWFuZHNgXG4gICAgICAgIH0sXG5cbiAgICAgICAgZ3VpbGRzOiB7XG4gICAgICAgICAgYWxsKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzYFxuICAgICAgICAgIH0sXG5cbiAgICAgICAgICBvbmUoYXBwbGljYXRpb25JZCwgZ3VpbGRJZCwgY29tbWFuZElkLCB3aXRoTG9jYWxpemF0aW9ucykge1xuICAgICAgICAgICAgbGV0IHVybCA9IGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vZ3VpbGRzLyR7Z3VpbGRJZH0vY29tbWFuZHMvJHtjb21tYW5kSWR9P2BcblxuICAgICAgICAgICAgaWYgKHdpdGhMb2NhbGl6YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgdXJsICs9IGB3aXRoX2xvY2FsaXphdGlvbnM9JHt3aXRoTG9jYWxpemF0aW9ucy50b1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcm1pc3Npb25zOiAoYXBwbGljYXRpb25JZCwgZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzL3Blcm1pc3Npb25zYFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uOiAoYXBwbGljYXRpb25JZCwgZ3VpbGRJZCwgY29tbWFuZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vZ3VpbGRzLyR7Z3VpbGRJZH0vY29tbWFuZHMvJHtjb21tYW5kSWR9L3Blcm1pc3Npb25zYFxuICAgICAgICB9LFxuICAgICAgICBjb21tYW5kOiAoYXBwbGljYXRpb25JZCwgY29tbWFuZElkLCB3aXRoTG9jYWxpemF0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfT9gXG5cbiAgICAgICAgICBpZiAod2l0aExvY2FsaXphdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdXJsICs9IGB3aXRoTG9jYWxpemF0aW9ucz0ke3dpdGhMb2NhbGl6YXRpb25zLnRvU3RyaW5nKCl9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG5cbiAgICAgIHJlc3BvbnNlczoge1xuICAgICAgICAvLyBJbnRlcmFjdGlvbiBFbmRwb2ludHNcbiAgICAgICAgY2FsbGJhY2s6IChpbnRlcmFjdGlvbklkLCB0b2tlbikgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2ludGVyYWN0aW9ucy8ke2ludGVyYWN0aW9uSWR9LyR7dG9rZW59L2NhbGxiYWNrYFxuICAgICAgICB9LFxuICAgICAgICBvcmlnaW5hbDogKGludGVyYWN0aW9uSWQsIHRva2VuKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy9Ab3JpZ2luYWxgXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChhcHBsaWNhdGlvbklkLCB0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHthcHBsaWNhdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBPQXV0aDIgZW5kcG9pbnRzXG4gICAgb2F1dGgyOiB7XG4gICAgICB0b2tlbkV4Y2hhbmdlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi90b2tlbidcbiAgICAgIH0sXG4gICAgICB0b2tlblJldm9rZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9vYXV0aDIvdG9rZW4vcmV2b2tlJ1xuICAgICAgfSxcbiAgICAgIGN1cnJlbnRBdXRob3JpemF0aW9uOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi9AbWUnXG4gICAgICB9LFxuICAgICAgYXBwbGljYXRpb246ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvb2F1dGgyL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgICB9LFxuICAgICAgY29ubmVjdGlvbnM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zJ1xuICAgICAgfSxcbiAgICAgIHJvbGVDb25uZWN0aW9uczogKGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvdXNlcnMvQG1lL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L3JvbGUtY29ubmVjdGlvbmBcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIFVzZXIgZW5kcG9pbnRzXG4gICAgdXNlcih1c2VySWQpIHtcbiAgICAgIHJldHVybiBgL3VzZXJzLyR7dXNlcklkfWBcbiAgICB9LFxuXG4gICAgY3VycmVudFVzZXIoKSB7XG4gICAgICByZXR1cm4gJy91c2Vycy9AbWUnXG4gICAgfSxcblxuICAgIGdhdGV3YXlCb3QoKSB7XG4gICAgICByZXR1cm4gJy9nYXRld2F5L2JvdCdcbiAgICB9LFxuXG4gICAgbml0cm9TdGlja2VyUGFja3MoKSB7XG4gICAgICByZXR1cm4gJy9zdGlja2VyLXBhY2tzJ1xuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSb3V0ZXMiLCJ3ZWJob29rcyIsImlkIiwid2ViaG9va0lkIiwibWVzc2FnZSIsInRva2VuIiwibWVzc2FnZUlkIiwib3B0aW9ucyIsInVybCIsInRocmVhZElkIiwib3JpZ2luYWwiLCJ3ZWJob29rIiwid2FpdCIsInVuZGVmaW5lZCIsInRvU3RyaW5nIiwiY2hhbm5lbHMiLCJidWxrIiwiY2hhbm5lbElkIiwiZG0iLCJkbVJlY2lwaWVudCIsInVzZXJJZCIsInBpbiIsInBpbnMiLCJyZWFjdGlvbnMiLCJib3QiLCJlbW9qaSIsImVuY29kZVVSSUNvbXBvbmVudCIsInVzZXIiLCJhbGwiLCJhZnRlciIsImxpbWl0IiwiY2hhbm5lbCIsImZvbGxvdyIsImZvcnVtIiwiaW52aXRlcyIsIm1lc3NhZ2VzIiwiaXNHZXRNZXNzYWdlc0FmdGVyIiwiaXNHZXRNZXNzYWdlc0JlZm9yZSIsImJlZm9yZSIsImlzR2V0TWVzc2FnZXNBcm91bmQiLCJhcm91bmQiLCJpc0dldE1lc3NhZ2VzTGltaXQiLCJvdmVyd3JpdGUiLCJvdmVyd3JpdGVJZCIsImNyb3NzcG9zdCIsInN0YWdlcyIsInN0YWdlIiwidGhyZWFkcyIsImFjdGl2ZSIsImd1aWxkSWQiLCJtZW1iZXJzIiwibWUiLCJhcmNoaXZlZCIsInB1YmxpYyIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInByaXZhdGUiLCJqb2luZWQiLCJ0eXBpbmciLCJndWlsZHMiLCJ1c2VyR3VpbGRzIiwid2l0aENvdW50cyIsImF1ZGl0bG9ncyIsImFjdGlvblR5cGUiLCJhdXRvbW9kIiwicnVsZSIsInJ1bGVJZCIsInJ1bGVzIiwiZW1vamlJZCIsImVtb2ppcyIsImV2ZW50cyIsIndpdGhVc2VyQ291bnQiLCJldmVudCIsImV2ZW50SWQiLCJ1c2VycyIsIndpdGhNZW1iZXIiLCJndWlsZCIsImludGVncmF0aW9uIiwiaW50ZWdyYXRpb25JZCIsImludGVncmF0aW9ucyIsImludml0ZSIsImludml0ZUNvZGUiLCJ3aXRoRXhwaXJhdGlvbiIsInNjaGVkdWxlZEV2ZW50SWQiLCJsZWF2ZSIsImJhbiIsImJhbnMiLCJtZW1iZXIiLCJjdXJyZW50TWVtYmVyIiwic2VhcmNoIiwicXVlcnkiLCJwcnVuZSIsImRheXMiLCJBcnJheSIsImlzQXJyYXkiLCJpbmNsdWRlUm9sZXMiLCJqb2luIiwibWZhIiwicHJldmlldyIsInJvbGVzIiwib25lIiwicm9sZUlkIiwibWVtYmVySWQiLCJzdGlja2VycyIsInN0aWNrZXIiLCJzdGlja2VySWQiLCJ2b2ljZSIsInRlbXBsYXRlcyIsImNvZGUiLCJ2YW5pdHkiLCJyZWdpb25zIiwid2VsY29tZSIsIndpZGdldCIsIndpZGdldEpzb24iLCJpbnRlcmFjdGlvbnMiLCJjb21tYW5kcyIsImFwcGxpY2F0aW9uSWQiLCJjb21tYW5kSWQiLCJ3aXRoTG9jYWxpemF0aW9ucyIsInBlcm1pc3Npb25zIiwicGVybWlzc2lvbiIsImNvbW1hbmQiLCJyZXNwb25zZXMiLCJjYWxsYmFjayIsImludGVyYWN0aW9uSWQiLCJvYXV0aDIiLCJ0b2tlbkV4Y2hhbmdlIiwidG9rZW5SZXZva2UiLCJjdXJyZW50QXV0aG9yaXphdGlvbiIsImFwcGxpY2F0aW9uIiwiY29ubmVjdGlvbnMiLCJyb2xlQ29ubmVjdGlvbnMiLCJjdXJyZW50VXNlciIsImdhdGV3YXlCb3QiLCJuaXRyb1N0aWNrZXJQYWNrcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFJZ0JBOzthQUFBQTs7dUJBSGlGO0FBRzFGLFNBQVNBLGVBQTJCO0lBQ3pDLE9BQU87UUFDTEMsVUFBVTtZQUNSQyxJQUFJLENBQUNDLFlBQWM7Z0JBQ2pCLE9BQU8sQ0FBQyxVQUFVLEVBQUVBLFVBQVUsQ0FBQztZQUNqQztZQUNBQyxTQUFTLENBQUNELFdBQVdFLE9BQU9DLFdBQVdDLFVBQVk7Z0JBQ2pELElBQUlDLE1BQU0sQ0FBQyxVQUFVLEVBQUVMLFVB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
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9