@shipload/sdk 1.0.0-next.12 → 1.0.0-next.14

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.
@@ -0,0 +1,3206 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt16, UInt8, Int64, TimePoint, Bytes, Int32 } from '@wharfkit/antelope';
4
+ import { __decorate } from 'tslib';
5
+ import '@wharfkit/contract';
6
+
7
+ const CATALOG_FILES_REL = [
8
+ 'items.json',
9
+ 'recipes.json',
10
+ 'entities.json',
11
+ 'kind-registry.json',
12
+ 'item-ids.ts',
13
+ ];
14
+ function computeCatalogHash(filePaths) {
15
+ const hash = createHash('sha256');
16
+ for (const p of filePaths) {
17
+ hash.update(readFileSync(p));
18
+ hash.update('\0');
19
+ }
20
+ return hash.digest('hex');
21
+ }
22
+
23
+ const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAA4KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAQEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlnYW1lX21ldGEABARuYW1lBnN0cmluZwtkZXNjcmlwdGlvbgZzdHJpbmcDdXJsBnN0cmluZwd2ZXJzaW9uBnN0cmluZwhnYW1lX3JvdwAECGNvbnRyYWN0BG5hbWUGY29uZmlnC2dhbWVfY29uZmlnBG1ldGEJZ2FtZV9tZXRhBXN0YXRlCmdhbWVfc3RhdGUKZ2FtZV9zdGF0ZQABB2VuYWJsZWQEYm9vbAxzZXRlcG9jaHRpbWUAAghjb250cmFjdARuYW1lCWVwb2NodGltZQZ1aW50MzIJc3RhcnRnYW1lAAQIY29udHJhY3QEbmFtZQZjb25maWcLZ2FtZV9jb25maWcEbWV0YQlnYW1lX21ldGEFc3RhdGUKZ2FtZV9zdGF0ZQlzdGF0ZV9yb3cAAQdlbmFibGVkBGJvb2wKdXBkYXRlZ2FtZQACCGNvbnRyYWN0BG5hbWUEbWV0YQlnYW1lX21ldGEEd2lwZQAACACAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAqHjMVAZlbmFibGXzAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ0VuYWJsZS9kaXNhYmxlIHBsYXRmb3JtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHBsYXRmb3JtIGNvbnRyYWN0LgCAkoapeMxUCmVuYWJsZWdhbWX8AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGVnYW1lCnN1bW1hcnk6ICdFbmFibGUvZGlzYmFibGUgYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LuCnqZKiNDVdDGZvdW5kY29tcGFueYMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvdW5kY29tcGFueQpzdW1tYXJ5OiAnRm91bmQgYSBuZXcgY29tcGFueScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkZvdW5kIGEgbmV3IGNvbXBhbnkgaW4gdGhlIFNoaXBsb2FkIHBsYXRmb3JtIGNvbnRyYWN0LqCkyw3RqrLCDHNldGVwb2NodGltZQAAAFDSsHxNxglzdGFydGdhbWX/AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzdGFydGdhbWUKc3VtbWFyeTogJ1N0YXJ0IGEgbmV3IGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpTdGFydCBhIG5ldyBnYW1lIG9mIFNoaXBsb2FkIGRlcGxveWVkIHRvIGEgbmV3IGNvbnRyYWN0LgCAkoapbFLVCnVwZGF0ZWdhbWWNAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB1cGRhdGVnYW1lCnN1bW1hcnk6ICdVcGRhdGUgZ2FtZSBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KClVwZGF0ZSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LgoKLS0tAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQMAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAAAAArKRhA2k2NAAACGdhbWVfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARNTaGlwbG9hZCAoUGxhdGZvcm0pE1NoaXBsb2FkIChQbGF0Zm9ybSkAAAAA');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let cleartable = class cleartable extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], cleartable.prototype, "table_name", void 0);
32
+ __decorate([
33
+ Struct.field(Name, { optional: true })
34
+ ], cleartable.prototype, "scope", void 0);
35
+ __decorate([
36
+ Struct.field(UInt64, { optional: true })
37
+ ], cleartable.prototype, "max_rows", void 0);
38
+ cleartable = __decorate([
39
+ Struct.type('cleartable')
40
+ ], cleartable);
41
+ Types.cleartable = cleartable;
42
+ let company_row = class company_row extends Struct {
43
+ };
44
+ __decorate([
45
+ Struct.field(Name)
46
+ ], company_row.prototype, "account", void 0);
47
+ __decorate([
48
+ Struct.field('string')
49
+ ], company_row.prototype, "name", void 0);
50
+ company_row = __decorate([
51
+ Struct.type('company_row')
52
+ ], company_row);
53
+ Types.company_row = company_row;
54
+ let enable = class enable extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field('bool')
58
+ ], enable.prototype, "enabled", void 0);
59
+ enable = __decorate([
60
+ Struct.type('enable')
61
+ ], enable);
62
+ Types.enable = enable;
63
+ let enablegame = class enablegame extends Struct {
64
+ };
65
+ __decorate([
66
+ Struct.field(Name)
67
+ ], enablegame.prototype, "contract", void 0);
68
+ __decorate([
69
+ Struct.field('bool')
70
+ ], enablegame.prototype, "enabled", void 0);
71
+ enablegame = __decorate([
72
+ Struct.type('enablegame')
73
+ ], enablegame);
74
+ Types.enablegame = enablegame;
75
+ let foundcompany = class foundcompany extends Struct {
76
+ };
77
+ __decorate([
78
+ Struct.field(Name)
79
+ ], foundcompany.prototype, "account", void 0);
80
+ __decorate([
81
+ Struct.field('string')
82
+ ], foundcompany.prototype, "name", void 0);
83
+ foundcompany = __decorate([
84
+ Struct.type('foundcompany')
85
+ ], foundcompany);
86
+ Types.foundcompany = foundcompany;
87
+ let game_config = class game_config extends Struct {
88
+ };
89
+ __decorate([
90
+ Struct.field(Checksum256)
91
+ ], game_config.prototype, "seed", void 0);
92
+ __decorate([
93
+ Struct.field(UInt32)
94
+ ], game_config.prototype, "epochtime", void 0);
95
+ __decorate([
96
+ Struct.field(TimePointSec)
97
+ ], game_config.prototype, "start", void 0);
98
+ __decorate([
99
+ Struct.field(TimePointSec)
100
+ ], game_config.prototype, "end", void 0);
101
+ game_config = __decorate([
102
+ Struct.type('game_config')
103
+ ], game_config);
104
+ Types.game_config = game_config;
105
+ let game_meta = class game_meta extends Struct {
106
+ };
107
+ __decorate([
108
+ Struct.field('string')
109
+ ], game_meta.prototype, "name", void 0);
110
+ __decorate([
111
+ Struct.field('string')
112
+ ], game_meta.prototype, "description", void 0);
113
+ __decorate([
114
+ Struct.field('string')
115
+ ], game_meta.prototype, "url", void 0);
116
+ __decorate([
117
+ Struct.field('string')
118
+ ], game_meta.prototype, "version", void 0);
119
+ game_meta = __decorate([
120
+ Struct.type('game_meta')
121
+ ], game_meta);
122
+ Types.game_meta = game_meta;
123
+ let game_state = class game_state extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field('bool')
127
+ ], game_state.prototype, "enabled", void 0);
128
+ game_state = __decorate([
129
+ Struct.type('game_state')
130
+ ], game_state);
131
+ Types.game_state = game_state;
132
+ let game_row = class game_row extends Struct {
133
+ };
134
+ __decorate([
135
+ Struct.field(Name)
136
+ ], game_row.prototype, "contract", void 0);
137
+ __decorate([
138
+ Struct.field(game_config)
139
+ ], game_row.prototype, "config", void 0);
140
+ __decorate([
141
+ Struct.field(game_meta)
142
+ ], game_row.prototype, "meta", void 0);
143
+ __decorate([
144
+ Struct.field(game_state)
145
+ ], game_row.prototype, "state", void 0);
146
+ game_row = __decorate([
147
+ Struct.type('game_row')
148
+ ], game_row);
149
+ Types.game_row = game_row;
150
+ let setepochtime = class setepochtime extends Struct {
151
+ };
152
+ __decorate([
153
+ Struct.field(Name)
154
+ ], setepochtime.prototype, "contract", void 0);
155
+ __decorate([
156
+ Struct.field(UInt32)
157
+ ], setepochtime.prototype, "epochtime", void 0);
158
+ setepochtime = __decorate([
159
+ Struct.type('setepochtime')
160
+ ], setepochtime);
161
+ Types.setepochtime = setepochtime;
162
+ let startgame = class startgame extends Struct {
163
+ };
164
+ __decorate([
165
+ Struct.field(Name)
166
+ ], startgame.prototype, "contract", void 0);
167
+ __decorate([
168
+ Struct.field(game_config)
169
+ ], startgame.prototype, "config", void 0);
170
+ __decorate([
171
+ Struct.field(game_meta)
172
+ ], startgame.prototype, "meta", void 0);
173
+ __decorate([
174
+ Struct.field(game_state)
175
+ ], startgame.prototype, "state", void 0);
176
+ startgame = __decorate([
177
+ Struct.type('startgame')
178
+ ], startgame);
179
+ Types.startgame = startgame;
180
+ let state_row = class state_row extends Struct {
181
+ };
182
+ __decorate([
183
+ Struct.field('bool')
184
+ ], state_row.prototype, "enabled", void 0);
185
+ state_row = __decorate([
186
+ Struct.type('state_row')
187
+ ], state_row);
188
+ Types.state_row = state_row;
189
+ let updategame = class updategame extends Struct {
190
+ };
191
+ __decorate([
192
+ Struct.field(Name)
193
+ ], updategame.prototype, "contract", void 0);
194
+ __decorate([
195
+ Struct.field(game_meta)
196
+ ], updategame.prototype, "meta", void 0);
197
+ updategame = __decorate([
198
+ Struct.type('updategame')
199
+ ], updategame);
200
+ Types.updategame = updategame;
201
+ let wipe = class wipe extends Struct {
202
+ };
203
+ wipe = __decorate([
204
+ Struct.type('wipe')
205
+ ], wipe);
206
+ Types.wipe = wipe;
207
+ })(Types$1 || (Types$1 = {}));
208
+ ({
209
+ company: Types$1.company_row,
210
+ games: Types$1.game_row,
211
+ state: Types$1.state_row,
212
+ });
213
+
214
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDiOAQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQHYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BWJsZW5kAAICaWQGdWludDY0BmlucHV0cwxjYXJnb19pdGVtW10GY2FuY2VsAAICaWQGdWludDY0BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwpjYXJnb19pdGVtAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10IcXVhbnRpdHkGdWludDMyCWNhcmdvX3JlZgADB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCWNhcmdvX3JvdwAGAmlkBnVpbnQ2NAllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQpjYXJnb192aWV3AAUHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10IcXVhbnRpdHkGdWludDMyAmlkBnVpbnQ2NAxjbGFpbXN0YXJ0ZXIAAwdhY2NvdW50BG5hbWUBeAVpbnQ2NAF5BWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcLY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAQCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10NY3JhZnRlcl9zdGF0cwACBXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MTYMY3JlYXRlZW50aXR5AAUFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQIZGVtb2xpc2gAAQllbnRpdHlfaWQGdWludDY0BmRlcGxveQACAmlkBnVpbnQ2NANyZWYJY2FyZ29fcmVmCmRlc2NlbnRpdHkABAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAxtb2R1bGVfaXRlbXMIdWludDE2W10MbW9kdWxlX3N0YXRzCHVpbnQ2NFtdBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAAgt3YXJlaG91c2VfegZ1aW50MTYLY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABkEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX3ZpZXdbXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDE2PwhodWxsbWFzcwd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGNhcGFjaXR5B3VpbnQzMj8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BmhhdWxlcg1oYXVsZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPw1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKZW50aXR5X3JvdwAUAmlkBnVpbnQ2NAVvd25lcgRuYW1lBGtpbmQEbmFtZQRuYW1lBnN0cmluZwVzdGF0cwZ1aW50NjQLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMIaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/BmVuZXJneQd1aW50MTY/CWNhcmdvbWFzcwZ1aW50MzIHZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8HbG9hZGVycw1sb2FkZXJfc3RhdHM/CGdhdGhlcmVyD2dhdGhlcmVyX3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/B2NyYWZ0ZXIOY3JhZnRlcl9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhzY2hlZHVsZQlzY2hlZHVsZT8HaXRlbV9pZAZ1aW50MTYOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdDGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQLZ2FtZV9jb25maWcAAwd2ZXJzaW9uBnVpbnQzMghkZWZhdWx0cw9lbnRpdHlfZGVmYXVsdHMFaXRlbXMKaXRlbV9kZWZbXQZnYXRoZXIABAlzb3VyY2VfaWQGdWludDY0DmRlc3RpbmF0aW9uX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIOZ2F0aGVyZXJfc3RhdHMABAV5aWVsZAZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVzcGVlZAZ1aW50MTYJZ2V0Y29uZmlnAAALZ2V0ZWxpZ2libGUAAgZjb29yZHMLY29vcmRpbmF0ZXMHc3RyYXR1bQZ1aW50MTYJZ2V0ZW50Y2xzAAALZ2V0ZW50aXRpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/CWdldGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQLZ2V0aXRlbWRhdGEAAApnZXRpdGVtaWRzAAAIZ2V0aXRlbXMAAAxnZXRpdGVtdHlwZXMAAAtnZXRraW5kbWV0YQAAC2dldGxvY2F0aW9uAAIBeAVpbnQ2NAF5BWludDY0CmdldGxvY2RhdGEAAgF4BWludDY0AXkFaW50NjQLZ2V0bW9kdHlwZXMAAApnZXRtb2R1bGVzAAAJZ2V0bmVhcmJ5AAIJZW50aXR5X2lkBnVpbnQ2NAhyZWNoYXJnZQRib29sCmdldG5mdGluZm8AAAlnZXRwbGF5ZXIAAQdhY2NvdW50BG5hbWUMZ2V0cHJvanN0YXRlAAIJZW50aXR5X2lkBnVpbnQ2NAp0YXNrX2NvdW50BnVpbnQ4PwlnZXRyZWNpcGUAAQ5vdXRwdXRfaXRlbV9pZAZ1aW50MTYKZ2V0cmVjaXBlcwACC2xvd2VyX2JvdW5kBnVpbnQxNgVsaW1pdAV1aW50OApnZXRyZXNjYXRzAAALZ2V0cmVzZXJ2ZXMAAgF4BWludDY0AXkFaW50NjQMZ2V0cmVzb3VyY2VzAAAIZ2V0c2xvdHMAAApnZXRzdHJhdHVtAAMBeAVpbnQ2NAF5BWludDY0B3N0cmF0dW0GdWludDE2DGdldHN1bW1hcmllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8LZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwADCGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQxNgppbml0aWFsaXplAAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUQa2luZF9tZXRhX3Jlc3VsdAACBWtpbmRzD2tpbmRfbWV0YV9yb3dbXQl0ZW1wbGF0ZXMTdGVtcGxhdGVfbWV0YV9yb3dbXQ1raW5kX21ldGFfcm93AAUEa2luZARuYW1lDmNsYXNzaWZpY2F0aW9uBXVpbnQ4EGNhcGFiaWxpdHlfZmxhZ3MFdWludDgHel9jb29yZAZ1aW50MzINZGVmYXVsdF9sYWJlbAZzdHJpbmcMbG9hZGVyX3N0YXRzAAMEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNghxdWFudGl0eQV1aW50OBBsb2NhdGlvbl9kZXJpdmVkAAIMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwRzaXplBnVpbnQxNg1sb2NhdGlvbl9pbmZvAAIGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sD2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OAxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MTYLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MTYHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8QbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0KY2FyZ29faXRlbQhsb2NhdGlvbgxjb29yZGluYXRlcz8ObmZ0X3NjaGVtYV9kZWYAAgtzY2hlbWFfbmFtZQRuYW1lBmZpZWxkcw5zY2hlbWFfZmllbGRbXRBuZnRfdGVtcGxhdGVfZGVmAAIHaXRlbV9pZAZ1aW50MTYLc2NoZW1hX25hbWUEbmFtZQ1uZnRjb25maWdfcm93AAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQluZnRpbWd1cmwAAgRpdGVtCmNhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdGluZm9fcmVzdWx0AAIHc2NoZW1hcxBuZnRfc2NoZW1hX2RlZltdCXRlbXBsYXRlcxJuZnRfdGVtcGxhdGVfZGVmW10Gbm90aWZ5AAEFZXZlbnQKdGFza19ldmVudA1wYWNrZWRfbW9kdWxlAAIHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lD3Byb2plY3RlZF9zdGF0ZQAOBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8IY2FwYWNpdHkHdWludDMyPwhnYXRoZXJlcg9nYXRoZXJlcl9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwdjcmFmdGVyDmNyYWZ0ZXJfc3RhdHM/CHJlY2hhcmdlAAECaWQGdWludDY0DHJlY2lwZV9pbnB1dAAEB2l0ZW1faWQGdWludDE2CGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgIcXVhbnRpdHkGdWludDMyEHJlY2lwZV9pdGVtX2luZm8AAgJpZAZ1aW50MTYEbWFzcwZ1aW50MzIPcmVjaXBlX3Jlc3BvbnNlAAcOb3V0cHV0X2l0ZW1faWQGdWludDE2C291dHB1dF9tYXNzBnVpbnQzMgZpbnB1dHMOcmVjaXBlX2lucHV0W10Kc3RhdF9zbG90cxRzdGF0X3Nsb3RfcmVzcG9uc2VbXQ1ibGVuZF93ZWlnaHRzBWJ5dGVzC291dHB1dF9pdGVtEHJlY2lwZV9pdGVtX2luZm8LaW5wdXRfaXRlbXMScmVjaXBlX2l0ZW1faW5mb1tdDnJlY2lwZXNfcmVzdWx0AAEHcmVjaXBlcxFyZWNpcGVfcmVzcG9uc2VbXQxyZWZyc2hlbnRpdHkAAQllbnRpdHlfaWQGdWludDY0C3Jlc2VydmVfcm93AAQCaWQGdWludDY0CGNvb3JkX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNglyZW1haW5pbmcGdWludDMyB3Jlc29sdmUAAgJpZAZ1aW50NjQFY291bnQHdWludDY0Pw9yZXNvbHZlX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUOcmVzb2x2ZWRfY291bnQFdWludDgUbmV3X3NjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8LZW50aXR5Z3JvdXAHdWludDY0Pw1ncm91cF9tZW1iZXJzFkJfdmVjdG9yX2VudGl0eV9yZWZfRT8NcmVzb3VyY2VfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYQcmVzb3VyY2VzX3Jlc3VsdAABCXJlc291cmNlcw9yZXNvdXJjZV9pbmZvW10Icm1tb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAp0YXJnZXRfcmVmCmNhcmdvX3JlZj8Icm1uZnRjZmcAAQdpdGVtX2lkBnVpbnQxNgRzYWx0AAEEc2FsdAZ1aW50NjQIc2NoZWR1bGUAAgdzdGFydGVkCnRpbWVfcG9pbnQFdGFza3MGdGFza1tdDHNjaGVtYV9maWVsZAACBG5hbWUGc3RyaW5nCmZpZWxkX3R5cGUGc3RyaW5nCXNldG5mdGNmZwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUKc2tpcHJldmVhbAABBmNvbW1pdAtjaGVja3N1bTI1NghzbG90X2RlZgACBHR5cGUFdWludDgKb3V0cHV0X3BjdAZ1aW50MTYKc3Bhd25jYXJnbwADCWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0C3NwYXducGFja2VkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAlpbnN0YWxsZWQPcGFja2VkX21vZHVsZVtdC3NwYXduc2VlZGVkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAUHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzYWx0BnVpbnQ2NARzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAIHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgR0YXNrAAgEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQxNj8KdGFza19ldmVudAAJCmV2ZW50X3R5cGUFdWludDgFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAV1aW50OAR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MTY/DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXRF0ZW1wbGF0ZV9tZXRhX3JvdwADB2l0ZW1faWQGdWludDE2BGtpbmQEbmFtZQ1kaXNwbGF5X2xhYmVsBnN0cmluZwh0cmFuc2ZlcgADCXNvdXJjZV9pZAZ1aW50NjQHZGVzdF9pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdBnRyYXZlbAAEAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cABQJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcVbmZ0X2l0ZW1fcGF5bG9hZF90eXBlEG5mdF9pdGVtX3BheWxvYWQIdW5kZXBsb3kAAgdob3N0X2lkBnVpbnQ2NAl0YXJnZXRfaWQGdWludDY0BHdhcnAAAwJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CndhcnBfc3RhdHMAAQVyYW5nZQZ1aW50MzIEd2lwZQAABHdyYXAABAVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQp3cmFwZW50aXR5AAIJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjRFAABQUScqUzIJYWRkbW9kdWxlxwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbW9kdWxlCnN1bW1hcnk6ICdJbnN0YWxsIGEgbW9kdWxlIGludG8gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YWxsIGEgbW9kdWxlIGZyb20gY2FyZ28gaW50byBhIG1vZHVsZSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSB0eXBlIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSB0YXJnZXQgc2xvdCB0eXBlLiBUaGUgbW9kdWxlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIGNhcmdvIHVwb24gaW5zdGFsbGF0aW9uLgAAAFh3NVMyCGFkZG5leHVzpwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbmV4dXMKc3VtbWFyeTogJ0FkZCBhIG5leHVzIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDcmVhdGUgYSBuZXcgbmV4dXMgZW50aXR5IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcy4gTmV4dXNlcyBhcmUgb3duZWQgYnkgdGhlIGNvbnRyYWN0IGFuZCBzZXJ2ZSBhcyBmaXhlZCBnYXRoZXJpbmcgcG9pbnRzIHdoZXJlIHBsYXllcnMgY2FuIHdyYXAsIHVud3JhcCwgZGVwbG95LCBhbmQgb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggTkZULWJhY2tlZCBhc3NldHMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAIA0VTwFYmxlbmT8Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIG5ldyBibGVuZGVkIHN0YXRzLiBBbGwgaW5wdXQgc3RhY2tzIG11c3Qgc2hhcmUgdGhlIHNhbWUgaXRlbSBpZC4gVGhlIG91dHB1dCBzdGFjayBoYXMgdGhlIGNvbWJpbmVkIHF1YW50aXR5IG9mIGFsbCBpbnB1dHMuAAAAAESFpkEGY2FuY2VswgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQucFW+JmPpTEQMY2xhaW1zdGFydGVyhQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xhaW1zdGFydGVyCnN1bW1hcnk6ICdERUJVRzogY2xhaW0gYSBzdGFydGVyIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNwYXduIGEgcHJlLWtpdHRlZCBUMSBzdGFydGVyIHNoaXAgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzIGZvciBhIHJlZ2lzdGVyZWQgcGxheWVyLiBBdmFpbGFibGUgb25seSBvbiB0ZXN0IGRlcGxveW1lbnRzIHdoZXJlIG5vIGluLWdhbWUgc2hpcCBlY29ub215IHlldCBleGlzdHMuIFJlcXVpcmVzIHRoZSBjYWxsZXIgdG8gYmUgYSBqb2luZWQgcGxheWVyIHdpdGggbm8gZXhpc3Rpbmcgc2hpcHM7IHRoZSByZXN1bHRpbmcgc2hpcCBpcyBmaXR0ZWQgd2l0aCBhIGdlbmVyYXRvciwgZW5naW5lLCBnYXRoZXJlciwgY3JhZnRlciwgYW5kIGhhdWxlciBtb2R1bGUuAACoG99pVEQJY2xlYW5yc3Zw7AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYW5yc3ZwCnN1bW1hcnk6ICdDbGVhbiB1cCBwYXN0IGVwb2NoIHJlc2VydmVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFcmFzZSByZXNlcnZlIHRhYmxlIHJvd3MgZnJvbSBhIHBhc3QgZXBvY2guIENhbm5vdCBjbGVhbiB0aGUgY3VycmVudCBvciBmdXR1cmUgZXBvY2hzLiBUaGUgbWF4X3Jvd3MgcGFyYW1ldGVyIGNhcHMgdGhlIG51bWJlciBvZiByb3dzIGVyYXNlZCBwZXIgY2FsbCB0byBsaW1pdCBDUFUgdXNhZ2UuAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdOwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4AAGA0MrcmRQljb25maWdsb2fdAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb25maWdsb2cKc3VtbWFyeTogJ0xvZyBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IGxvZ3MgdGhlIGN1cnJlbnQgZ2FtZSBjb25maWd1cmF0aW9uLiBDYWxsZWQgaW5saW5lIGFmdGVyIGluaXRpYWxpemF0aW9uIHRvIGJyb2FkY2FzdCBjb25maWcgdmlhIGFjdGlvbiB0cmFjZXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAAAAgLzMRQVjcmFmdMgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNyYWZ0CnN1bW1hcnk6ICdDcmFmdCBpdGVtcyBmcm9tIGEgcmVjaXBlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUcmFuc2Zvcm0gY2FyZ28gaXRlbXMgaW50byBhIG5ldyBpdGVtIHVzaW5nIGEgcmVjaXBlLiBUaGUgZW50aXR5IG11c3QgaGF2ZSBhIGNyYWZ0ZXIgbW9kdWxlIGluc3RhbGxlZC4gQ29uc3VtZXMgZW5lcmd5IGFuZCBzY2hlZHVsZXMgYSBjcmFmdGluZyB0YXNrIHdpdGggZHVyYXRpb24gYmFzZWQgb24gdG90YWwgaW5wdXQgbWFzcyBhbmQgY3JhZnRlciBzcGVlZC4gSW5wdXQgcXVhbnRpdGllcyBtdXN0IGV4YWN0bHkgbWF0Y2ggdGhlIHJlY2lwZSByZXF1aXJlbWVudHMu4LPLU6ls1EUMY3JlYXRlZW50aXR5vwEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JlYXRlZW50aXR5CnN1bW1hcnk6ICdERUJVRzogY3JlYXRlIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAA27SKVKCGRlbW9saXNo8QMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVtb2xpc2gKc3VtbWFyeTogJ0RlbW9saXNoIGEgc3RhdGlvbmFyeSBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlY29tbWlzc2lvbiBhbiBlbnRpdHksIGVyYXNpbmcgaXQgZnJvbSB0aGUgZ2FtZS4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUsIGhhdmUgZW1wdHkgY2FyZ28sIGFuZCBoYXZlIG5vIGluc3RhbGxlZCBtb2R1bGVzIChyZW1vdmUgZWFjaCB2aWEgcm1tb2R1bGUgZmlyc3QpLiBTY2hlZHVsZXMgYSBkZW1vbGlzaCB0YXNrIHRoYXQgZXJhc2VzIHRoZSBlbnRpdHkgb24gcmVzb2x1dGlvbi4gT25seSB2YWxpZCBmb3IgZW50aXRpZXMgdGhhdCBjYW5ub3QgbW92ZTsgdXNlIHVuZGVwbG95IG9yIHdyYXBlbnRpdHkgZm9yIHRoZSByZXN0LgAAAAB4GqtKBmRlcGxveewCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlcGxveQpzdW1tYXJ5OiAnRGVwbG95IGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVW5wYWNrIGEgcGFja2VkIGVudGl0eSBpdGVtIChwYWNrZWQgc2hpcCBvciBwYWNrZWQgY29udGFpbmVyKSBmcm9tIGNhcmdvLCBzY2hlZHVsaW5nIGEgZGVwbG95IHRhc2sgdGhhdCBjcmVhdGVzIHRoZSBuZXcgZW50aXR5IGF0IHRoZSBkZXBsb3lpbmcgZW50aXR5J3MgbG9jYXRpb24gdXBvbiByZXNvbHV0aW9uLgCAzy5PhbBKCmRlc2NlbnRpdHnJAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXNjZW50aXR5CnN1bW1hcnk6ICdEZXNjcmliZSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gc3RyaW5nIGZvciBhIHBhY2tlZCBlbnRpdHksIGRlcml2ZWQgZnJvbSB0aGUgZW50aXR5IGl0ZW0gaWQsIGh1bGwgc3RhdHMsIGFuZCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgbW9kdWxlIGl0ZW0gaWRzIGFuZCBzdGF0cy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgTkZUIHJlbmRlcmVycyB0byBkaXNwbGF5IHBhY2tlZCBlbnRpdGllcy4AAAAAqHjMVAZlbmFibGXdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQugLGRlF2DulsMZml4Y2FyZ29tYXNzAAAAAABc1bJhBmdhdGhlcpcDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdhdGhlcgpzdW1tYXJ5OiAnR2F0aGVyIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKR2F0aGVyIHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZ2F0aGVyYWJsZSBsb2NhdGlvbiB0eXBlcy4gU2NoZWR1bGVzIGEgZ2F0aGVyIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGdhdGhlcmVyIHN0YXRzIGFuZCB0aGUgbG9jYXRpb24ncyByZXNvdXJjZSBjb21wb3NpdGlvbi4AAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLgBUPI65qLJiC2dldGVsaWdpYmxlyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZWxpZ2libGUKc3VtbWFyeTogJ0dldCBlbGlnaWJsZSByZXNvdXJjZSBpdGVtIElEcyBhdCBhIGxvY2F0aW9uIGFuZCBzdHJhdHVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbGlzdCBvZiByZXNvdXJjZSBpdGVtIElEcyBlbGlnaWJsZSB0byBiZSBnYXRoZXJlZCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgYW5kIHN0cmF0dW0gZGVwdGguIEl0ZW1zIGFyZSBnYXRlZCBieSBib3RoIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIHByb2ZpbGUgYW5kIHRoZSBkZXB0aCB0aHJlc2hvbGQgZm9yIGVhY2ggdGllci4AAMAR5amyYglnZXRlbnRjbHMAALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMuAEw2SarssmILZ2V0aXRlbWRhdGGoAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtZGF0YQpzdW1tYXJ5OiAnR2V0IGZ1bGwgaXRlbSBjYXRhbG9nJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgY29tcGxldGUgaXRlbSBjYXRhbG9nIGFzIHRoZSBjb250cmFjdCBzZWVzIGl0LCBpbmNsdWRpbmcgdHlwZSwgc3VidHlwZSwgdGllciwgbWFzcywgYW5kIG90aGVyIHN0YXRpYyBtZXRhZGF0YS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgY2xpZW50cyB0byBtaXJyb3IgdGhlIGNvbnRyYWN0J3MgaXRlbSBkZWZpbml0aW9ucy4AAE5OquyyYgpnZXRpdGVtaWRzhgMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbWlkcwpzdW1tYXJ5OiAnR2V0IGl0ZW0gaWQgdG8gbmFtZSBtYXBwaW5ncycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgbWFwcGluZyBvZiBpdGVtIGlkIGNvbnN0YW50cyB0byB0aGVpciBjYW5vbmljYWwgc3RyaW5nIG5hbWVzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHJlc29sdmUgbnVtZXJpYyBpdGVtIGlkcyB0byBodW1hbi1yZWFkYWJsZSBpZGVudGlmaWVycy4AAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MugFX1WarssmIMZ2V0aXRlbXR5cGVziAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXR5cGVzCnN1bW1hcnk6ICdHZXQgaXRlbSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgaXRlbSB0eXBlIGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKHJlc291cmNlLCBjb21wb25lbnQsIG1vZHVsZSwgZW50aXR5KS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgaXRlbSB0eXBlIGlkZW50aWZpZXJzLgBMVjJNB7NiC2dldGtpbmRtZXRhAAAmddkgGrNiC2dldGxvY2F0aW9u4gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jYXRpb24Kc3VtbWFyeTogJ0dldCBsb2NhdGlvbiBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGxvY2F0aW9uIGluY2x1ZGluZyB3aGV0aGVyIGEgc3lzdGVtIGV4aXN0cywgYW5kIGZvciBlYWNoIGl0ZW06IHByaWNlLCBzdXBwbHksIHJhcml0eSBtdWx0aXBsaWVyLCBhbmQgbG9jYXRpb24gbXVsdGlwbGllci4AgMkmIRqzYgpnZXRsb2NkYXRh/gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jZGF0YQpzdW1tYXJ5OiAnR2V0IGRlcml2ZWQgbG9jYXRpb24gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBkZXJpdmVkIGxvY2F0aW9uIGRhdGEgaW5jbHVkaW5nIHN0YXRpYyBwcm9wZXJ0aWVzICh0eXBlLCBkaWZmaWN1bHR5LCBzZWVkcykgZnJvbSB0aGUgZ2FtZSBzZWVkIGFuZCBlcG9jaC1zcGVjaWZpYyBwcm9wZXJ0aWVzIChhY3RpdmUsIHNlZWRzKSBmcm9tIHRoZSBjdXJyZW50IGVwb2NoIHNlZWQuALCqPicqs2ILZ2V0bW9kdHlwZXPWAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R0eXBlcwpzdW1tYXJ5OiAnR2V0IG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoYW55LCBlbmdpbmUsIGdlbmVyYXRvciwgZ2F0aGVyZXIsIGxvYWRlciwgd2FycCwgY3JhZnRlciwgbGF1bmNoZXIsIHN0b3JhZ2UsIGhhdWxlcikuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIG1vZHVsZSBzdWJ0eXBlIGlkZW50aWZpZXJzIGFuZCBzbG90IGNvbXBhdGliaWxpdHkuAABWUScqs2IKZ2V0bW9kdWxlc4ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHVsZXMKc3VtbWFyeTogJ0dldCBhbGwgbW9kdWxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgbW9kdWxlcywgaW5jbHVkaW5nIGVhY2ggbW9kdWxlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBpbnN0YWxsYWJsZSBlcXVpcG1lbnQuAADw5xo1s2IJZ2V0bmVhcmJ53gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmVhcmJ5CnN1bW1hcnk6ICdHZXQgbmVhcmJ5IHJlYWNoYWJsZSBzeXN0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIG5lYXJieSBzeXN0ZW1zIHJlYWNoYWJsZSBieSBhbiBlbnRpdHkgZnJvbSBpdHMgcHJvamVjdGVkIGxvY2F0aW9uLiBSZXR1cm5zIGN1cnJlbnQgc3RhdGUgKHdpdGggY29tcGxldGVkIHRhc2tzIHJlc29sdmVkKSwgcHJvamVjdGVkIHN0YXRlIChhZnRlciBhbGwgc2NoZWR1bGVkIHRhc2tzKSwgYW5kIGEgbGlzdCBvZiByZWFjaGFibGUgc3lzdGVtcyB3aXRoIGRpc3RhbmNlLCBlbmVyZ3kgY29zdCwgZmxpZ2h0IHRpbWUsIGFuZCBtYXJrZXQgaW5mb3JtYXRpb24uAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuoLLJ+NFbs2IMZ2V0cHJvanN0YXRlAAAAUNUhdbNiCWdldHJlY2lwZaYDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZQpzdW1tYXJ5OiAnR2V0IGEgc2luZ2xlIGNyYWZ0aW5nIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHJlY2lwZSB3aG9zZSBvdXRwdXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaXRlbSBpZCwgaW5jbHVkaW5nIGl0cyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkaXNwbGF5IGNyYWZ0aW5nIHJlcXVpcmVtZW50cy4AAFbVIXWzYgpnZXRyZWNpcGVzrAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVjaXBlcwpzdW1tYXJ5OiAnTGlzdCBjcmFmdGluZyByZWNpcGVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIHBhZ2luYXRlZCBsaXN0IG9mIGNyYWZ0aW5nIHJlY2lwZXMgc3RhcnRpbmcgYXQgdGhlIHByb3ZpZGVkIGxvd2VyIGJvdW5kIG91dHB1dCBpdGVtIGlkLCB1cCB0byB0aGUgc3BlY2lmaWVkIGxpbWl0LiBFYWNoIGVudHJ5IGluY2x1ZGVzIGlucHV0cywgYmxlbmQgd2VpZ2h0cywgc3RhdCBzbG90cywgYW5kIHJlc29sdmVkIGl0ZW0gbWFzcyBpbmZvLgAAzgZhdbNiCmdldHJlc2NhdHOeAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNjYXRzCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiByZXNvdXJjZSBjYXRlZ29yeSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChvcmUsIGdhcywgcmVnb2xpdGgsIGJpb21hc3MsIGNyeXN0YWwpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSByZXNvdXJjZSBzdWJ0eXBlIGlkZW50aWZpZXJzLgCw2ldhdbNiC2dldHJlc2VydmVz/AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzZXJ2ZXMKc3VtbWFyeTogJ0dldCBjdXJyZW50IHJlc2VydmUgbW9kaWZpY2F0aW9ucyBhdCBhIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBjaGFpbidzIG1vZGlmaWNhdGlvbnMgdG8gZGVyaXZlZCByZXNlcnZlcyBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZSBmb3IgdGhlIGN1cnJlbnQgZXBvY2ggYXMgYSBsaXN0IG9mIHtzdHJhdHVtLCByZW1haW5pbmd9IHBhaXJzLiBTdHJhdGEgbm90IHByZXNlbnQgaW4gdGhlIHJlc3BvbnNlIHVzZSB0aGVpciBkZXJpdmVkIGluaXRpYWwgcmVzZXJ2ZS4gQ29tcG9zZSB3aXRoIFNESyBkZXJpdmF0aW9uIHRvIGdldCB0aGUgZnVsbCBwZXItbG9jYXRpb24gc3RyYXRhIHZpZXcugBW6mmJ1s2IMZ2V0cmVzb3VyY2VzhwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzb3VyY2VzCnN1bW1hcnk6ICdHZXQgYWxsIHJlc291cmNlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgcmVzb3VyY2VzLCBpbmNsdWRpbmcgZWFjaCByZXNvdXJjZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgZ2F0aGVyYWJsZSBtYXRlcmlhbHMuAAAAONOIs2IIZ2V0c2xvdHO7Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzbG90cwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzbG90IGxheW91dHMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBtb2R1bGUgc2xvdCBsYXlvdXQgZm9yIGV2ZXJ5IGVudGl0eSBpdGVtIHR5cGUsIGxpc3RpbmcgdGhlIG9yZGVyZWQgc2xvdCB0eXBlcyBhdmFpbGFibGUgZm9yIG1vZHVsZSBpbnN0YWxsYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGV0ZXJtaW5lIHdoaWNoIG1vZHVsZSB0eXBlcyBhcmUgY29tcGF0aWJsZSB3aXRoIGEgZ2l2ZW4gZW50aXR5IGh1bGwuAIDU2dyMs2IKZ2V0c3RyYXR1bdICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN0cmF0dW0Kc3VtbWFyeTogJ0dldCByZXNvdXJjZSBzdHJhdHVtIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhIGZvciBhIHNwZWNpZmljIGRlcHRoIGxheWVyIGF0IGEgY29vcmRpbmF0ZSwgaW5jbHVkaW5nIHRoZSBzdHJhdHVtIHNlZWQgaW5mbyBhbmQgZGVyaXZlZCByZXNvdXJjZSBzdGF0cy6AlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaPgBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAABAhNKwaQdoYXNoNTEy+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaDUxMgpzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTUxMiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGE1MTIgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgCA+i4al910CmluaXRpYWxpemWAAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBpbml0aWFsaXplCnN1bW1hcnk6ICdJbml0aWFsaXplIGdhbWUgc2VlZCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhbGl6ZSBhIHRoZSBnYW1lcyBzZWVkIGFuZCBzZWVkIHZhbHVlcyB0byBib290c3RyYXAgZ2FtZSBzdGF0ZS4AAAAAADAdfQRqb2luxAEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogam9pbgpzdW1tYXJ5OiAnSm9pbiBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkpvaW4gYSBnYW1lIG9mIFNoaXBsb2FkAACIVzPp8poJbmZ0aW1ndXJsAAAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHkAAAAAQO1IsboHcmVzb2x2ZdADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJlc29sdmUKc3VtbWFyeTogJ0NvbXBsZXRlIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVzb2x2ZSBjb21wbGV0ZWQgdGFza3MgaW4gYW4gZW50aXR5J3Mgc2NoZWR1bGUsIGFwcGx5aW5nIHRoZWlyIGVmZmVjdHMgKHJlY2hhcmdlIGVuZXJneSwgdXBkYXRlIGxvY2F0aW9uLCBsb2FkL3VubG9hZCBjYXJnbykuIElmIGNvdW50IGlzIHNwZWNpZmllZCwgcmVzb2x2ZSBleGFjdGx5IHRoYXQgbWFueSB0YXNrczsgb3RoZXJ3aXNlIHJlc29sdmUgYWxsIGNvbXBsZXRlZCB0YXNrcy4gRmFpbHMgaWYgY291bnQgZXhjZWVkcyB0aGUgbnVtYmVyIG9mIGNvbXBsZXRlZCB0YXNrcy4AAAAq6kSlvAhybW1vZHVsZbwDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbW9kdWxlCnN1bW1hcnk6ICdSZW1vdmUgYSBtb2R1bGUgZnJvbSBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSBhbiBpbnN0YWxsZWQgbW9kdWxlIGZyb20gYSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSBpcyByZXR1cm5lZCB0byBjYXJnby4gRmFpbHMgaWYgdGhlIGVudGl0eSBkb2VzIG5vdCBoYXZlIGVub3VnaCBjYXJnbyBjYXBhY2l0eSB0byBob2xkIHRoZSByZXR1cm5lZCBtb2R1bGUuAAAAbKG8prwIcm1uZnRjZmehAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW5mdGNmZwpzdW1tYXJ5OiAnUmVtb3ZlIE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgdGhlIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBtYXBwaW5nIGZvciB0aGUgc3BlY2lmaWVkIGl0ZW0gaWQgZnJvbSB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIEFmdGVyIHJlbW92YWwgdGhlIGl0ZW0gY2FuIG5vIGxvbmdlciBiZSB3cmFwcGVkIG9yIHVud3JhcHBlZCB1bnRpbCBhIG5ldyBtYXBwaW5nIGlzIHNldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAAAAkKPBBHNhbHTYAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AQDRqq1sdxApza2lwcmV2ZWFsAAAAZdegyU3FCnNwYXduY2FyZ2/FAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bmNhcmdvCnN1bW1hcnk6ICdERUJVRzogc3Bhd24gY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAJKCyNTJTcULc3Bhd25wYWNrZWTnAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bnBhY2tlZApzdW1tYXJ5OiAnREVCVUc6IHNwYXduIGEgcGFja2VkIGVudGl0eSB3aXRoIGluc3RhbGxlZCBtb2R1bGVzIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCSSkrhyU3FC3NwYXduc2VlZGVkzQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25zZWVkZWQKc3VtbWFyeTogJ0RFQlVHOiBzcGF3biBzZWVkZWQgY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbPsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4AAACexqrS1Ah1bmRlcGxveecELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVuZGVwbG95CnN1bW1hcnk6ICdQYWNrIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYSBob3N0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQYWNrIGFuIGVudGl0eSBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnbyBhcyBhIHBhY2tlZC1lbnRpdHkgaXRlbS4gSG9zdCBhbmQgdGFyZ2V0IG11c3Qgc2hhcmUgdGhlIHNhbWUgb3duZXIgYW5kIGNvb3JkaW5hdGVzLCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycyBhbmQgZW5vdWdoIGNhcGFjaXR5IGZvciB0aGUgcGFja2VkIG1hc3MsIGFuZCB0aGUgdGFyZ2V0IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGFuZCBzY2hlZHVsZXMgdW5kZXBsb3kgdGFza3Mgb24gYm90aCBlbnRpdGllczsgb24gcmVzb2x1dGlvbiB0aGUgdGFyZ2V0IGlzIGVyYXNlZCBhbmQgdGhlIHBhY2tlZCBlbnRpdHkgaXMgYWRkZWQgdG8gdGhlIGhvc3QncyBjYXJnby4gSW52ZXJzZSBvZiBkZXBsb3kuAAAAAABQr+EEd2FycJ8DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdhcnAKc3VtbWFyeTogJ1dhcnAgdG8gYSBkZXN0aW5hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFudGx5IHRlbGVwb3J0IGFuIGVudGl0eSB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbS4gUmVxdWlyZXMgd2FycCBjYXBhYmlsaXR5LCBmdWxsIGVuZXJneSwgZW1wdHkgY2FyZ28sIGFuZCBhbiBlbXB0eSBzY2hlZHVsZS4gVGhlIGRlc3RpbmF0aW9uIG11c3QgYmUgYSB2YWxpZCBzeXN0ZW0gd2l0aGluIHdhcnAgcmFuZ2UuIFJlc29sdmVzIGltbWVkaWF0ZWx5IGFzIGEgemVyby1kdXJhdGlvbiB0YXNrLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAFDN5QR3cmFw/gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd3JhcApzdW1tYXJ5OiAnV3JhcCBjYXJnbyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKV3JhcCBhIHF1YW50aXR5IG9mIGNhcmdvIGZyb20gYW4gZW50aXR5IGludG8gYW4gQXRvbWljQXNzZXRzIE5GVCBtaW50ZWQgdG8gdGhlIHNwZWNpZmllZCBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGhhdmUgbG9hZGVycywgYW5kIGNvbnRhaW4gZW5vdWdoIG9mIHRoZSByZXF1ZXN0ZWQgY2FyZ28uIFNjaGVkdWxlcyBhIHdyYXAgdGFzayB0aGF0LCBvbiByZXNvbHV0aW9uLCByZW1vdmVzIHRoZSBjYXJnbyBmcm9tIHRoZSBlbnRpdHkgYW5kIG1pbnRzIHRoZSBORlQgdXNpbmcgdGhlIHRlbXBsYXRlIGNvbmZpZ3VyZWQgZm9yIHRoYXQgaXRlbSBpZC4AgM8uT1XN5Qp3cmFwZW50aXR55gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd3JhcGVudGl0eQpzdW1tYXJ5OiAnV3JhcCBhIGRlcGxveWVkIGVudGl0eSBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKV3JhcCBhbiBlbnRpdHkgaW50byBhbiBBdG9taWNBc3NldHMgTkZUIG1pbnRlZCB0byBpdHMgb3duZXIuIFRoZSBlbnRpdHkgbXVzdCBiZSBhdCBhIG5leHVzLCBpZGxlIHdpdGggZW1wdHkgY2FyZ28sIGFuZCBoYXZlIGFuIG5mdGNvbmZpZyBtYXBwaW5nIGZvciBpdHMgaXRlbSBpZC4gU2NoZWR1bGVzIGEgd3JhcCB0YXNrIHRoYXQsIG9uIHJlc29sdXRpb24sIGVyYXNlcyB0aGUgZW50aXR5IGFuZCBtaW50cyB0aGUgTkZUIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlcy4IAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAPjs8lQDaTY0AAAKZW50aXR5X3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAAAAAAKyqzwNpNjQAAAl0eXBlc19yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAALAAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAADbtIpUoMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAABgbk2KsmILZ2FtZV9jb25maWcAVDyOuaiyYgh1aW50MTZbXQAAwBHlqbJiC2VudW1fcmVzdWx0ALBy2eWpsmINZW50aXR5X2luZm9bXQAA8NnlqbJiC2VudGl0eV9pbmZvAEw2SarssmIPaXRlbWRhdGFfcmVzdWx0AABOTqrssmIPaXRlbV9pZHNfcmVzdWx0AAAAWKrssmIKaXRlbXNfaW5mb4BV9Vmq7LJiC2VudW1fcmVzdWx0AExWMk0Hs2IQa2luZF9tZXRhX3Jlc3VsdAAmddkgGrNiDWxvY2F0aW9uX2luZm8AgMkmIRqzYhBsb2NhdGlvbl9kZXJpdmVkALCqPicqs2ILZW51bV9yZXN1bHQAAFZRJyqzYg5tb2R1bGVzX3Jlc3VsdAAA8OcaNbNiC25lYXJieV9pbmZvAABd0+U1s2IObmZ0aW5mb19yZXN1bHQAALjKm1izYgtwbGF5ZXJfaW5mb6CyyfjRW7NiD3Byb2plY3RlZF9zdGF0ZQAAUNUhdbNiDnJlY2lwZXNfcmVzdWx0AABW1SF1s2IOcmVjaXBlc19yZXN1bHQAAM4GYXWzYgtlbnVtX3Jlc3VsdACw2ldhdbNiE3N0cmF0dW1fcmVtYWluaW5nW12AFbqaYnWzYhByZXNvdXJjZXNfcmVzdWx0AAAAONOIs2IVZW50aXR5X2xheW91dHNfcmVzdWx0AIDU2dyMs2IMc3RyYXR1bV9kYXRhgJW7RkqNs2IQZW50aXR5X3N1bW1hcnlbXQCi2ubmqullDHRhc2tfcmVzdWx0cwAAAAAA0LBpC2NoZWNrc3VtMjU2AAAAQITSsGkLY2hlY2tzdW01MTIAAIhXM+nymgZzdHJpbmcAAACKXdOQugx0YXNrX3Jlc3VsdHMAAABA7Uixug9yZXNvbHZlX3Jlc3VsdHMAAABXLTzNzQx0YXNrX3Jlc3VsdHMAAAAARLXNzQx0YXNrX3Jlc3VsdHMAAACexqrS1Ax0YXNrX3Jlc3VsdHMAAAAAAFCv4Qx0YXNrX3Jlc3VsdHMAAAAAAFDN5Qx0YXNrX3Jlc3VsdHMAgM8uT1XN5Qx0YXNrX3Jlc3VsdHM=');
215
+ ABI.from(abiBlob);
216
+ var Types;
217
+ (function (Types) {
218
+ let packed_module = class packed_module extends Struct {
219
+ };
220
+ __decorate([
221
+ Struct.field(UInt16)
222
+ ], packed_module.prototype, "item_id", void 0);
223
+ __decorate([
224
+ Struct.field(UInt64)
225
+ ], packed_module.prototype, "stats", void 0);
226
+ packed_module = __decorate([
227
+ Struct.type('packed_module')
228
+ ], packed_module);
229
+ Types.packed_module = packed_module;
230
+ let module_entry = class module_entry extends Struct {
231
+ };
232
+ __decorate([
233
+ Struct.field(UInt8)
234
+ ], module_entry.prototype, "type", void 0);
235
+ __decorate([
236
+ Struct.field(packed_module, { optional: true })
237
+ ], module_entry.prototype, "installed", void 0);
238
+ module_entry = __decorate([
239
+ Struct.type('module_entry')
240
+ ], module_entry);
241
+ Types.module_entry = module_entry;
242
+ let cargo_ref = class cargo_ref extends Struct {
243
+ };
244
+ __decorate([
245
+ Struct.field(UInt16)
246
+ ], cargo_ref.prototype, "item_id", void 0);
247
+ __decorate([
248
+ Struct.field(UInt64)
249
+ ], cargo_ref.prototype, "stats", void 0);
250
+ __decorate([
251
+ Struct.field(module_entry, { array: true })
252
+ ], cargo_ref.prototype, "modules", void 0);
253
+ cargo_ref = __decorate([
254
+ Struct.type('cargo_ref')
255
+ ], cargo_ref);
256
+ Types.cargo_ref = cargo_ref;
257
+ let addmodule = class addmodule extends Struct {
258
+ };
259
+ __decorate([
260
+ Struct.field(UInt64)
261
+ ], addmodule.prototype, "entity_id", void 0);
262
+ __decorate([
263
+ Struct.field(UInt8)
264
+ ], addmodule.prototype, "module_index", void 0);
265
+ __decorate([
266
+ Struct.field(cargo_ref)
267
+ ], addmodule.prototype, "module_ref", void 0);
268
+ __decorate([
269
+ Struct.field(cargo_ref, { optional: true })
270
+ ], addmodule.prototype, "target_ref", void 0);
271
+ addmodule = __decorate([
272
+ Struct.type('addmodule')
273
+ ], addmodule);
274
+ Types.addmodule = addmodule;
275
+ let addnexus = class addnexus extends Struct {
276
+ };
277
+ __decorate([
278
+ Struct.field('string')
279
+ ], addnexus.prototype, "nexus_name", void 0);
280
+ __decorate([
281
+ Struct.field(Int64)
282
+ ], addnexus.prototype, "x", void 0);
283
+ __decorate([
284
+ Struct.field(Int64)
285
+ ], addnexus.prototype, "y", void 0);
286
+ addnexus = __decorate([
287
+ Struct.type('addnexus')
288
+ ], addnexus);
289
+ Types.addnexus = addnexus;
290
+ let advance = class advance extends Struct {
291
+ };
292
+ __decorate([
293
+ Struct.field('string')
294
+ ], advance.prototype, "reveal", void 0);
295
+ __decorate([
296
+ Struct.field(Checksum256)
297
+ ], advance.prototype, "commit", void 0);
298
+ advance = __decorate([
299
+ Struct.type('advance')
300
+ ], advance);
301
+ Types.advance = advance;
302
+ let cargo_item = class cargo_item extends Struct {
303
+ };
304
+ __decorate([
305
+ Struct.field(UInt16)
306
+ ], cargo_item.prototype, "item_id", void 0);
307
+ __decorate([
308
+ Struct.field(UInt64)
309
+ ], cargo_item.prototype, "stats", void 0);
310
+ __decorate([
311
+ Struct.field(module_entry, { array: true })
312
+ ], cargo_item.prototype, "modules", void 0);
313
+ __decorate([
314
+ Struct.field(UInt32)
315
+ ], cargo_item.prototype, "quantity", void 0);
316
+ cargo_item = __decorate([
317
+ Struct.type('cargo_item')
318
+ ], cargo_item);
319
+ Types.cargo_item = cargo_item;
320
+ let blend = class blend extends Struct {
321
+ };
322
+ __decorate([
323
+ Struct.field(UInt64)
324
+ ], blend.prototype, "id", void 0);
325
+ __decorate([
326
+ Struct.field(cargo_item, { array: true })
327
+ ], blend.prototype, "inputs", void 0);
328
+ blend = __decorate([
329
+ Struct.type('blend')
330
+ ], blend);
331
+ Types.blend = blend;
332
+ let cancel = class cancel extends Struct {
333
+ };
334
+ __decorate([
335
+ Struct.field(UInt64)
336
+ ], cancel.prototype, "id", void 0);
337
+ __decorate([
338
+ Struct.field(UInt64)
339
+ ], cancel.prototype, "count", void 0);
340
+ cancel = __decorate([
341
+ Struct.type('cancel')
342
+ ], cancel);
343
+ Types.cancel = cancel;
344
+ let entity_ref = class entity_ref extends Struct {
345
+ };
346
+ __decorate([
347
+ Struct.field(Name)
348
+ ], entity_ref.prototype, "entity_type", void 0);
349
+ __decorate([
350
+ Struct.field(UInt64)
351
+ ], entity_ref.prototype, "entity_id", void 0);
352
+ entity_ref = __decorate([
353
+ Struct.type('entity_ref')
354
+ ], entity_ref);
355
+ Types.entity_ref = entity_ref;
356
+ let cancel_results = class cancel_results extends Struct {
357
+ };
358
+ __decorate([
359
+ Struct.field(UInt64)
360
+ ], cancel_results.prototype, "entity_id", void 0);
361
+ __decorate([
362
+ Struct.field(Name)
363
+ ], cancel_results.prototype, "entity_type", void 0);
364
+ __decorate([
365
+ Struct.field(UInt8)
366
+ ], cancel_results.prototype, "cancelled_count", void 0);
367
+ __decorate([
368
+ Struct.field(TimePoint, { optional: true })
369
+ ], cancel_results.prototype, "schedule_started", void 0);
370
+ __decorate([
371
+ Struct.field(UInt64, { optional: true })
372
+ ], cancel_results.prototype, "entitygroup", void 0);
373
+ __decorate([
374
+ Struct.field(entity_ref, { array: true, optional: true })
375
+ ], cancel_results.prototype, "group_members", void 0);
376
+ cancel_results = __decorate([
377
+ Struct.type('cancel_results')
378
+ ], cancel_results);
379
+ Types.cancel_results = cancel_results;
380
+ let cargo_row = class cargo_row extends Struct {
381
+ };
382
+ __decorate([
383
+ Struct.field(UInt64)
384
+ ], cargo_row.prototype, "id", void 0);
385
+ __decorate([
386
+ Struct.field(UInt64)
387
+ ], cargo_row.prototype, "entity_id", void 0);
388
+ __decorate([
389
+ Struct.field(UInt64)
390
+ ], cargo_row.prototype, "item_id", void 0);
391
+ __decorate([
392
+ Struct.field(UInt64)
393
+ ], cargo_row.prototype, "quantity", void 0);
394
+ __decorate([
395
+ Struct.field(UInt64)
396
+ ], cargo_row.prototype, "stats", void 0);
397
+ __decorate([
398
+ Struct.field(module_entry, { array: true })
399
+ ], cargo_row.prototype, "modules", void 0);
400
+ cargo_row = __decorate([
401
+ Struct.type('cargo_row')
402
+ ], cargo_row);
403
+ Types.cargo_row = cargo_row;
404
+ let cargo_view = class cargo_view extends Struct {
405
+ };
406
+ __decorate([
407
+ Struct.field(UInt16)
408
+ ], cargo_view.prototype, "item_id", void 0);
409
+ __decorate([
410
+ Struct.field(UInt64)
411
+ ], cargo_view.prototype, "stats", void 0);
412
+ __decorate([
413
+ Struct.field(module_entry, { array: true })
414
+ ], cargo_view.prototype, "modules", void 0);
415
+ __decorate([
416
+ Struct.field(UInt32)
417
+ ], cargo_view.prototype, "quantity", void 0);
418
+ __decorate([
419
+ Struct.field(UInt64)
420
+ ], cargo_view.prototype, "id", void 0);
421
+ cargo_view = __decorate([
422
+ Struct.type('cargo_view')
423
+ ], cargo_view);
424
+ Types.cargo_view = cargo_view;
425
+ let claimstarter = class claimstarter extends Struct {
426
+ };
427
+ __decorate([
428
+ Struct.field(Name)
429
+ ], claimstarter.prototype, "account", void 0);
430
+ __decorate([
431
+ Struct.field(Int64)
432
+ ], claimstarter.prototype, "x", void 0);
433
+ __decorate([
434
+ Struct.field(Int64)
435
+ ], claimstarter.prototype, "y", void 0);
436
+ claimstarter = __decorate([
437
+ Struct.type('claimstarter')
438
+ ], claimstarter);
439
+ Types.claimstarter = claimstarter;
440
+ let cleanrsvp = class cleanrsvp extends Struct {
441
+ };
442
+ __decorate([
443
+ Struct.field(UInt64)
444
+ ], cleanrsvp.prototype, "epoch", void 0);
445
+ __decorate([
446
+ Struct.field(UInt64)
447
+ ], cleanrsvp.prototype, "max_rows", void 0);
448
+ cleanrsvp = __decorate([
449
+ Struct.type('cleanrsvp')
450
+ ], cleanrsvp);
451
+ Types.cleanrsvp = cleanrsvp;
452
+ let cleartable = class cleartable extends Struct {
453
+ };
454
+ __decorate([
455
+ Struct.field(Name)
456
+ ], cleartable.prototype, "table_name", void 0);
457
+ __decorate([
458
+ Struct.field(Name, { optional: true })
459
+ ], cleartable.prototype, "scope", void 0);
460
+ __decorate([
461
+ Struct.field(UInt64, { optional: true })
462
+ ], cleartable.prototype, "max_rows", void 0);
463
+ cleartable = __decorate([
464
+ Struct.type('cleartable')
465
+ ], cleartable);
466
+ Types.cleartable = cleartable;
467
+ let commit = class commit extends Struct {
468
+ };
469
+ __decorate([
470
+ Struct.field(Checksum256)
471
+ ], commit.prototype, "commit", void 0);
472
+ commit = __decorate([
473
+ Struct.type('commit')
474
+ ], commit);
475
+ Types.commit = commit;
476
+ let entity_defaults = class entity_defaults extends Struct {
477
+ };
478
+ __decorate([
479
+ Struct.field(UInt16)
480
+ ], entity_defaults.prototype, "warehouse_z", void 0);
481
+ __decorate([
482
+ Struct.field(UInt16)
483
+ ], entity_defaults.prototype, "container_z", void 0);
484
+ entity_defaults = __decorate([
485
+ Struct.type('entity_defaults')
486
+ ], entity_defaults);
487
+ Types.entity_defaults = entity_defaults;
488
+ let item_def = class item_def extends Struct {
489
+ };
490
+ __decorate([
491
+ Struct.field(UInt16)
492
+ ], item_def.prototype, "id", void 0);
493
+ __decorate([
494
+ Struct.field(UInt32)
495
+ ], item_def.prototype, "mass", void 0);
496
+ __decorate([
497
+ Struct.field(UInt8)
498
+ ], item_def.prototype, "type", void 0);
499
+ __decorate([
500
+ Struct.field(UInt8)
501
+ ], item_def.prototype, "subtype", void 0);
502
+ __decorate([
503
+ Struct.field(UInt8)
504
+ ], item_def.prototype, "tier", void 0);
505
+ item_def = __decorate([
506
+ Struct.type('item_def')
507
+ ], item_def);
508
+ Types.item_def = item_def;
509
+ let game_config = class game_config extends Struct {
510
+ };
511
+ __decorate([
512
+ Struct.field(UInt32)
513
+ ], game_config.prototype, "version", void 0);
514
+ __decorate([
515
+ Struct.field(entity_defaults)
516
+ ], game_config.prototype, "defaults", void 0);
517
+ __decorate([
518
+ Struct.field(item_def, { array: true })
519
+ ], game_config.prototype, "items", void 0);
520
+ game_config = __decorate([
521
+ Struct.type('game_config')
522
+ ], game_config);
523
+ Types.game_config = game_config;
524
+ let configlog = class configlog extends Struct {
525
+ };
526
+ __decorate([
527
+ Struct.field(game_config)
528
+ ], configlog.prototype, "config", void 0);
529
+ configlog = __decorate([
530
+ Struct.type('configlog')
531
+ ], configlog);
532
+ Types.configlog = configlog;
533
+ let coordinates = class coordinates extends Struct {
534
+ };
535
+ __decorate([
536
+ Struct.field(Int64)
537
+ ], coordinates.prototype, "x", void 0);
538
+ __decorate([
539
+ Struct.field(Int64)
540
+ ], coordinates.prototype, "y", void 0);
541
+ __decorate([
542
+ Struct.field(UInt16, { optional: true })
543
+ ], coordinates.prototype, "z", void 0);
544
+ coordinates = __decorate([
545
+ Struct.type('coordinates')
546
+ ], coordinates);
547
+ Types.coordinates = coordinates;
548
+ let craft = class craft extends Struct {
549
+ };
550
+ __decorate([
551
+ Struct.field(UInt64)
552
+ ], craft.prototype, "id", void 0);
553
+ __decorate([
554
+ Struct.field(UInt16)
555
+ ], craft.prototype, "recipe_id", void 0);
556
+ __decorate([
557
+ Struct.field(UInt32)
558
+ ], craft.prototype, "quantity", void 0);
559
+ __decorate([
560
+ Struct.field(cargo_item, { array: true })
561
+ ], craft.prototype, "inputs", void 0);
562
+ craft = __decorate([
563
+ Struct.type('craft')
564
+ ], craft);
565
+ Types.craft = craft;
566
+ let crafter_stats = class crafter_stats extends Struct {
567
+ };
568
+ __decorate([
569
+ Struct.field(UInt16)
570
+ ], crafter_stats.prototype, "speed", void 0);
571
+ __decorate([
572
+ Struct.field(UInt16)
573
+ ], crafter_stats.prototype, "drain", void 0);
574
+ crafter_stats = __decorate([
575
+ Struct.type('crafter_stats')
576
+ ], crafter_stats);
577
+ Types.crafter_stats = crafter_stats;
578
+ let createentity = class createentity extends Struct {
579
+ };
580
+ __decorate([
581
+ Struct.field(Name)
582
+ ], createentity.prototype, "owner", void 0);
583
+ __decorate([
584
+ Struct.field(Name)
585
+ ], createentity.prototype, "entity_type", void 0);
586
+ __decorate([
587
+ Struct.field('string')
588
+ ], createentity.prototype, "entity_name", void 0);
589
+ __decorate([
590
+ Struct.field(Int64)
591
+ ], createentity.prototype, "x", void 0);
592
+ __decorate([
593
+ Struct.field(Int64)
594
+ ], createentity.prototype, "y", void 0);
595
+ createentity = __decorate([
596
+ Struct.type('createentity')
597
+ ], createentity);
598
+ Types.createentity = createentity;
599
+ let demolish = class demolish extends Struct {
600
+ };
601
+ __decorate([
602
+ Struct.field(UInt64)
603
+ ], demolish.prototype, "entity_id", void 0);
604
+ demolish = __decorate([
605
+ Struct.type('demolish')
606
+ ], demolish);
607
+ Types.demolish = demolish;
608
+ let deploy = class deploy extends Struct {
609
+ };
610
+ __decorate([
611
+ Struct.field(UInt64)
612
+ ], deploy.prototype, "id", void 0);
613
+ __decorate([
614
+ Struct.field(cargo_ref)
615
+ ], deploy.prototype, "ref", void 0);
616
+ deploy = __decorate([
617
+ Struct.type('deploy')
618
+ ], deploy);
619
+ Types.deploy = deploy;
620
+ let descentity = class descentity extends Struct {
621
+ };
622
+ __decorate([
623
+ Struct.field(UInt16)
624
+ ], descentity.prototype, "item_id", void 0);
625
+ __decorate([
626
+ Struct.field(UInt64)
627
+ ], descentity.prototype, "hull_stats", void 0);
628
+ __decorate([
629
+ Struct.field(UInt16, { array: true })
630
+ ], descentity.prototype, "module_items", void 0);
631
+ __decorate([
632
+ Struct.field(UInt64, { array: true })
633
+ ], descentity.prototype, "module_stats", void 0);
634
+ descentity = __decorate([
635
+ Struct.type('descentity')
636
+ ], descentity);
637
+ Types.descentity = descentity;
638
+ let enable = class enable extends Struct {
639
+ };
640
+ __decorate([
641
+ Struct.field('bool')
642
+ ], enable.prototype, "enabled", void 0);
643
+ enable = __decorate([
644
+ Struct.type('enable')
645
+ ], enable);
646
+ Types.enable = enable;
647
+ let energy_stats = class energy_stats extends Struct {
648
+ };
649
+ __decorate([
650
+ Struct.field(UInt16)
651
+ ], energy_stats.prototype, "capacity", void 0);
652
+ __decorate([
653
+ Struct.field(UInt16)
654
+ ], energy_stats.prototype, "recharge", void 0);
655
+ energy_stats = __decorate([
656
+ Struct.type('energy_stats')
657
+ ], energy_stats);
658
+ Types.energy_stats = energy_stats;
659
+ let entity_current_state = class entity_current_state extends Struct {
660
+ };
661
+ __decorate([
662
+ Struct.field(coordinates)
663
+ ], entity_current_state.prototype, "coordinates", void 0);
664
+ __decorate([
665
+ Struct.field(UInt16)
666
+ ], entity_current_state.prototype, "energy", void 0);
667
+ entity_current_state = __decorate([
668
+ Struct.type('entity_current_state')
669
+ ], entity_current_state);
670
+ Types.entity_current_state = entity_current_state;
671
+ let loader_stats = class loader_stats extends Struct {
672
+ };
673
+ __decorate([
674
+ Struct.field(UInt32)
675
+ ], loader_stats.prototype, "mass", void 0);
676
+ __decorate([
677
+ Struct.field(UInt16)
678
+ ], loader_stats.prototype, "thrust", void 0);
679
+ __decorate([
680
+ Struct.field(UInt8)
681
+ ], loader_stats.prototype, "quantity", void 0);
682
+ loader_stats = __decorate([
683
+ Struct.type('loader_stats')
684
+ ], loader_stats);
685
+ Types.loader_stats = loader_stats;
686
+ let movement_stats = class movement_stats extends Struct {
687
+ };
688
+ __decorate([
689
+ Struct.field(UInt32)
690
+ ], movement_stats.prototype, "thrust", void 0);
691
+ __decorate([
692
+ Struct.field(UInt16)
693
+ ], movement_stats.prototype, "drain", void 0);
694
+ movement_stats = __decorate([
695
+ Struct.type('movement_stats')
696
+ ], movement_stats);
697
+ Types.movement_stats = movement_stats;
698
+ let gatherer_stats = class gatherer_stats extends Struct {
699
+ };
700
+ __decorate([
701
+ Struct.field(UInt16)
702
+ ], gatherer_stats.prototype, "yield", void 0);
703
+ __decorate([
704
+ Struct.field(UInt16)
705
+ ], gatherer_stats.prototype, "drain", void 0);
706
+ __decorate([
707
+ Struct.field(UInt16)
708
+ ], gatherer_stats.prototype, "depth", void 0);
709
+ __decorate([
710
+ Struct.field(UInt16)
711
+ ], gatherer_stats.prototype, "speed", void 0);
712
+ gatherer_stats = __decorate([
713
+ Struct.type('gatherer_stats')
714
+ ], gatherer_stats);
715
+ Types.gatherer_stats = gatherer_stats;
716
+ let hauler_stats = class hauler_stats extends Struct {
717
+ };
718
+ __decorate([
719
+ Struct.field(UInt8)
720
+ ], hauler_stats.prototype, "capacity", void 0);
721
+ __decorate([
722
+ Struct.field(UInt16)
723
+ ], hauler_stats.prototype, "efficiency", void 0);
724
+ __decorate([
725
+ Struct.field(UInt16)
726
+ ], hauler_stats.prototype, "drain", void 0);
727
+ hauler_stats = __decorate([
728
+ Struct.type('hauler_stats')
729
+ ], hauler_stats);
730
+ Types.hauler_stats = hauler_stats;
731
+ let warp_stats = class warp_stats extends Struct {
732
+ };
733
+ __decorate([
734
+ Struct.field(UInt32)
735
+ ], warp_stats.prototype, "range", void 0);
736
+ warp_stats = __decorate([
737
+ Struct.type('warp_stats')
738
+ ], warp_stats);
739
+ Types.warp_stats = warp_stats;
740
+ let task = class task extends Struct {
741
+ };
742
+ __decorate([
743
+ Struct.field(UInt8)
744
+ ], task.prototype, "type", void 0);
745
+ __decorate([
746
+ Struct.field(UInt32)
747
+ ], task.prototype, "duration", void 0);
748
+ __decorate([
749
+ Struct.field(UInt8)
750
+ ], task.prototype, "cancelable", void 0);
751
+ __decorate([
752
+ Struct.field(coordinates, { optional: true })
753
+ ], task.prototype, "coordinates", void 0);
754
+ __decorate([
755
+ Struct.field(cargo_item, { array: true })
756
+ ], task.prototype, "cargo", void 0);
757
+ __decorate([
758
+ Struct.field(entity_ref, { optional: true })
759
+ ], task.prototype, "entitytarget", void 0);
760
+ __decorate([
761
+ Struct.field(UInt64, { optional: true })
762
+ ], task.prototype, "entitygroup", void 0);
763
+ __decorate([
764
+ Struct.field(UInt16, { optional: true })
765
+ ], task.prototype, "energy_cost", void 0);
766
+ task = __decorate([
767
+ Struct.type('task')
768
+ ], task);
769
+ Types.task = task;
770
+ let schedule = class schedule extends Struct {
771
+ };
772
+ __decorate([
773
+ Struct.field(TimePoint)
774
+ ], schedule.prototype, "started", void 0);
775
+ __decorate([
776
+ Struct.field(task, { array: true })
777
+ ], schedule.prototype, "tasks", void 0);
778
+ schedule = __decorate([
779
+ Struct.type('schedule')
780
+ ], schedule);
781
+ Types.schedule = schedule;
782
+ let entity_info = class entity_info extends Struct {
783
+ };
784
+ __decorate([
785
+ Struct.field(Name)
786
+ ], entity_info.prototype, "type", void 0);
787
+ __decorate([
788
+ Struct.field(UInt64)
789
+ ], entity_info.prototype, "id", void 0);
790
+ __decorate([
791
+ Struct.field(Name)
792
+ ], entity_info.prototype, "owner", void 0);
793
+ __decorate([
794
+ Struct.field('string')
795
+ ], entity_info.prototype, "entity_name", void 0);
796
+ __decorate([
797
+ Struct.field(coordinates)
798
+ ], entity_info.prototype, "coordinates", void 0);
799
+ __decorate([
800
+ Struct.field(UInt32)
801
+ ], entity_info.prototype, "cargomass", void 0);
802
+ __decorate([
803
+ Struct.field(cargo_view, { array: true })
804
+ ], entity_info.prototype, "cargo", void 0);
805
+ __decorate([
806
+ Struct.field(loader_stats, { optional: true })
807
+ ], entity_info.prototype, "loaders", void 0);
808
+ __decorate([
809
+ Struct.field(module_entry, { array: true })
810
+ ], entity_info.prototype, "modules", void 0);
811
+ __decorate([
812
+ Struct.field(UInt16, { optional: true })
813
+ ], entity_info.prototype, "energy", void 0);
814
+ __decorate([
815
+ Struct.field(UInt32, { optional: true })
816
+ ], entity_info.prototype, "hullmass", void 0);
817
+ __decorate([
818
+ Struct.field(movement_stats, { optional: true })
819
+ ], entity_info.prototype, "engines", void 0);
820
+ __decorate([
821
+ Struct.field(energy_stats, { optional: true })
822
+ ], entity_info.prototype, "generator", void 0);
823
+ __decorate([
824
+ Struct.field(UInt32, { optional: true })
825
+ ], entity_info.prototype, "capacity", void 0);
826
+ __decorate([
827
+ Struct.field(gatherer_stats, { optional: true })
828
+ ], entity_info.prototype, "gatherer", void 0);
829
+ __decorate([
830
+ Struct.field(hauler_stats, { optional: true })
831
+ ], entity_info.prototype, "hauler", void 0);
832
+ __decorate([
833
+ Struct.field(warp_stats, { optional: true })
834
+ ], entity_info.prototype, "warp", void 0);
835
+ __decorate([
836
+ Struct.field(crafter_stats, { optional: true })
837
+ ], entity_info.prototype, "crafter", void 0);
838
+ __decorate([
839
+ Struct.field('bool')
840
+ ], entity_info.prototype, "is_idle", void 0);
841
+ __decorate([
842
+ Struct.field(task, { optional: true })
843
+ ], entity_info.prototype, "current_task", void 0);
844
+ __decorate([
845
+ Struct.field(UInt32)
846
+ ], entity_info.prototype, "current_task_elapsed", void 0);
847
+ __decorate([
848
+ Struct.field(UInt32)
849
+ ], entity_info.prototype, "current_task_remaining", void 0);
850
+ __decorate([
851
+ Struct.field(task, { array: true })
852
+ ], entity_info.prototype, "pending_tasks", void 0);
853
+ __decorate([
854
+ Struct.field(TimePoint, { optional: true })
855
+ ], entity_info.prototype, "idle_at", void 0);
856
+ __decorate([
857
+ Struct.field(schedule, { optional: true })
858
+ ], entity_info.prototype, "schedule", void 0);
859
+ entity_info = __decorate([
860
+ Struct.type('entity_info')
861
+ ], entity_info);
862
+ Types.entity_info = entity_info;
863
+ let slot_def = class slot_def extends Struct {
864
+ };
865
+ __decorate([
866
+ Struct.field(UInt8)
867
+ ], slot_def.prototype, "type", void 0);
868
+ __decorate([
869
+ Struct.field(UInt16)
870
+ ], slot_def.prototype, "output_pct", void 0);
871
+ slot_def = __decorate([
872
+ Struct.type('slot_def')
873
+ ], slot_def);
874
+ Types.slot_def = slot_def;
875
+ let entity_layout = class entity_layout extends Struct {
876
+ };
877
+ __decorate([
878
+ Struct.field(UInt16)
879
+ ], entity_layout.prototype, "entity_item_id", void 0);
880
+ __decorate([
881
+ Struct.field(slot_def, { array: true })
882
+ ], entity_layout.prototype, "slots", void 0);
883
+ entity_layout = __decorate([
884
+ Struct.type('entity_layout')
885
+ ], entity_layout);
886
+ Types.entity_layout = entity_layout;
887
+ let entity_layouts_result = class entity_layouts_result extends Struct {
888
+ };
889
+ __decorate([
890
+ Struct.field(entity_layout, { array: true })
891
+ ], entity_layouts_result.prototype, "entities", void 0);
892
+ entity_layouts_result = __decorate([
893
+ Struct.type('entity_layouts_result')
894
+ ], entity_layouts_result);
895
+ Types.entity_layouts_result = entity_layouts_result;
896
+ let entity_row = class entity_row extends Struct {
897
+ };
898
+ __decorate([
899
+ Struct.field(UInt64)
900
+ ], entity_row.prototype, "id", void 0);
901
+ __decorate([
902
+ Struct.field(Name)
903
+ ], entity_row.prototype, "owner", void 0);
904
+ __decorate([
905
+ Struct.field(Name)
906
+ ], entity_row.prototype, "kind", void 0);
907
+ __decorate([
908
+ Struct.field('string')
909
+ ], entity_row.prototype, "name", void 0);
910
+ __decorate([
911
+ Struct.field(UInt64)
912
+ ], entity_row.prototype, "stats", void 0);
913
+ __decorate([
914
+ Struct.field(coordinates)
915
+ ], entity_row.prototype, "coordinates", void 0);
916
+ __decorate([
917
+ Struct.field(UInt32, { optional: true })
918
+ ], entity_row.prototype, "hullmass", void 0);
919
+ __decorate([
920
+ Struct.field(UInt32, { optional: true })
921
+ ], entity_row.prototype, "capacity", void 0);
922
+ __decorate([
923
+ Struct.field(UInt16, { optional: true })
924
+ ], entity_row.prototype, "energy", void 0);
925
+ __decorate([
926
+ Struct.field(UInt32)
927
+ ], entity_row.prototype, "cargomass", void 0);
928
+ __decorate([
929
+ Struct.field(movement_stats, { optional: true })
930
+ ], entity_row.prototype, "engines", void 0);
931
+ __decorate([
932
+ Struct.field(energy_stats, { optional: true })
933
+ ], entity_row.prototype, "generator", void 0);
934
+ __decorate([
935
+ Struct.field(loader_stats, { optional: true })
936
+ ], entity_row.prototype, "loaders", void 0);
937
+ __decorate([
938
+ Struct.field(gatherer_stats, { optional: true })
939
+ ], entity_row.prototype, "gatherer", void 0);
940
+ __decorate([
941
+ Struct.field(warp_stats, { optional: true })
942
+ ], entity_row.prototype, "warp", void 0);
943
+ __decorate([
944
+ Struct.field(crafter_stats, { optional: true })
945
+ ], entity_row.prototype, "crafter", void 0);
946
+ __decorate([
947
+ Struct.field(hauler_stats, { optional: true })
948
+ ], entity_row.prototype, "hauler", void 0);
949
+ __decorate([
950
+ Struct.field(module_entry, { array: true })
951
+ ], entity_row.prototype, "modules", void 0);
952
+ __decorate([
953
+ Struct.field(schedule, { optional: true })
954
+ ], entity_row.prototype, "schedule", void 0);
955
+ __decorate([
956
+ Struct.field(UInt16)
957
+ ], entity_row.prototype, "item_id", void 0);
958
+ entity_row = __decorate([
959
+ Struct.type('entity_row')
960
+ ], entity_row);
961
+ Types.entity_row = entity_row;
962
+ let entity_summary = class entity_summary extends Struct {
963
+ };
964
+ __decorate([
965
+ Struct.field(Name)
966
+ ], entity_summary.prototype, "type", void 0);
967
+ __decorate([
968
+ Struct.field(UInt64)
969
+ ], entity_summary.prototype, "id", void 0);
970
+ __decorate([
971
+ Struct.field(Name)
972
+ ], entity_summary.prototype, "owner", void 0);
973
+ __decorate([
974
+ Struct.field('string')
975
+ ], entity_summary.prototype, "entity_name", void 0);
976
+ __decorate([
977
+ Struct.field(coordinates)
978
+ ], entity_summary.prototype, "coordinates", void 0);
979
+ __decorate([
980
+ Struct.field('bool')
981
+ ], entity_summary.prototype, "is_idle", void 0);
982
+ __decorate([
983
+ Struct.field(UInt32)
984
+ ], entity_summary.prototype, "resolved_count", void 0);
985
+ __decorate([
986
+ Struct.field(UInt32)
987
+ ], entity_summary.prototype, "pending_count", void 0);
988
+ entity_summary = __decorate([
989
+ Struct.type('entity_summary')
990
+ ], entity_summary);
991
+ Types.entity_summary = entity_summary;
992
+ let entity_task_info = class entity_task_info extends Struct {
993
+ };
994
+ __decorate([
995
+ Struct.field(UInt64)
996
+ ], entity_task_info.prototype, "entity_id", void 0);
997
+ __decorate([
998
+ Struct.field(Name)
999
+ ], entity_task_info.prototype, "entity_type", void 0);
1000
+ __decorate([
1001
+ Struct.field(UInt8)
1002
+ ], entity_task_info.prototype, "task_count", void 0);
1003
+ __decorate([
1004
+ Struct.field(TimePoint)
1005
+ ], entity_task_info.prototype, "schedule_started", void 0);
1006
+ entity_task_info = __decorate([
1007
+ Struct.type('entity_task_info')
1008
+ ], entity_task_info);
1009
+ Types.entity_task_info = entity_task_info;
1010
+ let entitygroup_row = class entitygroup_row extends Struct {
1011
+ };
1012
+ __decorate([
1013
+ Struct.field(UInt64)
1014
+ ], entitygroup_row.prototype, "id", void 0);
1015
+ __decorate([
1016
+ Struct.field(entity_ref, { array: true })
1017
+ ], entitygroup_row.prototype, "participants", void 0);
1018
+ entitygroup_row = __decorate([
1019
+ Struct.type('entitygroup_row')
1020
+ ], entitygroup_row);
1021
+ Types.entitygroup_row = entitygroup_row;
1022
+ let enum_member = class enum_member extends Struct {
1023
+ };
1024
+ __decorate([
1025
+ Struct.field(UInt8)
1026
+ ], enum_member.prototype, "value", void 0);
1027
+ __decorate([
1028
+ Struct.field('string')
1029
+ ], enum_member.prototype, "name", void 0);
1030
+ enum_member = __decorate([
1031
+ Struct.type('enum_member')
1032
+ ], enum_member);
1033
+ Types.enum_member = enum_member;
1034
+ let enum_result = class enum_result extends Struct {
1035
+ };
1036
+ __decorate([
1037
+ Struct.field(enum_member, { array: true })
1038
+ ], enum_result.prototype, "members", void 0);
1039
+ enum_result = __decorate([
1040
+ Struct.type('enum_result')
1041
+ ], enum_result);
1042
+ Types.enum_result = enum_result;
1043
+ let fixcargomass = class fixcargomass extends Struct {
1044
+ };
1045
+ __decorate([
1046
+ Struct.field(UInt64)
1047
+ ], fixcargomass.prototype, "entity_id", void 0);
1048
+ fixcargomass = __decorate([
1049
+ Struct.type('fixcargomass')
1050
+ ], fixcargomass);
1051
+ Types.fixcargomass = fixcargomass;
1052
+ let gather = class gather extends Struct {
1053
+ };
1054
+ __decorate([
1055
+ Struct.field(UInt64)
1056
+ ], gather.prototype, "source_id", void 0);
1057
+ __decorate([
1058
+ Struct.field(UInt64)
1059
+ ], gather.prototype, "destination_id", void 0);
1060
+ __decorate([
1061
+ Struct.field(UInt16)
1062
+ ], gather.prototype, "stratum", void 0);
1063
+ __decorate([
1064
+ Struct.field(UInt32)
1065
+ ], gather.prototype, "quantity", void 0);
1066
+ gather = __decorate([
1067
+ Struct.type('gather')
1068
+ ], gather);
1069
+ Types.gather = gather;
1070
+ let getconfig = class getconfig extends Struct {
1071
+ };
1072
+ getconfig = __decorate([
1073
+ Struct.type('getconfig')
1074
+ ], getconfig);
1075
+ Types.getconfig = getconfig;
1076
+ let geteligible = class geteligible extends Struct {
1077
+ };
1078
+ __decorate([
1079
+ Struct.field(coordinates)
1080
+ ], geteligible.prototype, "coords", void 0);
1081
+ __decorate([
1082
+ Struct.field(UInt16)
1083
+ ], geteligible.prototype, "stratum", void 0);
1084
+ geteligible = __decorate([
1085
+ Struct.type('geteligible')
1086
+ ], geteligible);
1087
+ Types.geteligible = geteligible;
1088
+ let getentcls = class getentcls extends Struct {
1089
+ };
1090
+ getentcls = __decorate([
1091
+ Struct.type('getentcls')
1092
+ ], getentcls);
1093
+ Types.getentcls = getentcls;
1094
+ let getentities = class getentities extends Struct {
1095
+ };
1096
+ __decorate([
1097
+ Struct.field(Name)
1098
+ ], getentities.prototype, "owner", void 0);
1099
+ __decorate([
1100
+ Struct.field(Name, { optional: true })
1101
+ ], getentities.prototype, "entity_type", void 0);
1102
+ getentities = __decorate([
1103
+ Struct.type('getentities')
1104
+ ], getentities);
1105
+ Types.getentities = getentities;
1106
+ let getentity = class getentity extends Struct {
1107
+ };
1108
+ __decorate([
1109
+ Struct.field(UInt64)
1110
+ ], getentity.prototype, "entity_id", void 0);
1111
+ getentity = __decorate([
1112
+ Struct.type('getentity')
1113
+ ], getentity);
1114
+ Types.getentity = getentity;
1115
+ let getitemdata = class getitemdata extends Struct {
1116
+ };
1117
+ getitemdata = __decorate([
1118
+ Struct.type('getitemdata')
1119
+ ], getitemdata);
1120
+ Types.getitemdata = getitemdata;
1121
+ let getitemids = class getitemids extends Struct {
1122
+ };
1123
+ getitemids = __decorate([
1124
+ Struct.type('getitemids')
1125
+ ], getitemids);
1126
+ Types.getitemids = getitemids;
1127
+ let getitems = class getitems extends Struct {
1128
+ };
1129
+ getitems = __decorate([
1130
+ Struct.type('getitems')
1131
+ ], getitems);
1132
+ Types.getitems = getitems;
1133
+ let getitemtypes = class getitemtypes extends Struct {
1134
+ };
1135
+ getitemtypes = __decorate([
1136
+ Struct.type('getitemtypes')
1137
+ ], getitemtypes);
1138
+ Types.getitemtypes = getitemtypes;
1139
+ let getkindmeta = class getkindmeta extends Struct {
1140
+ };
1141
+ getkindmeta = __decorate([
1142
+ Struct.type('getkindmeta')
1143
+ ], getkindmeta);
1144
+ Types.getkindmeta = getkindmeta;
1145
+ let getlocation = class getlocation extends Struct {
1146
+ };
1147
+ __decorate([
1148
+ Struct.field(Int64)
1149
+ ], getlocation.prototype, "x", void 0);
1150
+ __decorate([
1151
+ Struct.field(Int64)
1152
+ ], getlocation.prototype, "y", void 0);
1153
+ getlocation = __decorate([
1154
+ Struct.type('getlocation')
1155
+ ], getlocation);
1156
+ Types.getlocation = getlocation;
1157
+ let getlocdata = class getlocdata extends Struct {
1158
+ };
1159
+ __decorate([
1160
+ Struct.field(Int64)
1161
+ ], getlocdata.prototype, "x", void 0);
1162
+ __decorate([
1163
+ Struct.field(Int64)
1164
+ ], getlocdata.prototype, "y", void 0);
1165
+ getlocdata = __decorate([
1166
+ Struct.type('getlocdata')
1167
+ ], getlocdata);
1168
+ Types.getlocdata = getlocdata;
1169
+ let getmodtypes = class getmodtypes extends Struct {
1170
+ };
1171
+ getmodtypes = __decorate([
1172
+ Struct.type('getmodtypes')
1173
+ ], getmodtypes);
1174
+ Types.getmodtypes = getmodtypes;
1175
+ let getmodules = class getmodules extends Struct {
1176
+ };
1177
+ getmodules = __decorate([
1178
+ Struct.type('getmodules')
1179
+ ], getmodules);
1180
+ Types.getmodules = getmodules;
1181
+ let getnearby = class getnearby extends Struct {
1182
+ };
1183
+ __decorate([
1184
+ Struct.field(UInt64)
1185
+ ], getnearby.prototype, "entity_id", void 0);
1186
+ __decorate([
1187
+ Struct.field('bool')
1188
+ ], getnearby.prototype, "recharge", void 0);
1189
+ getnearby = __decorate([
1190
+ Struct.type('getnearby')
1191
+ ], getnearby);
1192
+ Types.getnearby = getnearby;
1193
+ let getnftinfo = class getnftinfo extends Struct {
1194
+ };
1195
+ getnftinfo = __decorate([
1196
+ Struct.type('getnftinfo')
1197
+ ], getnftinfo);
1198
+ Types.getnftinfo = getnftinfo;
1199
+ let getplayer = class getplayer extends Struct {
1200
+ };
1201
+ __decorate([
1202
+ Struct.field(Name)
1203
+ ], getplayer.prototype, "account", void 0);
1204
+ getplayer = __decorate([
1205
+ Struct.type('getplayer')
1206
+ ], getplayer);
1207
+ Types.getplayer = getplayer;
1208
+ let getprojstate = class getprojstate extends Struct {
1209
+ };
1210
+ __decorate([
1211
+ Struct.field(UInt64)
1212
+ ], getprojstate.prototype, "entity_id", void 0);
1213
+ __decorate([
1214
+ Struct.field(UInt8, { optional: true })
1215
+ ], getprojstate.prototype, "task_count", void 0);
1216
+ getprojstate = __decorate([
1217
+ Struct.type('getprojstate')
1218
+ ], getprojstate);
1219
+ Types.getprojstate = getprojstate;
1220
+ let getrecipe = class getrecipe extends Struct {
1221
+ };
1222
+ __decorate([
1223
+ Struct.field(UInt16)
1224
+ ], getrecipe.prototype, "output_item_id", void 0);
1225
+ getrecipe = __decorate([
1226
+ Struct.type('getrecipe')
1227
+ ], getrecipe);
1228
+ Types.getrecipe = getrecipe;
1229
+ let getrecipes = class getrecipes extends Struct {
1230
+ };
1231
+ __decorate([
1232
+ Struct.field(UInt16)
1233
+ ], getrecipes.prototype, "lower_bound", void 0);
1234
+ __decorate([
1235
+ Struct.field(UInt8)
1236
+ ], getrecipes.prototype, "limit", void 0);
1237
+ getrecipes = __decorate([
1238
+ Struct.type('getrecipes')
1239
+ ], getrecipes);
1240
+ Types.getrecipes = getrecipes;
1241
+ let getrescats = class getrescats extends Struct {
1242
+ };
1243
+ getrescats = __decorate([
1244
+ Struct.type('getrescats')
1245
+ ], getrescats);
1246
+ Types.getrescats = getrescats;
1247
+ let getreserves = class getreserves extends Struct {
1248
+ };
1249
+ __decorate([
1250
+ Struct.field(Int64)
1251
+ ], getreserves.prototype, "x", void 0);
1252
+ __decorate([
1253
+ Struct.field(Int64)
1254
+ ], getreserves.prototype, "y", void 0);
1255
+ getreserves = __decorate([
1256
+ Struct.type('getreserves')
1257
+ ], getreserves);
1258
+ Types.getreserves = getreserves;
1259
+ let getresources = class getresources extends Struct {
1260
+ };
1261
+ getresources = __decorate([
1262
+ Struct.type('getresources')
1263
+ ], getresources);
1264
+ Types.getresources = getresources;
1265
+ let getslots = class getslots extends Struct {
1266
+ };
1267
+ getslots = __decorate([
1268
+ Struct.type('getslots')
1269
+ ], getslots);
1270
+ Types.getslots = getslots;
1271
+ let getstratum = class getstratum extends Struct {
1272
+ };
1273
+ __decorate([
1274
+ Struct.field(Int64)
1275
+ ], getstratum.prototype, "x", void 0);
1276
+ __decorate([
1277
+ Struct.field(Int64)
1278
+ ], getstratum.prototype, "y", void 0);
1279
+ __decorate([
1280
+ Struct.field(UInt16)
1281
+ ], getstratum.prototype, "stratum", void 0);
1282
+ getstratum = __decorate([
1283
+ Struct.type('getstratum')
1284
+ ], getstratum);
1285
+ Types.getstratum = getstratum;
1286
+ let getsummaries = class getsummaries extends Struct {
1287
+ };
1288
+ __decorate([
1289
+ Struct.field(Name)
1290
+ ], getsummaries.prototype, "owner", void 0);
1291
+ __decorate([
1292
+ Struct.field(Name, { optional: true })
1293
+ ], getsummaries.prototype, "entity_type", void 0);
1294
+ getsummaries = __decorate([
1295
+ Struct.type('getsummaries')
1296
+ ], getsummaries);
1297
+ Types.getsummaries = getsummaries;
1298
+ let grouptravel = class grouptravel extends Struct {
1299
+ };
1300
+ __decorate([
1301
+ Struct.field(entity_ref, { array: true })
1302
+ ], grouptravel.prototype, "entities", void 0);
1303
+ __decorate([
1304
+ Struct.field(Int64)
1305
+ ], grouptravel.prototype, "x", void 0);
1306
+ __decorate([
1307
+ Struct.field(Int64)
1308
+ ], grouptravel.prototype, "y", void 0);
1309
+ __decorate([
1310
+ Struct.field('bool')
1311
+ ], grouptravel.prototype, "recharge", void 0);
1312
+ grouptravel = __decorate([
1313
+ Struct.type('grouptravel')
1314
+ ], grouptravel);
1315
+ Types.grouptravel = grouptravel;
1316
+ let hash = class hash extends Struct {
1317
+ };
1318
+ __decorate([
1319
+ Struct.field('string')
1320
+ ], hash.prototype, "value", void 0);
1321
+ hash = __decorate([
1322
+ Struct.type('hash')
1323
+ ], hash);
1324
+ Types.hash = hash;
1325
+ let hash512 = class hash512 extends Struct {
1326
+ };
1327
+ __decorate([
1328
+ Struct.field('string')
1329
+ ], hash512.prototype, "value", void 0);
1330
+ hash512 = __decorate([
1331
+ Struct.type('hash512')
1332
+ ], hash512);
1333
+ Types.hash512 = hash512;
1334
+ let initialize = class initialize extends Struct {
1335
+ };
1336
+ __decorate([
1337
+ Struct.field(Checksum256)
1338
+ ], initialize.prototype, "seed", void 0);
1339
+ initialize = __decorate([
1340
+ Struct.type('initialize')
1341
+ ], initialize);
1342
+ Types.initialize = initialize;
1343
+ let item_id_pair = class item_id_pair extends Struct {
1344
+ };
1345
+ __decorate([
1346
+ Struct.field(UInt16)
1347
+ ], item_id_pair.prototype, "id", void 0);
1348
+ __decorate([
1349
+ Struct.field('string')
1350
+ ], item_id_pair.prototype, "name", void 0);
1351
+ item_id_pair = __decorate([
1352
+ Struct.type('item_id_pair')
1353
+ ], item_id_pair);
1354
+ Types.item_id_pair = item_id_pair;
1355
+ let item_ids_result = class item_ids_result extends Struct {
1356
+ };
1357
+ __decorate([
1358
+ Struct.field(item_id_pair, { array: true })
1359
+ ], item_ids_result.prototype, "items", void 0);
1360
+ item_ids_result = __decorate([
1361
+ Struct.type('item_ids_result')
1362
+ ], item_ids_result);
1363
+ Types.item_ids_result = item_ids_result;
1364
+ let recipe_input = class recipe_input extends Struct {
1365
+ };
1366
+ __decorate([
1367
+ Struct.field(UInt16)
1368
+ ], recipe_input.prototype, "item_id", void 0);
1369
+ __decorate([
1370
+ Struct.field(UInt8)
1371
+ ], recipe_input.prototype, "category", void 0);
1372
+ __decorate([
1373
+ Struct.field(UInt8)
1374
+ ], recipe_input.prototype, "tier", void 0);
1375
+ __decorate([
1376
+ Struct.field(UInt32)
1377
+ ], recipe_input.prototype, "quantity", void 0);
1378
+ recipe_input = __decorate([
1379
+ Struct.type('recipe_input')
1380
+ ], recipe_input);
1381
+ Types.recipe_input = recipe_input;
1382
+ let stat_source = class stat_source extends Struct {
1383
+ };
1384
+ __decorate([
1385
+ Struct.field(UInt8)
1386
+ ], stat_source.prototype, "input_index", void 0);
1387
+ __decorate([
1388
+ Struct.field(UInt8)
1389
+ ], stat_source.prototype, "input_stat_index", void 0);
1390
+ stat_source = __decorate([
1391
+ Struct.type('stat_source')
1392
+ ], stat_source);
1393
+ Types.stat_source = stat_source;
1394
+ let stat_slot_response = class stat_slot_response extends Struct {
1395
+ };
1396
+ __decorate([
1397
+ Struct.field(stat_source, { array: true })
1398
+ ], stat_slot_response.prototype, "sources", void 0);
1399
+ stat_slot_response = __decorate([
1400
+ Struct.type('stat_slot_response')
1401
+ ], stat_slot_response);
1402
+ Types.stat_slot_response = stat_slot_response;
1403
+ let recipe_item_info = class recipe_item_info extends Struct {
1404
+ };
1405
+ __decorate([
1406
+ Struct.field(UInt16)
1407
+ ], recipe_item_info.prototype, "id", void 0);
1408
+ __decorate([
1409
+ Struct.field(UInt32)
1410
+ ], recipe_item_info.prototype, "mass", void 0);
1411
+ recipe_item_info = __decorate([
1412
+ Struct.type('recipe_item_info')
1413
+ ], recipe_item_info);
1414
+ Types.recipe_item_info = recipe_item_info;
1415
+ let recipe_response = class recipe_response extends Struct {
1416
+ };
1417
+ __decorate([
1418
+ Struct.field(UInt16)
1419
+ ], recipe_response.prototype, "output_item_id", void 0);
1420
+ __decorate([
1421
+ Struct.field(UInt32)
1422
+ ], recipe_response.prototype, "output_mass", void 0);
1423
+ __decorate([
1424
+ Struct.field(recipe_input, { array: true })
1425
+ ], recipe_response.prototype, "inputs", void 0);
1426
+ __decorate([
1427
+ Struct.field(stat_slot_response, { array: true })
1428
+ ], recipe_response.prototype, "stat_slots", void 0);
1429
+ __decorate([
1430
+ Struct.field(Bytes)
1431
+ ], recipe_response.prototype, "blend_weights", void 0);
1432
+ __decorate([
1433
+ Struct.field(recipe_item_info)
1434
+ ], recipe_response.prototype, "output_item", void 0);
1435
+ __decorate([
1436
+ Struct.field(recipe_item_info, { array: true })
1437
+ ], recipe_response.prototype, "input_items", void 0);
1438
+ recipe_response = __decorate([
1439
+ Struct.type('recipe_response')
1440
+ ], recipe_response);
1441
+ Types.recipe_response = recipe_response;
1442
+ let recipes_result = class recipes_result extends Struct {
1443
+ };
1444
+ __decorate([
1445
+ Struct.field(recipe_response, { array: true })
1446
+ ], recipes_result.prototype, "recipes", void 0);
1447
+ recipes_result = __decorate([
1448
+ Struct.type('recipes_result')
1449
+ ], recipes_result);
1450
+ Types.recipes_result = recipes_result;
1451
+ let itemdata_result = class itemdata_result extends Struct {
1452
+ };
1453
+ __decorate([
1454
+ Struct.field(item_def, { array: true })
1455
+ ], itemdata_result.prototype, "items", void 0);
1456
+ __decorate([
1457
+ Struct.field(recipes_result)
1458
+ ], itemdata_result.prototype, "recipes", void 0);
1459
+ itemdata_result = __decorate([
1460
+ Struct.type('itemdata_result')
1461
+ ], itemdata_result);
1462
+ Types.itemdata_result = itemdata_result;
1463
+ let items_info = class items_info extends Struct {
1464
+ };
1465
+ __decorate([
1466
+ Struct.field(item_def, { array: true })
1467
+ ], items_info.prototype, "items", void 0);
1468
+ items_info = __decorate([
1469
+ Struct.type('items_info')
1470
+ ], items_info);
1471
+ Types.items_info = items_info;
1472
+ let join = class join extends Struct {
1473
+ };
1474
+ __decorate([
1475
+ Struct.field(Name)
1476
+ ], join.prototype, "account", void 0);
1477
+ join = __decorate([
1478
+ Struct.type('join')
1479
+ ], join);
1480
+ Types.join = join;
1481
+ let kind_meta_row = class kind_meta_row extends Struct {
1482
+ };
1483
+ __decorate([
1484
+ Struct.field(Name)
1485
+ ], kind_meta_row.prototype, "kind", void 0);
1486
+ __decorate([
1487
+ Struct.field(UInt8)
1488
+ ], kind_meta_row.prototype, "classification", void 0);
1489
+ __decorate([
1490
+ Struct.field(UInt8)
1491
+ ], kind_meta_row.prototype, "capability_flags", void 0);
1492
+ __decorate([
1493
+ Struct.field(UInt32)
1494
+ ], kind_meta_row.prototype, "z_coord", void 0);
1495
+ __decorate([
1496
+ Struct.field('string')
1497
+ ], kind_meta_row.prototype, "default_label", void 0);
1498
+ kind_meta_row = __decorate([
1499
+ Struct.type('kind_meta_row')
1500
+ ], kind_meta_row);
1501
+ Types.kind_meta_row = kind_meta_row;
1502
+ let template_meta_row = class template_meta_row extends Struct {
1503
+ };
1504
+ __decorate([
1505
+ Struct.field(UInt16)
1506
+ ], template_meta_row.prototype, "item_id", void 0);
1507
+ __decorate([
1508
+ Struct.field(Name)
1509
+ ], template_meta_row.prototype, "kind", void 0);
1510
+ __decorate([
1511
+ Struct.field('string')
1512
+ ], template_meta_row.prototype, "display_label", void 0);
1513
+ template_meta_row = __decorate([
1514
+ Struct.type('template_meta_row')
1515
+ ], template_meta_row);
1516
+ Types.template_meta_row = template_meta_row;
1517
+ let kind_meta_result = class kind_meta_result extends Struct {
1518
+ };
1519
+ __decorate([
1520
+ Struct.field(kind_meta_row, { array: true })
1521
+ ], kind_meta_result.prototype, "kinds", void 0);
1522
+ __decorate([
1523
+ Struct.field(template_meta_row, { array: true })
1524
+ ], kind_meta_result.prototype, "templates", void 0);
1525
+ kind_meta_result = __decorate([
1526
+ Struct.type('kind_meta_result')
1527
+ ], kind_meta_result);
1528
+ Types.kind_meta_result = kind_meta_result;
1529
+ let location_static = class location_static extends Struct {
1530
+ };
1531
+ __decorate([
1532
+ Struct.field(coordinates)
1533
+ ], location_static.prototype, "coords", void 0);
1534
+ __decorate([
1535
+ Struct.field(UInt8)
1536
+ ], location_static.prototype, "type", void 0);
1537
+ __decorate([
1538
+ Struct.field(UInt8)
1539
+ ], location_static.prototype, "subtype", void 0);
1540
+ __decorate([
1541
+ Struct.field(UInt8)
1542
+ ], location_static.prototype, "seed0", void 0);
1543
+ __decorate([
1544
+ Struct.field(UInt8)
1545
+ ], location_static.prototype, "seed1", void 0);
1546
+ location_static = __decorate([
1547
+ Struct.type('location_static')
1548
+ ], location_static);
1549
+ Types.location_static = location_static;
1550
+ let location_derived = class location_derived extends Struct {
1551
+ };
1552
+ __decorate([
1553
+ Struct.field(location_static)
1554
+ ], location_derived.prototype, "static_props", void 0);
1555
+ __decorate([
1556
+ Struct.field(UInt16)
1557
+ ], location_derived.prototype, "size", void 0);
1558
+ location_derived = __decorate([
1559
+ Struct.type('location_derived')
1560
+ ], location_derived);
1561
+ Types.location_derived = location_derived;
1562
+ let location_info = class location_info extends Struct {
1563
+ };
1564
+ __decorate([
1565
+ Struct.field(coordinates)
1566
+ ], location_info.prototype, "coords", void 0);
1567
+ __decorate([
1568
+ Struct.field('bool')
1569
+ ], location_info.prototype, "is_system", void 0);
1570
+ location_info = __decorate([
1571
+ Struct.type('location_info')
1572
+ ], location_info);
1573
+ Types.location_info = location_info;
1574
+ let module_info = class module_info extends Struct {
1575
+ };
1576
+ __decorate([
1577
+ Struct.field(UInt16)
1578
+ ], module_info.prototype, "id", void 0);
1579
+ __decorate([
1580
+ Struct.field(UInt32)
1581
+ ], module_info.prototype, "mass", void 0);
1582
+ __decorate([
1583
+ Struct.field(UInt8)
1584
+ ], module_info.prototype, "module_type", void 0);
1585
+ __decorate([
1586
+ Struct.field(UInt8)
1587
+ ], module_info.prototype, "tier", void 0);
1588
+ module_info = __decorate([
1589
+ Struct.type('module_info')
1590
+ ], module_info);
1591
+ Types.module_info = module_info;
1592
+ let modules_result = class modules_result extends Struct {
1593
+ };
1594
+ __decorate([
1595
+ Struct.field(module_info, { array: true })
1596
+ ], modules_result.prototype, "modules", void 0);
1597
+ modules_result = __decorate([
1598
+ Struct.type('modules_result')
1599
+ ], modules_result);
1600
+ Types.modules_result = modules_result;
1601
+ let nearby_system = class nearby_system extends Struct {
1602
+ };
1603
+ __decorate([
1604
+ Struct.field(UInt64)
1605
+ ], nearby_system.prototype, "distance", void 0);
1606
+ __decorate([
1607
+ Struct.field(UInt64)
1608
+ ], nearby_system.prototype, "energy_cost", void 0);
1609
+ __decorate([
1610
+ Struct.field(UInt32)
1611
+ ], nearby_system.prototype, "flight_time", void 0);
1612
+ __decorate([
1613
+ Struct.field(location_info)
1614
+ ], nearby_system.prototype, "location", void 0);
1615
+ nearby_system = __decorate([
1616
+ Struct.type('nearby_system')
1617
+ ], nearby_system);
1618
+ Types.nearby_system = nearby_system;
1619
+ let nearby_info = class nearby_info extends Struct {
1620
+ };
1621
+ __decorate([
1622
+ Struct.field('bool')
1623
+ ], nearby_info.prototype, "can_travel", void 0);
1624
+ __decorate([
1625
+ Struct.field(entity_current_state)
1626
+ ], nearby_info.prototype, "current", void 0);
1627
+ __decorate([
1628
+ Struct.field(entity_current_state)
1629
+ ], nearby_info.prototype, "projected", void 0);
1630
+ __decorate([
1631
+ Struct.field(UInt16)
1632
+ ], nearby_info.prototype, "max_energy", void 0);
1633
+ __decorate([
1634
+ Struct.field(nearby_system, { array: true })
1635
+ ], nearby_info.prototype, "systems", void 0);
1636
+ nearby_info = __decorate([
1637
+ Struct.type('nearby_info')
1638
+ ], nearby_info);
1639
+ Types.nearby_info = nearby_info;
1640
+ let nft_item_payload = class nft_item_payload extends Struct {
1641
+ };
1642
+ __decorate([
1643
+ Struct.field(cargo_item)
1644
+ ], nft_item_payload.prototype, "item", void 0);
1645
+ __decorate([
1646
+ Struct.field(coordinates, { optional: true })
1647
+ ], nft_item_payload.prototype, "location", void 0);
1648
+ nft_item_payload = __decorate([
1649
+ Struct.type('nft_item_payload')
1650
+ ], nft_item_payload);
1651
+ Types.nft_item_payload = nft_item_payload;
1652
+ let schema_field = class schema_field extends Struct {
1653
+ };
1654
+ __decorate([
1655
+ Struct.field('string')
1656
+ ], schema_field.prototype, "name", void 0);
1657
+ __decorate([
1658
+ Struct.field('string')
1659
+ ], schema_field.prototype, "field_type", void 0);
1660
+ schema_field = __decorate([
1661
+ Struct.type('schema_field')
1662
+ ], schema_field);
1663
+ Types.schema_field = schema_field;
1664
+ let nft_schema_def = class nft_schema_def extends Struct {
1665
+ };
1666
+ __decorate([
1667
+ Struct.field(Name)
1668
+ ], nft_schema_def.prototype, "schema_name", void 0);
1669
+ __decorate([
1670
+ Struct.field(schema_field, { array: true })
1671
+ ], nft_schema_def.prototype, "fields", void 0);
1672
+ nft_schema_def = __decorate([
1673
+ Struct.type('nft_schema_def')
1674
+ ], nft_schema_def);
1675
+ Types.nft_schema_def = nft_schema_def;
1676
+ let nft_template_def = class nft_template_def extends Struct {
1677
+ };
1678
+ __decorate([
1679
+ Struct.field(UInt16)
1680
+ ], nft_template_def.prototype, "item_id", void 0);
1681
+ __decorate([
1682
+ Struct.field(Name)
1683
+ ], nft_template_def.prototype, "schema_name", void 0);
1684
+ nft_template_def = __decorate([
1685
+ Struct.type('nft_template_def')
1686
+ ], nft_template_def);
1687
+ Types.nft_template_def = nft_template_def;
1688
+ let nftconfig_row = class nftconfig_row extends Struct {
1689
+ };
1690
+ __decorate([
1691
+ Struct.field(UInt16)
1692
+ ], nftconfig_row.prototype, "item_id", void 0);
1693
+ __decorate([
1694
+ Struct.field(Int32)
1695
+ ], nftconfig_row.prototype, "template_id", void 0);
1696
+ __decorate([
1697
+ Struct.field(Name)
1698
+ ], nftconfig_row.prototype, "schema_name", void 0);
1699
+ nftconfig_row = __decorate([
1700
+ Struct.type('nftconfig_row')
1701
+ ], nftconfig_row);
1702
+ Types.nftconfig_row = nftconfig_row;
1703
+ let nftimgurl = class nftimgurl extends Struct {
1704
+ };
1705
+ __decorate([
1706
+ Struct.field(cargo_item)
1707
+ ], nftimgurl.prototype, "item", void 0);
1708
+ __decorate([
1709
+ Struct.field(coordinates, { optional: true })
1710
+ ], nftimgurl.prototype, "location", void 0);
1711
+ nftimgurl = __decorate([
1712
+ Struct.type('nftimgurl')
1713
+ ], nftimgurl);
1714
+ Types.nftimgurl = nftimgurl;
1715
+ let nftinfo_result = class nftinfo_result extends Struct {
1716
+ };
1717
+ __decorate([
1718
+ Struct.field(nft_schema_def, { array: true })
1719
+ ], nftinfo_result.prototype, "schemas", void 0);
1720
+ __decorate([
1721
+ Struct.field(nft_template_def, { array: true })
1722
+ ], nftinfo_result.prototype, "templates", void 0);
1723
+ nftinfo_result = __decorate([
1724
+ Struct.type('nftinfo_result')
1725
+ ], nftinfo_result);
1726
+ Types.nftinfo_result = nftinfo_result;
1727
+ let task_event = class task_event extends Struct {
1728
+ };
1729
+ __decorate([
1730
+ Struct.field(UInt8)
1731
+ ], task_event.prototype, "event_type", void 0);
1732
+ __decorate([
1733
+ Struct.field(Name)
1734
+ ], task_event.prototype, "owner", void 0);
1735
+ __decorate([
1736
+ Struct.field(Name)
1737
+ ], task_event.prototype, "entity_type", void 0);
1738
+ __decorate([
1739
+ Struct.field(UInt64)
1740
+ ], task_event.prototype, "entity_id", void 0);
1741
+ __decorate([
1742
+ Struct.field(UInt8)
1743
+ ], task_event.prototype, "task_index", void 0);
1744
+ __decorate([
1745
+ Struct.field(task)
1746
+ ], task_event.prototype, "task", void 0);
1747
+ __decorate([
1748
+ Struct.field(TimePoint)
1749
+ ], task_event.prototype, "starts_at", void 0);
1750
+ __decorate([
1751
+ Struct.field(TimePoint)
1752
+ ], task_event.prototype, "completes_at", void 0);
1753
+ __decorate([
1754
+ Struct.field(UInt16, { optional: true })
1755
+ ], task_event.prototype, "new_energy", void 0);
1756
+ task_event = __decorate([
1757
+ Struct.type('task_event')
1758
+ ], task_event);
1759
+ Types.task_event = task_event;
1760
+ let notify = class notify extends Struct {
1761
+ };
1762
+ __decorate([
1763
+ Struct.field(task_event)
1764
+ ], notify.prototype, "event", void 0);
1765
+ notify = __decorate([
1766
+ Struct.type('notify')
1767
+ ], notify);
1768
+ Types.notify = notify;
1769
+ let player_info = class player_info extends Struct {
1770
+ };
1771
+ __decorate([
1772
+ Struct.field(Name)
1773
+ ], player_info.prototype, "owner", void 0);
1774
+ __decorate([
1775
+ Struct.field('bool')
1776
+ ], player_info.prototype, "is_player", void 0);
1777
+ __decorate([
1778
+ Struct.field('string')
1779
+ ], player_info.prototype, "company_name", void 0);
1780
+ player_info = __decorate([
1781
+ Struct.type('player_info')
1782
+ ], player_info);
1783
+ Types.player_info = player_info;
1784
+ let player_row = class player_row extends Struct {
1785
+ };
1786
+ __decorate([
1787
+ Struct.field(Name)
1788
+ ], player_row.prototype, "owner", void 0);
1789
+ player_row = __decorate([
1790
+ Struct.type('player_row')
1791
+ ], player_row);
1792
+ Types.player_row = player_row;
1793
+ let projected_state = class projected_state extends Struct {
1794
+ };
1795
+ __decorate([
1796
+ Struct.field(Name)
1797
+ ], projected_state.prototype, "owner", void 0);
1798
+ __decorate([
1799
+ Struct.field(coordinates)
1800
+ ], projected_state.prototype, "coordinates", void 0);
1801
+ __decorate([
1802
+ Struct.field(UInt16, { optional: true })
1803
+ ], projected_state.prototype, "energy", void 0);
1804
+ __decorate([
1805
+ Struct.field(UInt32)
1806
+ ], projected_state.prototype, "cargomass", void 0);
1807
+ __decorate([
1808
+ Struct.field(cargo_view, { array: true })
1809
+ ], projected_state.prototype, "cargo", void 0);
1810
+ __decorate([
1811
+ Struct.field(UInt32, { optional: true })
1812
+ ], projected_state.prototype, "hullmass", void 0);
1813
+ __decorate([
1814
+ Struct.field(movement_stats, { optional: true })
1815
+ ], projected_state.prototype, "engines", void 0);
1816
+ __decorate([
1817
+ Struct.field(loader_stats, { optional: true })
1818
+ ], projected_state.prototype, "loaders", void 0);
1819
+ __decorate([
1820
+ Struct.field(energy_stats, { optional: true })
1821
+ ], projected_state.prototype, "generator", void 0);
1822
+ __decorate([
1823
+ Struct.field(UInt32, { optional: true })
1824
+ ], projected_state.prototype, "capacity", void 0);
1825
+ __decorate([
1826
+ Struct.field(gatherer_stats, { optional: true })
1827
+ ], projected_state.prototype, "gatherer", void 0);
1828
+ __decorate([
1829
+ Struct.field(hauler_stats, { optional: true })
1830
+ ], projected_state.prototype, "hauler", void 0);
1831
+ __decorate([
1832
+ Struct.field(warp_stats, { optional: true })
1833
+ ], projected_state.prototype, "warp", void 0);
1834
+ __decorate([
1835
+ Struct.field(crafter_stats, { optional: true })
1836
+ ], projected_state.prototype, "crafter", void 0);
1837
+ projected_state = __decorate([
1838
+ Struct.type('projected_state')
1839
+ ], projected_state);
1840
+ Types.projected_state = projected_state;
1841
+ let recharge = class recharge extends Struct {
1842
+ };
1843
+ __decorate([
1844
+ Struct.field(UInt64)
1845
+ ], recharge.prototype, "id", void 0);
1846
+ recharge = __decorate([
1847
+ Struct.type('recharge')
1848
+ ], recharge);
1849
+ Types.recharge = recharge;
1850
+ let refrshentity = class refrshentity extends Struct {
1851
+ };
1852
+ __decorate([
1853
+ Struct.field(UInt64)
1854
+ ], refrshentity.prototype, "entity_id", void 0);
1855
+ refrshentity = __decorate([
1856
+ Struct.type('refrshentity')
1857
+ ], refrshentity);
1858
+ Types.refrshentity = refrshentity;
1859
+ let reserve_row = class reserve_row extends Struct {
1860
+ };
1861
+ __decorate([
1862
+ Struct.field(UInt64)
1863
+ ], reserve_row.prototype, "id", void 0);
1864
+ __decorate([
1865
+ Struct.field(UInt64)
1866
+ ], reserve_row.prototype, "coord_id", void 0);
1867
+ __decorate([
1868
+ Struct.field(UInt16)
1869
+ ], reserve_row.prototype, "stratum", void 0);
1870
+ __decorate([
1871
+ Struct.field(UInt32)
1872
+ ], reserve_row.prototype, "remaining", void 0);
1873
+ reserve_row = __decorate([
1874
+ Struct.type('reserve_row')
1875
+ ], reserve_row);
1876
+ Types.reserve_row = reserve_row;
1877
+ let resolve = class resolve extends Struct {
1878
+ };
1879
+ __decorate([
1880
+ Struct.field(UInt64)
1881
+ ], resolve.prototype, "id", void 0);
1882
+ __decorate([
1883
+ Struct.field(UInt64, { optional: true })
1884
+ ], resolve.prototype, "count", void 0);
1885
+ resolve = __decorate([
1886
+ Struct.type('resolve')
1887
+ ], resolve);
1888
+ Types.resolve = resolve;
1889
+ let resolve_results = class resolve_results extends Struct {
1890
+ };
1891
+ __decorate([
1892
+ Struct.field(UInt64)
1893
+ ], resolve_results.prototype, "entity_id", void 0);
1894
+ __decorate([
1895
+ Struct.field(Name)
1896
+ ], resolve_results.prototype, "entity_type", void 0);
1897
+ __decorate([
1898
+ Struct.field(UInt8)
1899
+ ], resolve_results.prototype, "resolved_count", void 0);
1900
+ __decorate([
1901
+ Struct.field(TimePoint, { optional: true })
1902
+ ], resolve_results.prototype, "new_schedule_started", void 0);
1903
+ __decorate([
1904
+ Struct.field(UInt64, { optional: true })
1905
+ ], resolve_results.prototype, "entitygroup", void 0);
1906
+ __decorate([
1907
+ Struct.field(entity_ref, { array: true, optional: true })
1908
+ ], resolve_results.prototype, "group_members", void 0);
1909
+ resolve_results = __decorate([
1910
+ Struct.type('resolve_results')
1911
+ ], resolve_results);
1912
+ Types.resolve_results = resolve_results;
1913
+ let resource_info = class resource_info extends Struct {
1914
+ };
1915
+ __decorate([
1916
+ Struct.field(UInt16)
1917
+ ], resource_info.prototype, "id", void 0);
1918
+ __decorate([
1919
+ Struct.field(UInt32)
1920
+ ], resource_info.prototype, "mass", void 0);
1921
+ __decorate([
1922
+ Struct.field(UInt8)
1923
+ ], resource_info.prototype, "category", void 0);
1924
+ __decorate([
1925
+ Struct.field(UInt8)
1926
+ ], resource_info.prototype, "tier", void 0);
1927
+ resource_info = __decorate([
1928
+ Struct.type('resource_info')
1929
+ ], resource_info);
1930
+ Types.resource_info = resource_info;
1931
+ let resource_stats = class resource_stats extends Struct {
1932
+ };
1933
+ __decorate([
1934
+ Struct.field(UInt16)
1935
+ ], resource_stats.prototype, "stat1", void 0);
1936
+ __decorate([
1937
+ Struct.field(UInt16)
1938
+ ], resource_stats.prototype, "stat2", void 0);
1939
+ __decorate([
1940
+ Struct.field(UInt16)
1941
+ ], resource_stats.prototype, "stat3", void 0);
1942
+ resource_stats = __decorate([
1943
+ Struct.type('resource_stats')
1944
+ ], resource_stats);
1945
+ Types.resource_stats = resource_stats;
1946
+ let resources_result = class resources_result extends Struct {
1947
+ };
1948
+ __decorate([
1949
+ Struct.field(resource_info, { array: true })
1950
+ ], resources_result.prototype, "resources", void 0);
1951
+ resources_result = __decorate([
1952
+ Struct.type('resources_result')
1953
+ ], resources_result);
1954
+ Types.resources_result = resources_result;
1955
+ let rmmodule = class rmmodule extends Struct {
1956
+ };
1957
+ __decorate([
1958
+ Struct.field(UInt64)
1959
+ ], rmmodule.prototype, "entity_id", void 0);
1960
+ __decorate([
1961
+ Struct.field(UInt8)
1962
+ ], rmmodule.prototype, "module_index", void 0);
1963
+ __decorate([
1964
+ Struct.field(cargo_ref, { optional: true })
1965
+ ], rmmodule.prototype, "target_ref", void 0);
1966
+ rmmodule = __decorate([
1967
+ Struct.type('rmmodule')
1968
+ ], rmmodule);
1969
+ Types.rmmodule = rmmodule;
1970
+ let rmnftcfg = class rmnftcfg extends Struct {
1971
+ };
1972
+ __decorate([
1973
+ Struct.field(UInt16)
1974
+ ], rmnftcfg.prototype, "item_id", void 0);
1975
+ rmnftcfg = __decorate([
1976
+ Struct.type('rmnftcfg')
1977
+ ], rmnftcfg);
1978
+ Types.rmnftcfg = rmnftcfg;
1979
+ let salt = class salt extends Struct {
1980
+ };
1981
+ __decorate([
1982
+ Struct.field(UInt64)
1983
+ ], salt.prototype, "salt", void 0);
1984
+ salt = __decorate([
1985
+ Struct.type('salt')
1986
+ ], salt);
1987
+ Types.salt = salt;
1988
+ let setnftcfg = class setnftcfg extends Struct {
1989
+ };
1990
+ __decorate([
1991
+ Struct.field(UInt16)
1992
+ ], setnftcfg.prototype, "item_id", void 0);
1993
+ __decorate([
1994
+ Struct.field(Int32)
1995
+ ], setnftcfg.prototype, "template_id", void 0);
1996
+ __decorate([
1997
+ Struct.field(Name)
1998
+ ], setnftcfg.prototype, "schema_name", void 0);
1999
+ setnftcfg = __decorate([
2000
+ Struct.type('setnftcfg')
2001
+ ], setnftcfg);
2002
+ Types.setnftcfg = setnftcfg;
2003
+ let skipreveal = class skipreveal extends Struct {
2004
+ };
2005
+ __decorate([
2006
+ Struct.field(Checksum256)
2007
+ ], skipreveal.prototype, "commit", void 0);
2008
+ skipreveal = __decorate([
2009
+ Struct.type('skipreveal')
2010
+ ], skipreveal);
2011
+ Types.skipreveal = skipreveal;
2012
+ let spawncargo = class spawncargo extends Struct {
2013
+ };
2014
+ __decorate([
2015
+ Struct.field(UInt64)
2016
+ ], spawncargo.prototype, "entity_id", void 0);
2017
+ __decorate([
2018
+ Struct.field(UInt64)
2019
+ ], spawncargo.prototype, "item_id", void 0);
2020
+ __decorate([
2021
+ Struct.field(UInt64)
2022
+ ], spawncargo.prototype, "quantity", void 0);
2023
+ spawncargo = __decorate([
2024
+ Struct.type('spawncargo')
2025
+ ], spawncargo);
2026
+ Types.spawncargo = spawncargo;
2027
+ let spawnpacked = class spawnpacked extends Struct {
2028
+ };
2029
+ __decorate([
2030
+ Struct.field(UInt64)
2031
+ ], spawnpacked.prototype, "entity_id", void 0);
2032
+ __decorate([
2033
+ Struct.field(UInt16)
2034
+ ], spawnpacked.prototype, "item_id", void 0);
2035
+ __decorate([
2036
+ Struct.field(UInt64)
2037
+ ], spawnpacked.prototype, "hull_stats", void 0);
2038
+ __decorate([
2039
+ Struct.field(packed_module, { array: true })
2040
+ ], spawnpacked.prototype, "installed", void 0);
2041
+ spawnpacked = __decorate([
2042
+ Struct.type('spawnpacked')
2043
+ ], spawnpacked);
2044
+ Types.spawnpacked = spawnpacked;
2045
+ let spawnseeded = class spawnseeded extends Struct {
2046
+ };
2047
+ __decorate([
2048
+ Struct.field(UInt64)
2049
+ ], spawnseeded.prototype, "entity_id", void 0);
2050
+ __decorate([
2051
+ Struct.field(UInt64)
2052
+ ], spawnseeded.prototype, "item_id", void 0);
2053
+ __decorate([
2054
+ Struct.field(UInt64)
2055
+ ], spawnseeded.prototype, "quantity", void 0);
2056
+ __decorate([
2057
+ Struct.field(UInt64)
2058
+ ], spawnseeded.prototype, "stats", void 0);
2059
+ spawnseeded = __decorate([
2060
+ Struct.type('spawnseeded')
2061
+ ], spawnseeded);
2062
+ Types.spawnseeded = spawnseeded;
2063
+ let state_row = class state_row extends Struct {
2064
+ };
2065
+ __decorate([
2066
+ Struct.field('bool')
2067
+ ], state_row.prototype, "enabled", void 0);
2068
+ __decorate([
2069
+ Struct.field(UInt32)
2070
+ ], state_row.prototype, "epoch", void 0);
2071
+ __decorate([
2072
+ Struct.field(UInt64)
2073
+ ], state_row.prototype, "salt", void 0);
2074
+ __decorate([
2075
+ Struct.field(Checksum256)
2076
+ ], state_row.prototype, "seed", void 0);
2077
+ __decorate([
2078
+ Struct.field(Checksum256)
2079
+ ], state_row.prototype, "commit", void 0);
2080
+ state_row = __decorate([
2081
+ Struct.type('state_row')
2082
+ ], state_row);
2083
+ Types.state_row = state_row;
2084
+ let stratum_info = class stratum_info extends Struct {
2085
+ };
2086
+ __decorate([
2087
+ Struct.field(UInt16)
2088
+ ], stratum_info.prototype, "item_id", void 0);
2089
+ __decorate([
2090
+ Struct.field(UInt64)
2091
+ ], stratum_info.prototype, "seed", void 0);
2092
+ __decorate([
2093
+ Struct.field(UInt16)
2094
+ ], stratum_info.prototype, "richness", void 0);
2095
+ __decorate([
2096
+ Struct.field(UInt32)
2097
+ ], stratum_info.prototype, "reserve", void 0);
2098
+ __decorate([
2099
+ Struct.field(UInt32)
2100
+ ], stratum_info.prototype, "reserve_max", void 0);
2101
+ stratum_info = __decorate([
2102
+ Struct.type('stratum_info')
2103
+ ], stratum_info);
2104
+ Types.stratum_info = stratum_info;
2105
+ let stratum_data = class stratum_data extends Struct {
2106
+ };
2107
+ __decorate([
2108
+ Struct.field(stratum_info)
2109
+ ], stratum_data.prototype, "stratum", void 0);
2110
+ __decorate([
2111
+ Struct.field(resource_stats)
2112
+ ], stratum_data.prototype, "stats", void 0);
2113
+ stratum_data = __decorate([
2114
+ Struct.type('stratum_data')
2115
+ ], stratum_data);
2116
+ Types.stratum_data = stratum_data;
2117
+ let stratum_remaining = class stratum_remaining extends Struct {
2118
+ };
2119
+ __decorate([
2120
+ Struct.field(UInt16)
2121
+ ], stratum_remaining.prototype, "stratum", void 0);
2122
+ __decorate([
2123
+ Struct.field(UInt32)
2124
+ ], stratum_remaining.prototype, "remaining", void 0);
2125
+ stratum_remaining = __decorate([
2126
+ Struct.type('stratum_remaining')
2127
+ ], stratum_remaining);
2128
+ Types.stratum_remaining = stratum_remaining;
2129
+ let task_results = class task_results extends Struct {
2130
+ };
2131
+ __decorate([
2132
+ Struct.field(entity_task_info, { array: true })
2133
+ ], task_results.prototype, "entities", void 0);
2134
+ task_results = __decorate([
2135
+ Struct.type('task_results')
2136
+ ], task_results);
2137
+ Types.task_results = task_results;
2138
+ let transfer = class transfer extends Struct {
2139
+ };
2140
+ __decorate([
2141
+ Struct.field(UInt64)
2142
+ ], transfer.prototype, "source_id", void 0);
2143
+ __decorate([
2144
+ Struct.field(UInt64)
2145
+ ], transfer.prototype, "dest_id", void 0);
2146
+ __decorate([
2147
+ Struct.field(cargo_item, { array: true })
2148
+ ], transfer.prototype, "items", void 0);
2149
+ transfer = __decorate([
2150
+ Struct.type('transfer')
2151
+ ], transfer);
2152
+ Types.transfer = transfer;
2153
+ let travel = class travel extends Struct {
2154
+ };
2155
+ __decorate([
2156
+ Struct.field(UInt64)
2157
+ ], travel.prototype, "id", void 0);
2158
+ __decorate([
2159
+ Struct.field(Int64)
2160
+ ], travel.prototype, "x", void 0);
2161
+ __decorate([
2162
+ Struct.field(Int64)
2163
+ ], travel.prototype, "y", void 0);
2164
+ __decorate([
2165
+ Struct.field('bool')
2166
+ ], travel.prototype, "recharge", void 0);
2167
+ travel = __decorate([
2168
+ Struct.type('travel')
2169
+ ], travel);
2170
+ Types.travel = travel;
2171
+ let types_row = class types_row extends Struct {
2172
+ };
2173
+ __decorate([
2174
+ Struct.field(UInt64)
2175
+ ], types_row.prototype, "id", void 0);
2176
+ __decorate([
2177
+ Struct.field(entity_summary)
2178
+ ], types_row.prototype, "entity_summary_type", void 0);
2179
+ __decorate([
2180
+ Struct.field(game_config)
2181
+ ], types_row.prototype, "game_config_type", void 0);
2182
+ __decorate([
2183
+ Struct.field(stratum_remaining)
2184
+ ], types_row.prototype, "stratum_remaining_type", void 0);
2185
+ __decorate([
2186
+ Struct.field(nft_item_payload)
2187
+ ], types_row.prototype, "nft_item_payload_type", void 0);
2188
+ types_row = __decorate([
2189
+ Struct.type('types_row')
2190
+ ], types_row);
2191
+ Types.types_row = types_row;
2192
+ let undeploy = class undeploy extends Struct {
2193
+ };
2194
+ __decorate([
2195
+ Struct.field(UInt64)
2196
+ ], undeploy.prototype, "host_id", void 0);
2197
+ __decorate([
2198
+ Struct.field(UInt64)
2199
+ ], undeploy.prototype, "target_id", void 0);
2200
+ undeploy = __decorate([
2201
+ Struct.type('undeploy')
2202
+ ], undeploy);
2203
+ Types.undeploy = undeploy;
2204
+ let warp = class warp extends Struct {
2205
+ };
2206
+ __decorate([
2207
+ Struct.field(UInt64)
2208
+ ], warp.prototype, "id", void 0);
2209
+ __decorate([
2210
+ Struct.field(Int64)
2211
+ ], warp.prototype, "x", void 0);
2212
+ __decorate([
2213
+ Struct.field(Int64)
2214
+ ], warp.prototype, "y", void 0);
2215
+ warp = __decorate([
2216
+ Struct.type('warp')
2217
+ ], warp);
2218
+ Types.warp = warp;
2219
+ let wipe = class wipe extends Struct {
2220
+ };
2221
+ wipe = __decorate([
2222
+ Struct.type('wipe')
2223
+ ], wipe);
2224
+ Types.wipe = wipe;
2225
+ let wrap = class wrap extends Struct {
2226
+ };
2227
+ __decorate([
2228
+ Struct.field(Name)
2229
+ ], wrap.prototype, "owner", void 0);
2230
+ __decorate([
2231
+ Struct.field(UInt64)
2232
+ ], wrap.prototype, "entity_id", void 0);
2233
+ __decorate([
2234
+ Struct.field(UInt64)
2235
+ ], wrap.prototype, "nexus_id", void 0);
2236
+ __decorate([
2237
+ Struct.field(cargo_item, { array: true })
2238
+ ], wrap.prototype, "items", void 0);
2239
+ wrap = __decorate([
2240
+ Struct.type('wrap')
2241
+ ], wrap);
2242
+ Types.wrap = wrap;
2243
+ let wrapentity = class wrapentity extends Struct {
2244
+ };
2245
+ __decorate([
2246
+ Struct.field(UInt64)
2247
+ ], wrapentity.prototype, "entity_id", void 0);
2248
+ __decorate([
2249
+ Struct.field(UInt64)
2250
+ ], wrapentity.prototype, "nexus_id", void 0);
2251
+ wrapentity = __decorate([
2252
+ Struct.type('wrapentity')
2253
+ ], wrapentity);
2254
+ Types.wrapentity = wrapentity;
2255
+ })(Types || (Types = {}));
2256
+ ({
2257
+ cargo: Types.cargo_row,
2258
+ entity: Types.entity_row,
2259
+ entitygroup: Types.entitygroup_row,
2260
+ nftconfig: Types.nftconfig_row,
2261
+ player: Types.player_row,
2262
+ reserve: Types.reserve_row,
2263
+ state: Types.state_row,
2264
+ types: Types.types_row,
2265
+ });
2266
+
2267
+ var items = [
2268
+ {
2269
+ id: 101,
2270
+ mass: 52000,
2271
+ type: "resource",
2272
+ tier: 1,
2273
+ category: "ore"
2274
+ },
2275
+ {
2276
+ id: 102,
2277
+ mass: 58000,
2278
+ type: "resource",
2279
+ tier: 2,
2280
+ category: "ore"
2281
+ },
2282
+ {
2283
+ id: 103,
2284
+ mass: 64000,
2285
+ type: "resource",
2286
+ tier: 3,
2287
+ category: "ore"
2288
+ },
2289
+ {
2290
+ id: 104,
2291
+ mass: 71000,
2292
+ type: "resource",
2293
+ tier: 4,
2294
+ category: "ore"
2295
+ },
2296
+ {
2297
+ id: 105,
2298
+ mass: 78000,
2299
+ type: "resource",
2300
+ tier: 5,
2301
+ category: "ore"
2302
+ },
2303
+ {
2304
+ id: 106,
2305
+ mass: 87000,
2306
+ type: "resource",
2307
+ tier: 6,
2308
+ category: "ore"
2309
+ },
2310
+ {
2311
+ id: 107,
2312
+ mass: 96000,
2313
+ type: "resource",
2314
+ tier: 7,
2315
+ category: "ore"
2316
+ },
2317
+ {
2318
+ id: 108,
2319
+ mass: 107000,
2320
+ type: "resource",
2321
+ tier: 8,
2322
+ category: "ore"
2323
+ },
2324
+ {
2325
+ id: 109,
2326
+ mass: 118000,
2327
+ type: "resource",
2328
+ tier: 9,
2329
+ category: "ore"
2330
+ },
2331
+ {
2332
+ id: 110,
2333
+ mass: 130000,
2334
+ type: "resource",
2335
+ tier: 10,
2336
+ category: "ore"
2337
+ },
2338
+ {
2339
+ id: 201,
2340
+ mass: 35000,
2341
+ type: "resource",
2342
+ tier: 1,
2343
+ category: "crystal"
2344
+ },
2345
+ {
2346
+ id: 202,
2347
+ mass: 35000,
2348
+ type: "resource",
2349
+ tier: 2,
2350
+ category: "crystal"
2351
+ },
2352
+ {
2353
+ id: 203,
2354
+ mass: 35000,
2355
+ type: "resource",
2356
+ tier: 3,
2357
+ category: "crystal"
2358
+ },
2359
+ {
2360
+ id: 204,
2361
+ mass: 35000,
2362
+ type: "resource",
2363
+ tier: 4,
2364
+ category: "crystal"
2365
+ },
2366
+ {
2367
+ id: 205,
2368
+ mass: 35000,
2369
+ type: "resource",
2370
+ tier: 5,
2371
+ category: "crystal"
2372
+ },
2373
+ {
2374
+ id: 206,
2375
+ mass: 35000,
2376
+ type: "resource",
2377
+ tier: 6,
2378
+ category: "crystal"
2379
+ },
2380
+ {
2381
+ id: 207,
2382
+ mass: 35000,
2383
+ type: "resource",
2384
+ tier: 7,
2385
+ category: "crystal"
2386
+ },
2387
+ {
2388
+ id: 208,
2389
+ mass: 35000,
2390
+ type: "resource",
2391
+ tier: 8,
2392
+ category: "crystal"
2393
+ },
2394
+ {
2395
+ id: 209,
2396
+ mass: 35000,
2397
+ type: "resource",
2398
+ tier: 9,
2399
+ category: "crystal"
2400
+ },
2401
+ {
2402
+ id: 210,
2403
+ mass: 35000,
2404
+ type: "resource",
2405
+ tier: 10,
2406
+ category: "crystal"
2407
+ },
2408
+ {
2409
+ id: 301,
2410
+ mass: 15000,
2411
+ type: "resource",
2412
+ tier: 1,
2413
+ category: "gas"
2414
+ },
2415
+ {
2416
+ id: 302,
2417
+ mass: 13500,
2418
+ type: "resource",
2419
+ tier: 2,
2420
+ category: "gas"
2421
+ },
2422
+ {
2423
+ id: 303,
2424
+ mass: 12000,
2425
+ type: "resource",
2426
+ tier: 3,
2427
+ category: "gas"
2428
+ },
2429
+ {
2430
+ id: 304,
2431
+ mass: 11000,
2432
+ type: "resource",
2433
+ tier: 4,
2434
+ category: "gas"
2435
+ },
2436
+ {
2437
+ id: 305,
2438
+ mass: 10000,
2439
+ type: "resource",
2440
+ tier: 5,
2441
+ category: "gas"
2442
+ },
2443
+ {
2444
+ id: 306,
2445
+ mass: 9000,
2446
+ type: "resource",
2447
+ tier: 6,
2448
+ category: "gas"
2449
+ },
2450
+ {
2451
+ id: 307,
2452
+ mass: 8000,
2453
+ type: "resource",
2454
+ tier: 7,
2455
+ category: "gas"
2456
+ },
2457
+ {
2458
+ id: 308,
2459
+ mass: 7500,
2460
+ type: "resource",
2461
+ tier: 8,
2462
+ category: "gas"
2463
+ },
2464
+ {
2465
+ id: 309,
2466
+ mass: 6500,
2467
+ type: "resource",
2468
+ tier: 9,
2469
+ category: "gas"
2470
+ },
2471
+ {
2472
+ id: 310,
2473
+ mass: 6000,
2474
+ type: "resource",
2475
+ tier: 10,
2476
+ category: "gas"
2477
+ },
2478
+ {
2479
+ id: 401,
2480
+ mass: 22000,
2481
+ type: "resource",
2482
+ tier: 1,
2483
+ category: "regolith"
2484
+ },
2485
+ {
2486
+ id: 402,
2487
+ mass: 25000,
2488
+ type: "resource",
2489
+ tier: 2,
2490
+ category: "regolith"
2491
+ },
2492
+ {
2493
+ id: 403,
2494
+ mass: 28000,
2495
+ type: "resource",
2496
+ tier: 3,
2497
+ category: "regolith"
2498
+ },
2499
+ {
2500
+ id: 404,
2501
+ mass: 32000,
2502
+ type: "resource",
2503
+ tier: 4,
2504
+ category: "regolith"
2505
+ },
2506
+ {
2507
+ id: 405,
2508
+ mass: 36000,
2509
+ type: "resource",
2510
+ tier: 5,
2511
+ category: "regolith"
2512
+ },
2513
+ {
2514
+ id: 406,
2515
+ mass: 40500,
2516
+ type: "resource",
2517
+ tier: 6,
2518
+ category: "regolith"
2519
+ },
2520
+ {
2521
+ id: 407,
2522
+ mass: 46000,
2523
+ type: "resource",
2524
+ tier: 7,
2525
+ category: "regolith"
2526
+ },
2527
+ {
2528
+ id: 408,
2529
+ mass: 52000,
2530
+ type: "resource",
2531
+ tier: 8,
2532
+ category: "regolith"
2533
+ },
2534
+ {
2535
+ id: 409,
2536
+ mass: 58500,
2537
+ type: "resource",
2538
+ tier: 9,
2539
+ category: "regolith"
2540
+ },
2541
+ {
2542
+ id: 410,
2543
+ mass: 66000,
2544
+ type: "resource",
2545
+ tier: 10,
2546
+ category: "regolith"
2547
+ },
2548
+ {
2549
+ id: 501,
2550
+ mass: 42000,
2551
+ type: "resource",
2552
+ tier: 1,
2553
+ category: "biomass"
2554
+ },
2555
+ {
2556
+ id: 502,
2557
+ mass: 37000,
2558
+ type: "resource",
2559
+ tier: 2,
2560
+ category: "biomass"
2561
+ },
2562
+ {
2563
+ id: 503,
2564
+ mass: 33000,
2565
+ type: "resource",
2566
+ tier: 3,
2567
+ category: "biomass"
2568
+ },
2569
+ {
2570
+ id: 504,
2571
+ mass: 29000,
2572
+ type: "resource",
2573
+ tier: 4,
2574
+ category: "biomass"
2575
+ },
2576
+ {
2577
+ id: 505,
2578
+ mass: 26000,
2579
+ type: "resource",
2580
+ tier: 5,
2581
+ category: "biomass"
2582
+ },
2583
+ {
2584
+ id: 506,
2585
+ mass: 23000,
2586
+ type: "resource",
2587
+ tier: 6,
2588
+ category: "biomass"
2589
+ },
2590
+ {
2591
+ id: 507,
2592
+ mass: 20000,
2593
+ type: "resource",
2594
+ tier: 7,
2595
+ category: "biomass"
2596
+ },
2597
+ {
2598
+ id: 508,
2599
+ mass: 18000,
2600
+ type: "resource",
2601
+ tier: 8,
2602
+ category: "biomass"
2603
+ },
2604
+ {
2605
+ id: 509,
2606
+ mass: 16000,
2607
+ type: "resource",
2608
+ tier: 9,
2609
+ category: "biomass"
2610
+ },
2611
+ {
2612
+ id: 510,
2613
+ mass: 14000,
2614
+ type: "resource",
2615
+ tier: 10,
2616
+ category: "biomass"
2617
+ },
2618
+ {
2619
+ id: 10001,
2620
+ mass: 50000,
2621
+ type: "component",
2622
+ tier: 1
2623
+ },
2624
+ {
2625
+ id: 10002,
2626
+ mass: 30000,
2627
+ type: "component",
2628
+ tier: 1
2629
+ },
2630
+ {
2631
+ id: 10003,
2632
+ mass: 50000,
2633
+ type: "component",
2634
+ tier: 1
2635
+ },
2636
+ {
2637
+ id: 10004,
2638
+ mass: 30000,
2639
+ type: "component",
2640
+ tier: 1
2641
+ },
2642
+ {
2643
+ id: 10005,
2644
+ mass: 50000,
2645
+ type: "component",
2646
+ tier: 1
2647
+ },
2648
+ {
2649
+ id: 10006,
2650
+ mass: 30000,
2651
+ type: "component",
2652
+ tier: 1
2653
+ },
2654
+ {
2655
+ id: 10007,
2656
+ mass: 30000,
2657
+ type: "component",
2658
+ tier: 1
2659
+ },
2660
+ {
2661
+ id: 10008,
2662
+ mass: 30000,
2663
+ type: "component",
2664
+ tier: 1
2665
+ },
2666
+ {
2667
+ id: 10009,
2668
+ mass: 50000,
2669
+ type: "component",
2670
+ tier: 1
2671
+ },
2672
+ {
2673
+ id: 10010,
2674
+ mass: 40000,
2675
+ type: "component",
2676
+ tier: 1
2677
+ },
2678
+ {
2679
+ id: 10100,
2680
+ mass: 150000,
2681
+ type: "module",
2682
+ tier: 1,
2683
+ subtype: "engine"
2684
+ },
2685
+ {
2686
+ id: 10101,
2687
+ mass: 75000,
2688
+ type: "module",
2689
+ tier: 1,
2690
+ subtype: "generator"
2691
+ },
2692
+ {
2693
+ id: 10102,
2694
+ mass: 145000,
2695
+ type: "module",
2696
+ tier: 1,
2697
+ subtype: "gatherer"
2698
+ },
2699
+ {
2700
+ id: 10103,
2701
+ mass: 90000,
2702
+ type: "module",
2703
+ tier: 1,
2704
+ subtype: "loader"
2705
+ },
2706
+ {
2707
+ id: 10104,
2708
+ mass: 120000,
2709
+ type: "module",
2710
+ tier: 1,
2711
+ subtype: "crafter"
2712
+ },
2713
+ {
2714
+ id: 10105,
2715
+ mass: 100000,
2716
+ type: "module",
2717
+ tier: 1,
2718
+ subtype: "storage"
2719
+ },
2720
+ {
2721
+ id: 10106,
2722
+ mass: 120000,
2723
+ type: "module",
2724
+ tier: 1,
2725
+ subtype: "hauler"
2726
+ },
2727
+ {
2728
+ id: 10107,
2729
+ mass: 180000,
2730
+ type: "module",
2731
+ tier: 1,
2732
+ subtype: "warp"
2733
+ },
2734
+ {
2735
+ id: 10200,
2736
+ mass: 80000,
2737
+ type: "entity",
2738
+ tier: 1
2739
+ },
2740
+ {
2741
+ id: 10201,
2742
+ mass: 100000,
2743
+ type: "entity",
2744
+ tier: 1
2745
+ },
2746
+ {
2747
+ id: 10202,
2748
+ mass: 1300000,
2749
+ type: "entity",
2750
+ tier: 1
2751
+ },
2752
+ {
2753
+ id: 10203,
2754
+ mass: 800000,
2755
+ type: "entity",
2756
+ tier: 1
2757
+ },
2758
+ {
2759
+ id: 10204,
2760
+ mass: 800000,
2761
+ type: "entity",
2762
+ tier: 1
2763
+ },
2764
+ {
2765
+ id: 20001,
2766
+ mass: 50000,
2767
+ type: "component",
2768
+ tier: 2
2769
+ },
2770
+ {
2771
+ id: 20002,
2772
+ mass: 30000,
2773
+ type: "component",
2774
+ tier: 2
2775
+ },
2776
+ {
2777
+ id: 20200,
2778
+ mass: 80000,
2779
+ type: "entity",
2780
+ tier: 2
2781
+ }
2782
+ ];
2783
+
2784
+ const itemMetadata = {
2785
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
2786
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
2787
+ 103: {
2788
+ name: 'Ore',
2789
+ description: 'High-grade metallic ore with exceptional density.',
2790
+ color: '#C26D3F',
2791
+ },
2792
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
2793
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
2794
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
2795
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
2796
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
2797
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
2798
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
2799
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
2800
+ 202: {
2801
+ name: 'Crystal',
2802
+ description: 'Refined resonant crystal with improved clarity.',
2803
+ color: '#4ADBFF',
2804
+ },
2805
+ 203: {
2806
+ name: 'Crystal',
2807
+ description: 'High-grade resonant crystal with exceptional purity.',
2808
+ color: '#4ADBFF',
2809
+ },
2810
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
2811
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
2812
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
2813
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
2814
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
2815
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
2816
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
2817
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B8E4A0' },
2818
+ 302: {
2819
+ name: 'Gas',
2820
+ description: 'Refined volatile gas with improved reactivity.',
2821
+ color: '#B8E4A0',
2822
+ },
2823
+ 303: {
2824
+ name: 'Gas',
2825
+ description: 'High-grade volatile gas with exceptional energy density.',
2826
+ color: '#B8E4A0',
2827
+ },
2828
+ 304: { name: 'Gas', description: '', color: '#B8E4A0' },
2829
+ 305: { name: 'Gas', description: '', color: '#B8E4A0' },
2830
+ 306: { name: 'Gas', description: '', color: '#B8E4A0' },
2831
+ 307: { name: 'Gas', description: '', color: '#B8E4A0' },
2832
+ 308: { name: 'Gas', description: '', color: '#B8E4A0' },
2833
+ 309: { name: 'Gas', description: '', color: '#B8E4A0' },
2834
+ 310: { name: 'Gas', description: '', color: '#B8E4A0' },
2835
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
2836
+ 402: {
2837
+ name: 'Regolith',
2838
+ description: 'Refined regolith with improved fineness.',
2839
+ color: '#C4A57B',
2840
+ },
2841
+ 403: {
2842
+ name: 'Regolith',
2843
+ description: 'High-grade regolith with exceptional uniformity.',
2844
+ color: '#C4A57B',
2845
+ },
2846
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
2847
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
2848
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
2849
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
2850
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
2851
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
2852
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
2853
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
2854
+ 502: {
2855
+ name: 'Biomass',
2856
+ description: 'Refined biomass with improved plasticity.',
2857
+ color: '#5A8B3E',
2858
+ },
2859
+ 503: {
2860
+ name: 'Biomass',
2861
+ description: 'High-grade biomass with exceptional saturation.',
2862
+ color: '#5A8B3E',
2863
+ },
2864
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
2865
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
2866
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
2867
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
2868
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
2869
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
2870
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
2871
+ 10001: {
2872
+ name: 'Hull Plates',
2873
+ description: 'Structural plating formed from ore. Used in hulls, containers, and frames.',
2874
+ color: '#7B8D9E',
2875
+ },
2876
+ 10002: {
2877
+ name: 'Cargo Lining',
2878
+ description: 'Composite lining formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
2879
+ color: '#C4A57B',
2880
+ },
2881
+ 10003: {
2882
+ name: 'Thruster Core',
2883
+ description: 'High-energy propulsion component formed from volatile gases.',
2884
+ color: '#E86344',
2885
+ },
2886
+ 10004: {
2887
+ name: 'Power Cell',
2888
+ description: 'Crystalline energy storage matrix. Resonant lattices retain and release charge.',
2889
+ color: '#4ADBFF',
2890
+ },
2891
+ 10005: {
2892
+ name: 'Matter Conduit',
2893
+ description: 'Heavy-duty ore shaft used in gathering equipment.',
2894
+ color: '#7B8D9E',
2895
+ },
2896
+ 10006: {
2897
+ name: 'Survey Probe',
2898
+ description: 'Crystal-lattice sensor array for deep resource detection.',
2899
+ color: '#4ADBFF',
2900
+ },
2901
+ 10007: {
2902
+ name: 'Cargo Arm',
2903
+ description: 'Flexible biomass composite arm for cargo handling.',
2904
+ color: '#5A8B3E',
2905
+ },
2906
+ 10008: {
2907
+ name: 'Tool Bit',
2908
+ description: 'Dense regolith cutting head for crafting operations.',
2909
+ color: '#C4A57B',
2910
+ },
2911
+ 10009: {
2912
+ name: 'Reaction Chamber',
2913
+ description: 'Gas-pressurized vessel for controlled crafting reactions.',
2914
+ color: '#B8E4A0',
2915
+ },
2916
+ 10010: {
2917
+ name: 'Focusing Array',
2918
+ description: "Precision-formed crystal lens array. Routes the haul beam's energy efficiently to the target lock.",
2919
+ color: '#4ADBFF',
2920
+ },
2921
+ 10100: {
2922
+ name: 'Engine',
2923
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
2924
+ color: '#E86344',
2925
+ },
2926
+ 10101: {
2927
+ name: 'Generator',
2928
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
2929
+ color: '#4ADBFF',
2930
+ },
2931
+ 10102: {
2932
+ name: 'Gatherer',
2933
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
2934
+ color: '#7B8D9E',
2935
+ },
2936
+ 10103: {
2937
+ name: 'Loader',
2938
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
2939
+ color: '#5A8B3E',
2940
+ },
2941
+ 10104: {
2942
+ name: 'Crafter',
2943
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
2944
+ color: '#B8E4A0',
2945
+ },
2946
+ 10105: {
2947
+ name: 'Storage',
2948
+ description: 'Expands cargo capacity based on hull material quality.',
2949
+ color: '#8B7355',
2950
+ },
2951
+ 10106: {
2952
+ name: 'Hauler',
2953
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
2954
+ color: '#4ADBFF',
2955
+ },
2956
+ 10107: {
2957
+ name: 'Warp',
2958
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
2959
+ color: '#9be4ff',
2960
+ },
2961
+ 10200: {
2962
+ name: 'Container',
2963
+ description: 'Passive floating cargo storage in space. Towed by ships.',
2964
+ color: '#7B8D9E',
2965
+ },
2966
+ 10201: {
2967
+ name: 'Ship',
2968
+ description: 'General-purpose vessel with 5 module slots.',
2969
+ color: '#4AE898',
2970
+ },
2971
+ 10202: {
2972
+ name: 'Warehouse',
2973
+ description: 'Massive stationary storage facility with a single loader module slot.',
2974
+ color: '#EAB308',
2975
+ },
2976
+ 10203: {
2977
+ name: 'Extractor',
2978
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
2979
+ color: '#D4726F',
2980
+ },
2981
+ 10204: {
2982
+ name: 'Factory',
2983
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
2984
+ color: '#7BA7D4',
2985
+ },
2986
+ 20001: {
2987
+ name: 'Hull Plates',
2988
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
2989
+ color: '#9BADB8',
2990
+ },
2991
+ 20002: {
2992
+ name: 'Cargo Lining',
2993
+ description: 'Advanced composite lining reinforced with tier 2 regolith and biomass polymer.',
2994
+ color: '#C4A57B',
2995
+ },
2996
+ 20200: {
2997
+ name: 'Container',
2998
+ description: 'Advanced cargo container with improved capacity formulas.',
2999
+ color: '#9BADB8',
3000
+ },
3001
+ };
3002
+ for (const item of items) {
3003
+ if (!itemMetadata[item.id]) {
3004
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
3005
+ }
3006
+ }
3007
+
3008
+ var TaskType;
3009
+ (function (TaskType) {
3010
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
3011
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
3012
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
3013
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
3014
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
3015
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
3016
+ TaskType[TaskType["WARP"] = 6] = "WARP";
3017
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
3018
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
3019
+ TaskType[TaskType["WRAP"] = 9] = "WRAP";
3020
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
3021
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
3022
+ TaskType[TaskType["WRAP_ENTITY"] = 12] = "WRAP_ENTITY";
3023
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
3024
+ })(TaskType || (TaskType = {}));
3025
+ var LocationType;
3026
+ (function (LocationType) {
3027
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
3028
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
3029
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
3030
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
3031
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
3032
+ })(LocationType || (LocationType = {}));
3033
+ var TaskCancelable;
3034
+ (function (TaskCancelable) {
3035
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
3036
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
3037
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
3038
+ })(TaskCancelable || (TaskCancelable = {}));
3039
+ class Coordinates extends Types.coordinates {
3040
+ static from(value) {
3041
+ return super.from(value);
3042
+ }
3043
+ equals(other) {
3044
+ const coords = Coordinates.from(other);
3045
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
3046
+ }
3047
+ toLocationId() {
3048
+ return coordsToLocationId(this);
3049
+ }
3050
+ }
3051
+ function coordsToLocationId(coords) {
3052
+ const c = Coordinates.from(coords);
3053
+ const mask = BigInt(0xffffffff);
3054
+ const x = BigInt(c.x.toNumber()) & mask;
3055
+ const y = BigInt(c.y.toNumber()) & mask;
3056
+ const id = (x << BigInt(32)) | y;
3057
+ return UInt64.from(id);
3058
+ }
3059
+
3060
+ const itemsById = new Map();
3061
+ for (const raw of items) {
3062
+ const meta = itemMetadata[raw.id];
3063
+ if (!meta) {
3064
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
3065
+ }
3066
+ itemsById.set(raw.id, {
3067
+ id: raw.id,
3068
+ name: meta.name,
3069
+ description: meta.description,
3070
+ color: meta.color,
3071
+ mass: raw.mass,
3072
+ type: raw.type,
3073
+ tier: raw.tier,
3074
+ category: raw.category,
3075
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
3076
+ });
3077
+ }
3078
+ Array.from(itemsById.keys());
3079
+
3080
+ function cargoItemToStack(item) {
3081
+ return {
3082
+ item_id: UInt16.from(item.item_id),
3083
+ quantity: UInt32.from(item.quantity),
3084
+ stats: UInt64.from(item.stats),
3085
+ modules: item.modules ?? [],
3086
+ };
3087
+ }
3088
+ function statsEquals(a, b) {
3089
+ return a.equals(b);
3090
+ }
3091
+ function stackIdentityEqual(a, b) {
3092
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
3093
+ }
3094
+ function mergeStacks(stacks, add) {
3095
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
3096
+ if (idx === -1) {
3097
+ return [...stacks, { ...add }];
3098
+ }
3099
+ const result = stacks.slice();
3100
+ result[idx] = {
3101
+ ...result[idx],
3102
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
3103
+ };
3104
+ return result;
3105
+ }
3106
+
3107
+ function assertProjectionEquals(contract, sdk, options = {}) {
3108
+ const mismatches = [];
3109
+ const record = (name, c, s) => {
3110
+ if (c !== s)
3111
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
3112
+ };
3113
+ const recordStatBlock = (name, c, s) => {
3114
+ const cPresent = c !== undefined && c !== null;
3115
+ const sPresent = s !== undefined && s !== null;
3116
+ if (cPresent !== sPresent) {
3117
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
3118
+ return;
3119
+ }
3120
+ if (!cPresent)
3121
+ return;
3122
+ const cn = JSON.stringify(normaliseStatBlock(c));
3123
+ const sn = JSON.stringify(normaliseStatBlock(s));
3124
+ if (cn !== sn)
3125
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
3126
+ };
3127
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
3128
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
3129
+ record('energy', toNum(contract.energy), Number(sdk.energy));
3130
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
3131
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
3132
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
3133
+ recordStatBlock('engines', contract.engines, sdk.engines);
3134
+ recordStatBlock('loaders', contract.loaders, sdk.loaders);
3135
+ recordStatBlock('generator', contract.generator, sdk.generator);
3136
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
3137
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
3138
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
3139
+ const sdkCargo = normaliseCargo(sdk.cargo);
3140
+ if (contractCargo.length !== sdkCargo.length) {
3141
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
3142
+ }
3143
+ else {
3144
+ for (let i = 0; i < contractCargo.length; i++) {
3145
+ const c = contractCargo[i];
3146
+ const s = sdkCargo[i];
3147
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
3148
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
3149
+ }
3150
+ }
3151
+ }
3152
+ }
3153
+ if (mismatches.length > 0) {
3154
+ const header = options.step !== undefined
3155
+ ? `projection divergence at step ${options.step}:`
3156
+ : 'projection divergence:';
3157
+ throw new Error([header, ...mismatches].join('\n'));
3158
+ }
3159
+ }
3160
+ function mergeContractCargo(cargo) {
3161
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
3162
+ }
3163
+ function normaliseCargo(cargo) {
3164
+ return cargo
3165
+ .map((s) => ({
3166
+ itemId: Number(s.item_id),
3167
+ stats: BigInt(s.stats.toString()).toString(),
3168
+ quantity: BigInt(s.quantity.toString()).toString(),
3169
+ }))
3170
+ .sort(stackSort);
3171
+ }
3172
+ function stackSort(a, b) {
3173
+ if (a.itemId !== b.itemId)
3174
+ return a.itemId - b.itemId;
3175
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
3176
+ }
3177
+ function toNum(v) {
3178
+ if (v === undefined || v === null)
3179
+ return undefined;
3180
+ if (typeof v === 'number')
3181
+ return v;
3182
+ if (typeof v === 'bigint')
3183
+ return Number(v);
3184
+ if (typeof v.toNumber === 'function') {
3185
+ return v.toNumber();
3186
+ }
3187
+ return Number(v);
3188
+ }
3189
+ function fmt(v) {
3190
+ if (v === undefined)
3191
+ return 'undefined';
3192
+ if (v === null)
3193
+ return 'null';
3194
+ return String(v);
3195
+ }
3196
+ function normaliseStatBlock(block) {
3197
+ const out = {};
3198
+ const obj = block;
3199
+ for (const k of Object.keys(obj).sort()) {
3200
+ out[k] = toNum(obj[k]) ?? 0;
3201
+ }
3202
+ return out;
3203
+ }
3204
+
3205
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
3206
+ //# sourceMappingURL=testing.m.js.map