@jubbio/core 1.3.1 → 1.3.3

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 (121) hide show
  1. package/dist/cjs/Client.d.ts +157 -0
  2. package/dist/cjs/Client.js +640 -0
  3. package/dist/cjs/builders/ActionRowBuilder.d.ts +53 -0
  4. package/dist/cjs/builders/ActionRowBuilder.js +68 -0
  5. package/dist/cjs/builders/ButtonBuilder.d.ts +77 -0
  6. package/dist/cjs/builders/ButtonBuilder.js +96 -0
  7. package/dist/cjs/builders/EmbedBuilder.d.ts +157 -0
  8. package/dist/cjs/builders/EmbedBuilder.js +208 -0
  9. package/dist/cjs/builders/ModalBuilder.d.ts +122 -0
  10. package/dist/cjs/builders/ModalBuilder.js +162 -0
  11. package/dist/cjs/builders/SelectMenuBuilder.d.ts +123 -0
  12. package/dist/cjs/builders/SelectMenuBuilder.js +165 -0
  13. package/dist/cjs/builders/SlashCommandBuilder.d.ts +197 -0
  14. package/dist/cjs/builders/SlashCommandBuilder.js +324 -0
  15. package/dist/cjs/builders/index.d.ts +9 -0
  16. package/dist/cjs/builders/index.js +26 -0
  17. package/dist/cjs/enums.d.ts +191 -0
  18. package/dist/cjs/enums.js +211 -0
  19. package/dist/cjs/index.d.ts +25 -0
  20. package/dist/cjs/index.js +130 -0
  21. package/dist/cjs/managers/BaseManager.d.ts +69 -0
  22. package/dist/cjs/managers/BaseManager.js +106 -0
  23. package/dist/cjs/managers/ChannelManager.d.ts +95 -0
  24. package/dist/cjs/managers/ChannelManager.js +205 -0
  25. package/dist/cjs/managers/GuildMemberManager.d.ts +74 -0
  26. package/dist/cjs/managers/GuildMemberManager.js +157 -0
  27. package/dist/cjs/managers/RoleManager.d.ts +84 -0
  28. package/dist/cjs/managers/RoleManager.js +207 -0
  29. package/dist/cjs/managers/index.d.ts +7 -0
  30. package/dist/cjs/managers/index.js +24 -0
  31. package/dist/cjs/rest/REST.d.ts +527 -0
  32. package/dist/cjs/rest/REST.js +904 -0
  33. package/dist/cjs/rest/index.d.ts +1 -0
  34. package/dist/cjs/rest/index.js +18 -0
  35. package/dist/cjs/sharding/ShardingManager.d.ts +179 -0
  36. package/dist/cjs/sharding/ShardingManager.js +375 -0
  37. package/dist/cjs/sharding/index.d.ts +4 -0
  38. package/dist/cjs/sharding/index.js +21 -0
  39. package/dist/cjs/structures/Channel.d.ts +122 -0
  40. package/dist/cjs/structures/Channel.js +240 -0
  41. package/dist/cjs/structures/Collection.d.ts +53 -0
  42. package/dist/cjs/structures/Collection.js +115 -0
  43. package/dist/cjs/structures/Guild.d.ts +59 -0
  44. package/dist/cjs/structures/Guild.js +94 -0
  45. package/dist/cjs/structures/GuildMember.d.ts +174 -0
  46. package/dist/cjs/structures/GuildMember.js +311 -0
  47. package/dist/cjs/structures/Interaction.d.ts +245 -0
  48. package/dist/cjs/structures/Interaction.js +450 -0
  49. package/dist/cjs/structures/Message.d.ts +98 -0
  50. package/dist/cjs/structures/Message.js +195 -0
  51. package/dist/cjs/structures/User.d.ts +37 -0
  52. package/dist/cjs/structures/User.js +65 -0
  53. package/dist/cjs/structures/index.d.ts +7 -0
  54. package/dist/cjs/structures/index.js +25 -0
  55. package/dist/cjs/structures.d.ts +1 -0
  56. package/dist/cjs/structures.js +19 -0
  57. package/dist/cjs/types.d.ts +255 -0
  58. package/dist/cjs/types.js +3 -0
  59. package/dist/cjs/utils/BitField.d.ts +66 -0
  60. package/dist/cjs/utils/BitField.js +138 -0
  61. package/dist/cjs/utils/Collection.d.ts +116 -0
  62. package/dist/cjs/utils/Collection.js +265 -0
  63. package/dist/cjs/utils/Collector.d.ts +152 -0
  64. package/dist/cjs/utils/Collector.js +314 -0
  65. package/dist/cjs/utils/DataResolver.d.ts +61 -0
  66. package/dist/cjs/utils/DataResolver.js +146 -0
  67. package/dist/cjs/utils/Formatters.d.ts +145 -0
  68. package/dist/cjs/utils/Formatters.js +213 -0
  69. package/dist/cjs/utils/IntentsBitField.d.ts +85 -0
  70. package/dist/cjs/utils/IntentsBitField.js +99 -0
  71. package/dist/cjs/utils/Partials.d.ts +104 -0
  72. package/dist/cjs/utils/Partials.js +148 -0
  73. package/dist/cjs/utils/PermissionsBitField.d.ts +118 -0
  74. package/dist/cjs/utils/PermissionsBitField.js +145 -0
  75. package/dist/cjs/utils/SnowflakeUtil.d.ts +63 -0
  76. package/dist/cjs/utils/SnowflakeUtil.js +93 -0
  77. package/dist/cjs/utils/Sweepers.d.ts +119 -0
  78. package/dist/cjs/utils/Sweepers.js +249 -0
  79. package/dist/cjs/utils/index.d.ts +13 -0
  80. package/dist/cjs/utils/index.js +30 -0
  81. package/dist/esm/Client.js +634 -0
  82. package/dist/esm/builders/ActionRowBuilder.js +64 -0
  83. package/dist/esm/builders/ButtonBuilder.js +92 -0
  84. package/dist/esm/builders/EmbedBuilder.js +204 -0
  85. package/dist/esm/builders/ModalBuilder.js +157 -0
  86. package/dist/esm/builders/SelectMenuBuilder.js +161 -0
  87. package/dist/esm/builders/SlashCommandBuilder.js +311 -0
  88. package/dist/esm/builders/index.js +10 -0
  89. package/dist/esm/enums.js +208 -0
  90. package/dist/esm/index.js +34 -0
  91. package/dist/esm/managers/BaseManager.js +100 -0
  92. package/dist/esm/managers/ChannelManager.js +200 -0
  93. package/dist/esm/managers/GuildMemberManager.js +153 -0
  94. package/dist/esm/managers/RoleManager.js +203 -0
  95. package/dist/esm/managers/index.js +8 -0
  96. package/dist/esm/rest/REST.js +900 -0
  97. package/dist/esm/rest/index.js +2 -0
  98. package/dist/esm/sharding/ShardingManager.js +366 -0
  99. package/dist/esm/sharding/index.js +5 -0
  100. package/dist/esm/structures/Channel.js +232 -0
  101. package/dist/esm/structures/Collection.js +111 -0
  102. package/dist/esm/structures/Guild.js +90 -0
  103. package/dist/esm/structures/GuildMember.js +306 -0
  104. package/dist/esm/structures/Interaction.js +438 -0
  105. package/dist/esm/structures/Message.js +191 -0
  106. package/dist/esm/structures/User.js +61 -0
  107. package/dist/esm/structures/index.js +9 -0
  108. package/dist/esm/structures.js +3 -0
  109. package/dist/esm/types.js +2 -0
  110. package/dist/esm/utils/BitField.js +134 -0
  111. package/dist/esm/utils/Collection.js +261 -0
  112. package/dist/esm/utils/Collector.js +305 -0
  113. package/dist/esm/utils/DataResolver.js +142 -0
  114. package/dist/esm/utils/Formatters.js +191 -0
  115. package/dist/esm/utils/IntentsBitField.js +93 -0
  116. package/dist/esm/utils/Partials.js +137 -0
  117. package/dist/esm/utils/PermissionsBitField.js +141 -0
  118. package/dist/esm/utils/SnowflakeUtil.js +89 -0
  119. package/dist/esm/utils/Sweepers.js +245 -0
  120. package/dist/esm/utils/index.js +14 -0
  121. package/package.json +14 -4
@@ -0,0 +1,161 @@
1
+ /**
2
+ * SelectMenuBuilder for creating select menus
3
+ */
4
+ /**
5
+ * A builder for creating string select menus
6
+ */
7
+ export class StringSelectMenuBuilder {
8
+ data;
9
+ constructor(data = {}) {
10
+ this.data = { type: 3, ...data };
11
+ if (!this.data.options)
12
+ this.data.options = [];
13
+ }
14
+ /**
15
+ * Sets the custom ID of this select menu
16
+ * @param customId The custom ID
17
+ */
18
+ setCustomId(customId) {
19
+ this.data.custom_id = customId;
20
+ return this;
21
+ }
22
+ /**
23
+ * Sets the placeholder of this select menu
24
+ * @param placeholder The placeholder
25
+ */
26
+ setPlaceholder(placeholder) {
27
+ this.data.placeholder = placeholder;
28
+ return this;
29
+ }
30
+ /**
31
+ * Sets the minimum values of this select menu
32
+ * @param minValues The minimum values
33
+ */
34
+ setMinValues(minValues) {
35
+ this.data.min_values = minValues;
36
+ return this;
37
+ }
38
+ /**
39
+ * Sets the maximum values of this select menu
40
+ * @param maxValues The maximum values
41
+ */
42
+ setMaxValues(maxValues) {
43
+ this.data.max_values = maxValues;
44
+ return this;
45
+ }
46
+ /**
47
+ * Sets whether this select menu is disabled
48
+ * @param disabled Whether the select menu is disabled
49
+ */
50
+ setDisabled(disabled = true) {
51
+ this.data.disabled = disabled;
52
+ return this;
53
+ }
54
+ /**
55
+ * Adds options to this select menu
56
+ * @param options The options to add
57
+ */
58
+ addOptions(...options) {
59
+ if (!this.data.options)
60
+ this.data.options = [];
61
+ this.data.options.push(...options);
62
+ return this;
63
+ }
64
+ /**
65
+ * Sets the options of this select menu
66
+ * @param options The options to set
67
+ */
68
+ setOptions(...options) {
69
+ this.data.options = options;
70
+ return this;
71
+ }
72
+ /**
73
+ * Removes, replaces, or inserts options
74
+ * @param index The index to start at
75
+ * @param deleteCount The number of options to remove
76
+ * @param options The options to insert
77
+ */
78
+ spliceOptions(index, deleteCount, ...options) {
79
+ if (!this.data.options)
80
+ this.data.options = [];
81
+ this.data.options.splice(index, deleteCount, ...options);
82
+ return this;
83
+ }
84
+ /**
85
+ * Returns the JSON representation of this select menu
86
+ */
87
+ toJSON() {
88
+ return { ...this.data };
89
+ }
90
+ /**
91
+ * Creates a new select menu builder from existing data
92
+ * @param other The select menu data to copy
93
+ */
94
+ static from(other) {
95
+ return new StringSelectMenuBuilder(other instanceof StringSelectMenuBuilder ? other.data : other);
96
+ }
97
+ }
98
+ /**
99
+ * A builder for creating select menu options
100
+ */
101
+ export class StringSelectMenuOptionBuilder {
102
+ data;
103
+ constructor(data = {}) {
104
+ this.data = { ...data };
105
+ }
106
+ /**
107
+ * Sets the label of this option
108
+ * @param label The label
109
+ */
110
+ setLabel(label) {
111
+ this.data.label = label;
112
+ return this;
113
+ }
114
+ /**
115
+ * Sets the value of this option
116
+ * @param value The value
117
+ */
118
+ setValue(value) {
119
+ this.data.value = value;
120
+ return this;
121
+ }
122
+ /**
123
+ * Sets the description of this option
124
+ * @param description The description
125
+ */
126
+ setDescription(description) {
127
+ this.data.description = description;
128
+ return this;
129
+ }
130
+ /**
131
+ * Sets the emoji of this option
132
+ * @param emoji The emoji
133
+ */
134
+ setEmoji(emoji) {
135
+ if (typeof emoji === 'string') {
136
+ this.data.emoji = { name: emoji };
137
+ }
138
+ else {
139
+ this.data.emoji = emoji;
140
+ }
141
+ return this;
142
+ }
143
+ /**
144
+ * Sets whether this option is the default
145
+ * @param isDefault Whether this option is the default
146
+ */
147
+ setDefault(isDefault = true) {
148
+ this.data.default = isDefault;
149
+ return this;
150
+ }
151
+ /**
152
+ * Returns the JSON representation of this option
153
+ */
154
+ toJSON() {
155
+ return { ...this.data };
156
+ }
157
+ }
158
+ // Alias for DJS compatibility
159
+ export { StringSelectMenuBuilder as SelectMenuBuilder };
160
+ export default StringSelectMenuBuilder;
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0TWVudUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvU2VsZWN0TWVudUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFvQkg7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xCLElBQUksQ0FBa0M7SUFFdEQsWUFBWSxPQUF3QyxFQUFFO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxR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Q0Y7QUFFRCw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLHVCQUF1QixJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFFeEQsZUFBZSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2VsZWN0TWVudUJ1aWxkZXIgZm9yIGNyZWF0aW5nIHNlbGVjdCBtZW51c1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJU2VsZWN0TWVudU9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBlbW9qaT86IHsgaWQ/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGFuaW1hdGVkPzogYm9vbGVhbiB9O1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUElTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgdHlwZTogMztcbiAgY3VzdG9tX2lkOiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBBUElTZWxlY3RNZW51T3B0aW9uW107XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBtaW5fdmFsdWVzPzogbnVtYmVyO1xuICBtYXhfdmFsdWVzPzogbnVtYmVyO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBidWlsZGVyIGZvciBjcmVhdGluZyBzdHJpbmcgc2VsZWN0IG1lbnVzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdTZWxlY3RNZW51QnVpbGRlciB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhOiBQYXJ0aWFsPEFQSVNlbGVjdE1lbnVDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8QVBJU2VsZWN0TWVudUNvbXBvbmVudD4gPSB7fSkge1xuICAgIHRoaXMuZGF0YSA9IHsgdHlwZTogMywgLi4uZGF0YSB9O1xuICAgIGlmICghdGhpcy5kYXRhLm9wdGlvbnMpIHRoaXMuZGF0YS5vcHRpb25zID0gW107XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VzdG9tIElEIG9mIHRoaXMgc2VsZWN0IG1lbnVcbiAgICogQHBhcmFtIGN1c3RvbUlkIFRoZSBjdXN0b20gSURcbiAgICovXG4gIHNldEN1c3RvbUlkKGN1c3RvbUlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuY3VzdG9tX2lkID0gY3VzdG9tSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxhY2Vob2xkZXIgb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXIgVGhlIHBsYWNlaG9sZGVyXG4gICAqL1xuICBzZXRQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB2YWx1ZXMgb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gbWluVmFsdWVzIFRoZSBtaW5pbXVtIHZhbHVlc1xuICAgKi9cbiAgc2V0TWluVmFsdWVzKG1pblZhbHVlczogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm1pbl92YWx1ZXMgPSBtaW5WYWx1ZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB2YWx1ZXMgb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gbWF4VmFsdWVzIFRoZSBtYXhpbXVtIHZhbHVlc1xuICAgKi9cbiAgc2V0TWF4VmFsdWVzKG1heFZhbHVlczogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm1heF92YWx1ZXMgPSBtYXhWYWx1ZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoaXMgc2VsZWN0IG1lbnUgaXMgZGlzYWJsZWRcbiAgICogQHBhcmFtIGRpc2FibGVkIFdoZXRoZXIgdGhlIHNlbGVjdCBtZW51IGlzIGRpc2FibGVkXG4gICAqL1xuICBzZXREaXNhYmxlZChkaXNhYmxlZCA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG9wdGlvbnMgdG8gdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBhZGRcbiAgICovXG4gIGFkZE9wdGlvbnMoLi4ub3B0aW9uczogQVBJU2VsZWN0TWVudU9wdGlvbltdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEub3B0aW9ucykgdGhpcy5kYXRhLm9wdGlvbnMgPSBbXTtcbiAgICB0aGlzLmRhdGEub3B0aW9ucy5wdXNoKC4uLm9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG9wdGlvbnMgb2YgdGhpcyBzZWxlY3QgbWVudVxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBzZXRcbiAgICovXG4gIHNldE9wdGlvbnMoLi4ub3B0aW9uczogQVBJU2VsZWN0TWVudU9wdGlvbltdKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMsIHJlcGxhY2VzLCBvciBpbnNlcnRzIG9wdGlvbnNcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCB0byBzdGFydCBhdFxuICAgKiBAcGFyYW0gZGVsZXRlQ291bnQgVGhlIG51bWJlciBvZiBvcHRpb25zIHRvIHJlbW92ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBpbnNlcnRcbiAgICovXG4gIHNwbGljZU9wdGlvbnMoaW5kZXg6IG51bWJlciwgZGVsZXRlQ291bnQ6IG51bWJlciwgLi4ub3B0aW9uczogQVBJU2VsZWN0TWVudU9wdGlvbltdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEub3B0aW9ucykgdGhpcy5kYXRhLm9wdGlvbnMgPSBbXTtcbiAgICB0aGlzLmRhdGEub3B0aW9ucy5zcGxpY2UoaW5kZXgsIGRlbGV0ZUNvdW50LCAuLi5vcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgc2VsZWN0IG1lbnVcbiAgICovXG4gIHRvSlNPTigpOiBBUElTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgICByZXR1cm4geyAuLi50aGlzLmRhdGEgfSBhcyBBUElTZWxlY3RNZW51Q29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgc2VsZWN0IG1lbnUgYnVpbGRlciBmcm9tIGV4aXN0aW5nIGRhdGFcbiAgICogQHBhcmFtIG90aGVyIFRoZSBzZWxlY3QgbWVudSBkYXRhIHRvIGNvcHlcbiAgICovXG4gIHN0YXRpYyBmcm9tKG90aGVyOiBQYXJ0aWFsPEFQSVNlbGVjdE1lbnVDb21wb25lbnQ+IHwgU3RyaW5nU2VsZWN0TWVudUJ1aWxkZXIpOiBTdHJpbmdTZWxlY3RNZW51QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBTdHJpbmdTZWxlY3RNZW51QnVpbGRlcihvdGhlciBpbnN0YW5jZW9mIFN0cmluZ1NlbGVjdE1lbnVCdWlsZGVyID8gb3RoZXIuZGF0YSA6IG90aGVyKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgYnVpbGRlciBmb3IgY3JlYXRpbmcgc2VsZWN0IG1lbnUgb3B0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nU2VsZWN0TWVudU9wdGlvbkJ1aWxkZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YTogUGFydGlhbDxBUElTZWxlY3RNZW51T3B0aW9uPjtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPEFQSVNlbGVjdE1lbnVPcHRpb24+ID0ge30pIHtcbiAgICB0aGlzLmRhdGEgPSB7IC4uLmRhdGEgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsYWJlbCBvZiB0aGlzIG9wdGlvblxuICAgKiBAcGFyYW0gbGFiZWwgVGhlIGxhYmVsXG4gICAqL1xuICBzZXRMYWJlbChsYWJlbDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLmxhYmVsID0gbGFiZWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhpcyBvcHRpb25cbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZVxuICAgKi9cbiAgc2V0VmFsdWUodmFsdWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS52YWx1ZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgb3B0aW9uXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBUaGUgZGVzY3JpcHRpb25cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBlbW9qaSBvZiB0aGlzIG9wdGlvblxuICAgKiBAcGFyYW0gZW1vamkgVGhlIGVtb2ppXG4gICAqL1xuICBzZXRFbW9qaShlbW9qaTogeyBpZD86IHN0cmluZzsgbmFtZT86IHN0cmluZzsgYW5pbWF0ZWQ/OiBib29sZWFuIH0gfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGVtb2ppID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5kYXRhLmVtb2ppID0geyBuYW1lOiBlbW9qaSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGEuZW1vamkgPSBlbW9qaTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoaXMgb3B0aW9uIGlzIHRoZSBkZWZhdWx0XG4gICAqIEBwYXJhbSBpc0RlZmF1bHQgV2hldGhlciB0aGlzIG9wdGlvbiBpcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgc2V0RGVmYXVsdChpc0RlZmF1bHQgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLmRlZmF1bHQgPSBpc0RlZmF1bHQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIG9wdGlvblxuICAgKi9cbiAgdG9KU09OKCk6IEFQSVNlbGVjdE1lbnVPcHRpb24ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuZGF0YSB9IGFzIEFQSVNlbGVjdE1lbnVPcHRpb247XG4gIH1cbn1cblxuLy8gQWxpYXMgZm9yIERKUyBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBTdHJpbmdTZWxlY3RNZW51QnVpbGRlciBhcyBTZWxlY3RNZW51QnVpbGRlciB9O1xuXG5leHBvcnQgZGVmYXVsdCBTdHJpbmdTZWxlY3RNZW51QnVpbGRlcjtcbiJdfQ==
@@ -0,0 +1,311 @@
1
+ /**
2
+ * SlashCommandBuilder for creating slash commands
3
+ */
4
+ /**
5
+ * Application command option types
6
+ */
7
+ export var ApplicationCommandOptionType;
8
+ (function (ApplicationCommandOptionType) {
9
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Subcommand"] = 1] = "Subcommand";
10
+ ApplicationCommandOptionType[ApplicationCommandOptionType["SubcommandGroup"] = 2] = "SubcommandGroup";
11
+ ApplicationCommandOptionType[ApplicationCommandOptionType["String"] = 3] = "String";
12
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Integer"] = 4] = "Integer";
13
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Boolean"] = 5] = "Boolean";
14
+ ApplicationCommandOptionType[ApplicationCommandOptionType["User"] = 6] = "User";
15
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Channel"] = 7] = "Channel";
16
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Role"] = 8] = "Role";
17
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Mentionable"] = 9] = "Mentionable";
18
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Number"] = 10] = "Number";
19
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Attachment"] = 11] = "Attachment";
20
+ })(ApplicationCommandOptionType || (ApplicationCommandOptionType = {}));
21
+ /**
22
+ * A builder for creating slash command options
23
+ */
24
+ class SlashCommandOptionBuilder {
25
+ data;
26
+ constructor(type) {
27
+ this.data = { type };
28
+ }
29
+ setName(name) {
30
+ this.data.name = name;
31
+ return this;
32
+ }
33
+ setDescription(description) {
34
+ this.data.description = description;
35
+ return this;
36
+ }
37
+ setRequired(required = true) {
38
+ this.data.required = required;
39
+ return this;
40
+ }
41
+ toJSON() {
42
+ return { ...this.data };
43
+ }
44
+ }
45
+ /**
46
+ * String option builder
47
+ */
48
+ export class SlashCommandStringOption extends SlashCommandOptionBuilder {
49
+ constructor() {
50
+ super(ApplicationCommandOptionType.String);
51
+ }
52
+ addChoices(...choices) {
53
+ if (!this.data.choices)
54
+ this.data.choices = [];
55
+ this.data.choices.push(...choices);
56
+ return this;
57
+ }
58
+ setChoices(...choices) {
59
+ this.data.choices = choices;
60
+ return this;
61
+ }
62
+ setMinLength(minLength) {
63
+ this.data.min_length = minLength;
64
+ return this;
65
+ }
66
+ setMaxLength(maxLength) {
67
+ this.data.max_length = maxLength;
68
+ return this;
69
+ }
70
+ setAutocomplete(autocomplete = true) {
71
+ this.data.autocomplete = autocomplete;
72
+ return this;
73
+ }
74
+ }
75
+ /**
76
+ * Integer option builder
77
+ */
78
+ export class SlashCommandIntegerOption extends SlashCommandOptionBuilder {
79
+ constructor() {
80
+ super(ApplicationCommandOptionType.Integer);
81
+ }
82
+ addChoices(...choices) {
83
+ if (!this.data.choices)
84
+ this.data.choices = [];
85
+ this.data.choices.push(...choices);
86
+ return this;
87
+ }
88
+ setMinValue(minValue) {
89
+ this.data.min_value = minValue;
90
+ return this;
91
+ }
92
+ setMaxValue(maxValue) {
93
+ this.data.max_value = maxValue;
94
+ return this;
95
+ }
96
+ setAutocomplete(autocomplete = true) {
97
+ this.data.autocomplete = autocomplete;
98
+ return this;
99
+ }
100
+ }
101
+ /**
102
+ * Number option builder
103
+ */
104
+ export class SlashCommandNumberOption extends SlashCommandOptionBuilder {
105
+ constructor() {
106
+ super(ApplicationCommandOptionType.Number);
107
+ }
108
+ addChoices(...choices) {
109
+ if (!this.data.choices)
110
+ this.data.choices = [];
111
+ this.data.choices.push(...choices);
112
+ return this;
113
+ }
114
+ setMinValue(minValue) {
115
+ this.data.min_value = minValue;
116
+ return this;
117
+ }
118
+ setMaxValue(maxValue) {
119
+ this.data.max_value = maxValue;
120
+ return this;
121
+ }
122
+ setAutocomplete(autocomplete = true) {
123
+ this.data.autocomplete = autocomplete;
124
+ return this;
125
+ }
126
+ }
127
+ /**
128
+ * Boolean option builder
129
+ */
130
+ export class SlashCommandBooleanOption extends SlashCommandOptionBuilder {
131
+ constructor() {
132
+ super(ApplicationCommandOptionType.Boolean);
133
+ }
134
+ }
135
+ /**
136
+ * User option builder
137
+ */
138
+ export class SlashCommandUserOption extends SlashCommandOptionBuilder {
139
+ constructor() {
140
+ super(ApplicationCommandOptionType.User);
141
+ }
142
+ }
143
+ /**
144
+ * Channel option builder
145
+ */
146
+ export class SlashCommandChannelOption extends SlashCommandOptionBuilder {
147
+ constructor() {
148
+ super(ApplicationCommandOptionType.Channel);
149
+ }
150
+ addChannelTypes(...types) {
151
+ if (!this.data.channel_types)
152
+ this.data.channel_types = [];
153
+ this.data.channel_types.push(...types);
154
+ return this;
155
+ }
156
+ }
157
+ /**
158
+ * Role option builder
159
+ */
160
+ export class SlashCommandRoleOption extends SlashCommandOptionBuilder {
161
+ constructor() {
162
+ super(ApplicationCommandOptionType.Role);
163
+ }
164
+ }
165
+ /**
166
+ * Mentionable option builder
167
+ */
168
+ export class SlashCommandMentionableOption extends SlashCommandOptionBuilder {
169
+ constructor() {
170
+ super(ApplicationCommandOptionType.Mentionable);
171
+ }
172
+ }
173
+ /**
174
+ * Attachment option builder
175
+ */
176
+ export class SlashCommandAttachmentOption extends SlashCommandOptionBuilder {
177
+ constructor() {
178
+ super(ApplicationCommandOptionType.Attachment);
179
+ }
180
+ }
181
+ /**
182
+ * A builder for creating slash commands
183
+ */
184
+ export class SlashCommandBuilder {
185
+ data;
186
+ constructor() {
187
+ this.data = { options: [] };
188
+ }
189
+ /**
190
+ * Sets the name of this command
191
+ * @param name The name
192
+ */
193
+ setName(name) {
194
+ this.data.name = name;
195
+ return this;
196
+ }
197
+ /**
198
+ * Sets the description of this command
199
+ * @param description The description
200
+ */
201
+ setDescription(description) {
202
+ this.data.description = description;
203
+ return this;
204
+ }
205
+ /**
206
+ * Sets the default member permissions required to use this command
207
+ * @param permissions The permissions
208
+ */
209
+ setDefaultMemberPermissions(permissions) {
210
+ this.data.default_member_permissions = permissions === null
211
+ ? undefined
212
+ : String(permissions);
213
+ return this;
214
+ }
215
+ /**
216
+ * Sets whether this command is available in DMs
217
+ * @param enabled Whether the command is available in DMs
218
+ */
219
+ setDMPermission(enabled) {
220
+ this.data.dm_permission = enabled;
221
+ return this;
222
+ }
223
+ /**
224
+ * Sets whether this command is NSFW
225
+ * @param nsfw Whether the command is NSFW
226
+ */
227
+ setNSFW(nsfw = true) {
228
+ this.data.nsfw = nsfw;
229
+ return this;
230
+ }
231
+ /**
232
+ * Adds a string option
233
+ */
234
+ addStringOption(fn) {
235
+ const option = fn(new SlashCommandStringOption());
236
+ this.data.options.push(option.toJSON());
237
+ return this;
238
+ }
239
+ /**
240
+ * Adds an integer option
241
+ */
242
+ addIntegerOption(fn) {
243
+ const option = fn(new SlashCommandIntegerOption());
244
+ this.data.options.push(option.toJSON());
245
+ return this;
246
+ }
247
+ /**
248
+ * Adds a number option
249
+ */
250
+ addNumberOption(fn) {
251
+ const option = fn(new SlashCommandNumberOption());
252
+ this.data.options.push(option.toJSON());
253
+ return this;
254
+ }
255
+ /**
256
+ * Adds a boolean option
257
+ */
258
+ addBooleanOption(fn) {
259
+ const option = fn(new SlashCommandBooleanOption());
260
+ this.data.options.push(option.toJSON());
261
+ return this;
262
+ }
263
+ /**
264
+ * Adds a user option
265
+ */
266
+ addUserOption(fn) {
267
+ const option = fn(new SlashCommandUserOption());
268
+ this.data.options.push(option.toJSON());
269
+ return this;
270
+ }
271
+ /**
272
+ * Adds a channel option
273
+ */
274
+ addChannelOption(fn) {
275
+ const option = fn(new SlashCommandChannelOption());
276
+ this.data.options.push(option.toJSON());
277
+ return this;
278
+ }
279
+ /**
280
+ * Adds a role option
281
+ */
282
+ addRoleOption(fn) {
283
+ const option = fn(new SlashCommandRoleOption());
284
+ this.data.options.push(option.toJSON());
285
+ return this;
286
+ }
287
+ /**
288
+ * Adds a mentionable option
289
+ */
290
+ addMentionableOption(fn) {
291
+ const option = fn(new SlashCommandMentionableOption());
292
+ this.data.options.push(option.toJSON());
293
+ return this;
294
+ }
295
+ /**
296
+ * Adds an attachment option
297
+ */
298
+ addAttachmentOption(fn) {
299
+ const option = fn(new SlashCommandAttachmentOption());
300
+ this.data.options.push(option.toJSON());
301
+ return this;
302
+ }
303
+ /**
304
+ * Returns the JSON representation of this command
305
+ */
306
+ toJSON() {
307
+ return { ...this.data };
308
+ }
309
+ }
310
+ export default SlashCommandBuilder;
311
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhc2hDb21tYW5kQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9TbGFzaENvbW1hbmRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSw0QkFZWDtBQVpELFdBQVksNEJBQTRCO0lBQ3RDLDJGQUFjLENBQUE7SUFDZCxxR0FBbUIsQ0FBQTtJQUNuQixtRkFBVSxDQUFBO0lBQ1YscUZBQVcsQ0FBQTtJQUNYLHFGQUFXLENBQUE7SUFDWCwrRUFBUSxDQUFBO0lBQ1IscUZBQVcsQ0FBQTtJQUNYLCtFQUFRLENBQUE7SUFDUiw2RkFBZSxDQUFBO0lBQ2Ysb0ZBQVcsQ0FBQTtJQUNYLDRGQUFlLENBQUE7QUFDakIsQ0FBQyxFQVpXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFZdkM7QUErQkQ7O0dBRUc7QUFDSCxNQUFNLHlCQUF5QjtJQUNuQixJQUFJLENBQXVDO0lBRXJELFlBQVksSUFBa0M7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFp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QUFNO1FBQ0osT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBMkIsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTbGFzaENvbW1hbmRCdWlsZGVyIGZvciBjcmVhdGluZyBzbGFzaCBjb21tYW5kc1xuICovXG5cbi8qKlxuICogQXBwbGljYXRpb24gY29tbWFuZCBvcHRpb24gdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZSB7XG4gIFN1YmNvbW1hbmQgPSAxLFxuICBTdWJjb21tYW5kR3JvdXAgPSAyLFxuICBTdHJpbmcgPSAzLFxuICBJbnRlZ2VyID0gNCxcbiAgQm9vbGVhbiA9IDUsXG4gIFVzZXIgPSA2LFxuICBDaGFubmVsID0gNyxcbiAgUm9sZSA9IDgsXG4gIE1lbnRpb25hYmxlID0gOSxcbiAgTnVtYmVyID0gMTAsXG4gIEF0dGFjaG1lbnQgPSAxMSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIGNob2ljZXM/OiBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VbXTtcbiAgb3B0aW9ucz86IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdO1xuICBtaW5fdmFsdWU/OiBudW1iZXI7XG4gIG1heF92YWx1ZT86IG51bWJlcjtcbiAgbWluX2xlbmd0aD86IG51bWJlcjtcbiAgbWF4X2xlbmd0aD86IG51bWJlcjtcbiAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcbiAgY2hhbm5lbF90eXBlcz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSUFwcGxpY2F0aW9uQ29tbWFuZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgb3B0aW9ucz86IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbltdO1xuICBkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucz86IHN0cmluZztcbiAgZG1fcGVybWlzc2lvbj86IGJvb2xlYW47XG4gIG5zZnc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgYnVpbGRlciBmb3IgY3JlYXRpbmcgc2xhc2ggY29tbWFuZCBvcHRpb25zXG4gKi9cbmNsYXNzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgZGF0YTogUGFydGlhbDxBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUpIHtcbiAgICB0aGlzLmRhdGEgPSB7IHR5cGUgfTtcbiAgfVxuXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0UmVxdWlyZWQocmVxdWlyZWQgPSB0cnVlKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLnJlcXVpcmVkID0gcmVxdWlyZWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB0b0pTT04oKTogQVBJQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcbiAgICByZXR1cm4geyAuLi50aGlzLmRhdGEgfSBhcyBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb247XG4gIH1cbn1cblxuLyoqXG4gKiBTdHJpbmcgb3B0aW9uIGJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZFN0cmluZ09wdGlvbiBleHRlbmRzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlLlN0cmluZyk7XG4gIH1cblxuICBhZGRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEuY2hvaWNlcykgdGhpcy5kYXRhLmNob2ljZXMgPSBbXTtcbiAgICB0aGlzLmRhdGEuY2hvaWNlcy5wdXNoKC4uLmNob2ljZXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0Q2hvaWNlcyguLi5jaG9pY2VzOiBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VbXSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5jaG9pY2VzID0gY2hvaWNlcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1pbkxlbmd0aChtaW5MZW5ndGg6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5taW5fbGVuZ3RoID0gbWluTGVuZ3RoO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TWF4TGVuZ3RoKG1heExlbmd0aDogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5kYXRhLm1heF9sZW5ndGggPSBtYXhMZW5ndGg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRBdXRvY29tcGxldGUoYXV0b2NvbXBsZXRlID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5hdXRvY29tcGxldGUgPSBhdXRvY29tcGxldGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlZ2VyIG9wdGlvbiBidWlsZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRJbnRlZ2VyT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuSW50ZWdlcik7XG4gIH1cblxuICBhZGRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEuY2hvaWNlcykgdGhpcy5kYXRhLmNob2ljZXMgPSBbXTtcbiAgICB0aGlzLmRhdGEuY2hvaWNlcy5wdXNoKC4uLmNob2ljZXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TWluVmFsdWUobWluVmFsdWU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5taW5fdmFsdWUgPSBtaW5WYWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1heFZhbHVlKG1heFZhbHVlOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubWF4X3ZhbHVlID0gbWF4VmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRBdXRvY29tcGxldGUoYXV0b2NvbXBsZXRlID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5hdXRvY29tcGxldGUgPSBhdXRvY29tcGxldGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuLyoqXG4gKiBOdW1iZXIgb3B0aW9uIGJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZE51bWJlck9wdGlvbiBleHRlbmRzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlLk51bWJlcik7XG4gIH1cblxuICBhZGRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEuY2hvaWNlcykgdGhpcy5kYXRhLmNob2ljZXMgPSBbXTtcbiAgICB0aGlzLmRhdGEuY2hvaWNlcy5wdXNoKC4uLmNob2ljZXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TWluVmFsdWUobWluVmFsdWU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5taW5fdmFsdWUgPSBtaW5WYWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1heFZhbHVlKG1heFZhbHVlOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubWF4X3ZhbHVlID0gbWF4VmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRBdXRvY29tcGxldGUoYXV0b2NvbXBsZXRlID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5hdXRvY29tcGxldGUgPSBhdXRvY29tcGxldGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuLyoqXG4gKiBCb29sZWFuIG9wdGlvbiBidWlsZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRCb29sZWFuT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuQm9vbGVhbik7XG4gIH1cbn1cblxuLyoqXG4gKiBVc2VyIG9wdGlvbiBidWlsZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRVc2VyT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuVXNlcik7XG4gIH1cbn1cblxuLyoqXG4gKiBDaGFubmVsIG9wdGlvbiBidWlsZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRDaGFubmVsT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuQ2hhbm5lbCk7XG4gIH1cblxuICBhZGRDaGFubmVsVHlwZXMoLi4udHlwZXM6IG51bWJlcltdKTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRhdGEuY2hhbm5lbF90eXBlcykgdGhpcy5kYXRhLmNoYW5uZWxfdHlwZXMgPSBbXTtcbiAgICB0aGlzLmRhdGEuY2hhbm5lbF90eXBlcy5wdXNoKC4uLnR5cGVzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG4vKipcbiAqIFJvbGUgb3B0aW9uIGJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZFJvbGVPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZS5Sb2xlKTtcbiAgfVxufVxuXG4vKipcbiAqIE1lbnRpb25hYmxlIG9wdGlvbiBidWlsZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRNZW50aW9uYWJsZU9wdGlvbiBleHRlbmRzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlLk1lbnRpb25hYmxlKTtcbiAgfVxufVxuXG4vKipcbiAqIEF0dGFjaG1lbnQgb3B0aW9uIGJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZEF0dGFjaG1lbnRPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZS5BdHRhY2htZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgYnVpbGRlciBmb3IgY3JlYXRpbmcgc2xhc2ggY29tbWFuZHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZEJ1aWxkZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YTogUGFydGlhbDxBUElBcHBsaWNhdGlvbkNvbW1hbmQ+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSA9IHsgb3B0aW9uczogW10gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBuYW1lIG9mIHRoaXMgY29tbWFuZFxuICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZVxuICAgKi9cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEubmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBjb21tYW5kXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiBUaGUgZGVzY3JpcHRpb25cbiAgICovXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IG1lbWJlciBwZXJtaXNzaW9ucyByZXF1aXJlZCB0byB1c2UgdGhpcyBjb21tYW5kXG4gICAqIEBwYXJhbSBwZXJtaXNzaW9ucyBUaGUgcGVybWlzc2lvbnNcbiAgICovXG4gIHNldERlZmF1bHRNZW1iZXJQZXJtaXNzaW9ucyhwZXJtaXNzaW9uczogYmlnaW50IHwgc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5kZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zID09PSBudWxsIFxuICAgICAgPyB1bmRlZmluZWQgXG4gICAgICA6IFN0cmluZyhwZXJtaXNzaW9ucyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoaXMgY29tbWFuZCBpcyBhdmFpbGFibGUgaW4gRE1zXG4gICAqIEBwYXJhbSBlbmFibGVkIFdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYXZhaWxhYmxlIGluIERNc1xuICAgKi9cbiAgc2V0RE1QZXJtaXNzaW9uKGVuYWJsZWQ6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICB0aGlzLmRhdGEuZG1fcGVybWlzc2lvbiA9IGVuYWJsZWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB3aGV0aGVyIHRoaXMgY29tbWFuZCBpcyBOU0ZXXG4gICAqIEBwYXJhbSBuc2Z3IFdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgTlNGV1xuICAgKi9cbiAgc2V0TlNGVyhuc2Z3ID0gdHJ1ZSk6IHRoaXMge1xuICAgIHRoaXMuZGF0YS5uc2Z3ID0gbnNmdztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RyaW5nIG9wdGlvblxuICAgKi9cbiAgYWRkU3RyaW5nT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRTdHJpbmdPcHRpb24pID0+IFNsYXNoQ29tbWFuZFN0cmluZ09wdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmRTdHJpbmdPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGludGVnZXIgb3B0aW9uXG4gICAqL1xuICBhZGRJbnRlZ2VyT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRJbnRlZ2VyT3B0aW9uKSA9PiBTbGFzaENvbW1hbmRJbnRlZ2VyT3B0aW9uKTogdGhpcyB7XG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZEludGVnZXJPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbnVtYmVyIG9wdGlvblxuICAgKi9cbiAgYWRkTnVtYmVyT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmROdW1iZXJPcHRpb24pID0+IFNsYXNoQ29tbWFuZE51bWJlck9wdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmROdW1iZXJPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm9vbGVhbiBvcHRpb25cbiAgICovXG4gIGFkZEJvb2xlYW5PcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZEJvb2xlYW5PcHRpb24pID0+IFNsYXNoQ29tbWFuZEJvb2xlYW5PcHRpb24pOiB0aGlzIHtcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kQm9vbGVhbk9wdGlvbigpKTtcbiAgICB0aGlzLmRhdGEub3B0aW9ucyEucHVzaChvcHRpb24udG9KU09OKCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB1c2VyIG9wdGlvblxuICAgKi9cbiAgYWRkVXNlck9wdGlvbihmbjogKG9wdGlvbjogU2xhc2hDb21tYW5kVXNlck9wdGlvbikgPT4gU2xhc2hDb21tYW5kVXNlck9wdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmRVc2VyT3B0aW9uKCkpO1xuICAgIHRoaXMuZGF0YS5vcHRpb25zIS5wdXNoKG9wdGlvbi50b0pTT04oKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNoYW5uZWwgb3B0aW9uXG4gICAqL1xuICBhZGRDaGFubmVsT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRDaGFubmVsT3B0aW9uKSA9PiBTbGFzaENvbW1hbmRDaGFubmVsT3B0aW9uKTogdGhpcyB7XG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZENoYW5uZWxPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcm9sZSBvcHRpb25cbiAgICovXG4gIGFkZFJvbGVPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZFJvbGVPcHRpb24pID0+IFNsYXNoQ29tbWFuZFJvbGVPcHRpb24pOiB0aGlzIHtcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kUm9sZU9wdGlvbigpKTtcbiAgICB0aGlzLmRhdGEub3B0aW9ucyEucHVzaChvcHRpb24udG9KU09OKCkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBtZW50aW9uYWJsZSBvcHRpb25cbiAgICovXG4gIGFkZE1lbnRpb25hYmxlT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRNZW50aW9uYWJsZU9wdGlvbikgPT4gU2xhc2hDb21tYW5kTWVudGlvbmFibGVPcHRpb24pOiB0aGlzIHtcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kTWVudGlvbmFibGVPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGF0dGFjaG1lbnQgb3B0aW9uXG4gICAqL1xuICBhZGRBdHRhY2htZW50T3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRBdHRhY2htZW50T3B0aW9uKSA9PiBTbGFzaENvbW1hbmRBdHRhY2htZW50T3B0aW9uKTogdGhpcyB7XG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZEF0dGFjaG1lbnRPcHRpb24oKSk7XG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgY29tbWFuZFxuICAgKi9cbiAgdG9KU09OKCk6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZCB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5kYXRhIH0gYXMgQVBJQXBwbGljYXRpb25Db21tYW5kO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNsYXNoQ29tbWFuZEJ1aWxkZXI7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Builder exports
3
+ */
4
+ export * from './EmbedBuilder';
5
+ export * from './ButtonBuilder';
6
+ export * from './SelectMenuBuilder';
7
+ export * from './ActionRowBuilder';
8
+ export * from './ModalBuilder';
9
+ export * from './SlashCommandBuilder';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnVpbGRlciBleHBvcnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9FbWJlZEJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9CdXR0b25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vU2VsZWN0TWVudUJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9BY3Rpb25Sb3dCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vTW9kYWxCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vU2xhc2hDb21tYW5kQnVpbGRlcic7XG4iXX0=