coreum-js 2.5.10 → 2.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/main/cosmos/auth/v1beta1/auth.d.ts +229 -0
  2. package/dist/main/cosmos/auth/v1beta1/auth.js +438 -0
  3. package/dist/main/cosmos/index.d.ts +348 -0
  4. package/dist/main/cosmos/index.js +72 -2
  5. package/dist/main/cosmos/staking/v1beta1/authz.d.ts +145 -0
  6. package/dist/main/cosmos/staking/v1beta1/authz.js +225 -0
  7. package/dist/main/cosmos/staking/v1beta1/genesis.d.ts +899 -0
  8. package/dist/main/cosmos/staking/v1beta1/genesis.js +306 -0
  9. package/dist/main/cosmos/staking/v1beta1/pagination.d.ts +128 -0
  10. package/dist/main/cosmos/staking/v1beta1/pagination.js +228 -0
  11. package/dist/main/cosmos/staking/v1beta1/query.d.ts +4165 -0
  12. package/dist/main/cosmos/staking/v1beta1/query.js +2020 -0
  13. package/dist/main/cosmos/staking/v1beta1/staking.d.ts +2059 -0
  14. package/dist/main/cosmos/staking/v1beta1/staking.js +2128 -0
  15. package/dist/main/cosmos/staking/v1beta1/tx.d.ts +748 -0
  16. package/dist/main/cosmos/staking/v1beta1/tx.js +1142 -0
  17. package/dist/main/cosmos/vesting/v1beta1/tx.d.ts +350 -0
  18. package/dist/main/cosmos/vesting/v1beta1/tx.js +455 -0
  19. package/dist/main/cosmos/vesting/v1beta1/vesting.d.ts +1305 -0
  20. package/dist/main/cosmos/vesting/v1beta1/vesting.js +499 -0
  21. package/dist/main/tendermint/abci/types.d.ts +7075 -0
  22. package/dist/main/tendermint/abci/types.js +4934 -0
  23. package/dist/main/tendermint/crypto/keys.d.ts +38 -0
  24. package/dist/main/tendermint/crypto/keys.js +118 -0
  25. package/dist/main/tendermint/crypto/proof.d.ts +226 -0
  26. package/dist/main/tendermint/crypto/proof.js +427 -0
  27. package/dist/main/tendermint/types/params.d.ts +313 -0
  28. package/dist/main/tendermint/types/params.js +488 -0
  29. package/dist/main/tendermint/types/types.d.ts +1970 -0
  30. package/dist/main/tendermint/types/types.js +1602 -0
  31. package/dist/main/tendermint/types/validator.d.ts +277 -0
  32. package/dist/main/tendermint/types/validator.js +303 -0
  33. package/dist/main/tendermint/version/types.d.ts +71 -0
  34. package/dist/main/tendermint/version/types.js +162 -0
  35. package/dist/module/cosmos/auth/v1beta1/auth.d.ts +229 -0
  36. package/dist/module/cosmos/auth/v1beta1/auth.js +428 -0
  37. package/dist/module/cosmos/index.d.ts +348 -0
  38. package/dist/module/cosmos/index.js +71 -1
  39. package/dist/module/cosmos/staking/v1beta1/authz.d.ts +145 -0
  40. package/dist/module/cosmos/staking/v1beta1/authz.js +215 -0
  41. package/dist/module/cosmos/staking/v1beta1/genesis.d.ts +899 -0
  42. package/dist/module/cosmos/staking/v1beta1/genesis.js +298 -0
  43. package/dist/module/cosmos/staking/v1beta1/pagination.d.ts +128 -0
  44. package/dist/module/cosmos/staking/v1beta1/pagination.js +220 -0
  45. package/dist/module/cosmos/staking/v1beta1/query.d.ts +4165 -0
  46. package/dist/module/cosmos/staking/v1beta1/query.js +1996 -0
  47. package/dist/module/cosmos/staking/v1beta1/staking.d.ts +2059 -0
  48. package/dist/module/cosmos/staking/v1beta1/staking.js +2098 -0
  49. package/dist/module/cosmos/staking/v1beta1/tx.d.ts +748 -0
  50. package/dist/module/cosmos/staking/v1beta1/tx.js +1128 -0
  51. package/dist/module/cosmos/vesting/v1beta1/tx.d.ts +350 -0
  52. package/dist/module/cosmos/vesting/v1beta1/tx.js +447 -0
  53. package/dist/module/cosmos/vesting/v1beta1/vesting.d.ts +1305 -0
  54. package/dist/module/cosmos/vesting/v1beta1/vesting.js +489 -0
  55. package/dist/module/tendermint/abci/types.d.ts +7075 -0
  56. package/dist/module/tendermint/abci/types.js +4878 -0
  57. package/dist/module/tendermint/crypto/keys.d.ts +38 -0
  58. package/dist/module/tendermint/crypto/keys.js +111 -0
  59. package/dist/module/tendermint/crypto/proof.d.ts +226 -0
  60. package/dist/module/tendermint/crypto/proof.js +416 -0
  61. package/dist/module/tendermint/types/params.d.ts +313 -0
  62. package/dist/module/tendermint/types/params.js +477 -0
  63. package/dist/module/tendermint/types/types.d.ts +1970 -0
  64. package/dist/module/tendermint/types/types.js +1581 -0
  65. package/dist/module/tendermint/types/validator.d.ts +277 -0
  66. package/dist/module/tendermint/types/validator.js +294 -0
  67. package/dist/module/tendermint/version/types.d.ts +71 -0
  68. package/dist/module/tendermint/version/types.js +154 -0
  69. package/package.json +2 -2
@@ -0,0 +1,438 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Params = exports.ModuleCredential = exports.ModuleAccount = exports.BaseAccount = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const long_1 = __importDefault(require("long"));
9
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
10
+ const any_1 = require("../../../google/protobuf/any");
11
+ exports.protobufPackage = "cosmos.auth.v1beta1";
12
+ function createBaseBaseAccount() {
13
+ return { address: "", pubKey: undefined, accountNumber: 0, sequence: 0 };
14
+ }
15
+ exports.BaseAccount = {
16
+ encode(message, writer = minimal_1.default.Writer.create()) {
17
+ if (message.address !== "") {
18
+ writer.uint32(10).string(message.address);
19
+ }
20
+ if (message.pubKey !== undefined) {
21
+ any_1.Any.encode(message.pubKey, writer.uint32(18).fork()).ldelim();
22
+ }
23
+ if (message.accountNumber !== 0) {
24
+ writer.uint32(24).uint64(message.accountNumber);
25
+ }
26
+ if (message.sequence !== 0) {
27
+ writer.uint32(32).uint64(message.sequence);
28
+ }
29
+ return writer;
30
+ },
31
+ decode(input, length) {
32
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
33
+ let end = length === undefined ? reader.len : reader.pos + length;
34
+ const message = createBaseBaseAccount();
35
+ while (reader.pos < end) {
36
+ const tag = reader.uint32();
37
+ switch (tag >>> 3) {
38
+ case 1:
39
+ if (tag !== 10) {
40
+ break;
41
+ }
42
+ message.address = reader.string();
43
+ continue;
44
+ case 2:
45
+ if (tag !== 18) {
46
+ break;
47
+ }
48
+ message.pubKey = any_1.Any.decode(reader, reader.uint32());
49
+ continue;
50
+ case 3:
51
+ if (tag !== 24) {
52
+ break;
53
+ }
54
+ message.accountNumber = longToNumber(reader.uint64());
55
+ continue;
56
+ case 4:
57
+ if (tag !== 32) {
58
+ break;
59
+ }
60
+ message.sequence = longToNumber(reader.uint64());
61
+ continue;
62
+ }
63
+ if ((tag & 7) === 4 || tag === 0) {
64
+ break;
65
+ }
66
+ reader.skipType(tag & 7);
67
+ }
68
+ return message;
69
+ },
70
+ fromJSON(object) {
71
+ return {
72
+ address: isSet(object.address) ? String(object.address) : "",
73
+ pubKey: isSet(object.pubKey) ? any_1.Any.fromJSON(object.pubKey) : undefined,
74
+ accountNumber: isSet(object.accountNumber)
75
+ ? Number(object.accountNumber)
76
+ : 0,
77
+ sequence: isSet(object.sequence) ? Number(object.sequence) : 0,
78
+ };
79
+ },
80
+ toJSON(message) {
81
+ const obj = {};
82
+ message.address !== undefined && (obj.address = message.address);
83
+ message.pubKey !== undefined &&
84
+ (obj.pubKey = message.pubKey ? any_1.Any.toJSON(message.pubKey) : undefined);
85
+ message.accountNumber !== undefined &&
86
+ (obj.accountNumber = Math.round(message.accountNumber));
87
+ message.sequence !== undefined &&
88
+ (obj.sequence = Math.round(message.sequence));
89
+ return obj;
90
+ },
91
+ create(base) {
92
+ return exports.BaseAccount.fromPartial(base !== null && base !== void 0 ? base : {});
93
+ },
94
+ fromPartial(object) {
95
+ var _a, _b, _c;
96
+ const message = createBaseBaseAccount();
97
+ message.address = (_a = object.address) !== null && _a !== void 0 ? _a : "";
98
+ message.pubKey =
99
+ object.pubKey !== undefined && object.pubKey !== null
100
+ ? any_1.Any.fromPartial(object.pubKey)
101
+ : undefined;
102
+ message.accountNumber = (_b = object.accountNumber) !== null && _b !== void 0 ? _b : 0;
103
+ message.sequence = (_c = object.sequence) !== null && _c !== void 0 ? _c : 0;
104
+ return message;
105
+ },
106
+ };
107
+ function createBaseModuleAccount() {
108
+ return { baseAccount: undefined, name: "", permissions: [] };
109
+ }
110
+ exports.ModuleAccount = {
111
+ encode(message, writer = minimal_1.default.Writer.create()) {
112
+ if (message.baseAccount !== undefined) {
113
+ exports.BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).ldelim();
114
+ }
115
+ if (message.name !== "") {
116
+ writer.uint32(18).string(message.name);
117
+ }
118
+ for (const v of message.permissions) {
119
+ writer.uint32(26).string(v);
120
+ }
121
+ return writer;
122
+ },
123
+ decode(input, length) {
124
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
125
+ let end = length === undefined ? reader.len : reader.pos + length;
126
+ const message = createBaseModuleAccount();
127
+ while (reader.pos < end) {
128
+ const tag = reader.uint32();
129
+ switch (tag >>> 3) {
130
+ case 1:
131
+ if (tag !== 10) {
132
+ break;
133
+ }
134
+ message.baseAccount = exports.BaseAccount.decode(reader, reader.uint32());
135
+ continue;
136
+ case 2:
137
+ if (tag !== 18) {
138
+ break;
139
+ }
140
+ message.name = reader.string();
141
+ continue;
142
+ case 3:
143
+ if (tag !== 26) {
144
+ break;
145
+ }
146
+ message.permissions.push(reader.string());
147
+ continue;
148
+ }
149
+ if ((tag & 7) === 4 || tag === 0) {
150
+ break;
151
+ }
152
+ reader.skipType(tag & 7);
153
+ }
154
+ return message;
155
+ },
156
+ fromJSON(object) {
157
+ return {
158
+ baseAccount: isSet(object.baseAccount)
159
+ ? exports.BaseAccount.fromJSON(object.baseAccount)
160
+ : undefined,
161
+ name: isSet(object.name) ? String(object.name) : "",
162
+ permissions: Array.isArray(object === null || object === void 0 ? void 0 : object.permissions)
163
+ ? object.permissions.map((e) => String(e))
164
+ : [],
165
+ };
166
+ },
167
+ toJSON(message) {
168
+ const obj = {};
169
+ message.baseAccount !== undefined &&
170
+ (obj.baseAccount = message.baseAccount
171
+ ? exports.BaseAccount.toJSON(message.baseAccount)
172
+ : undefined);
173
+ message.name !== undefined && (obj.name = message.name);
174
+ if (message.permissions) {
175
+ obj.permissions = message.permissions.map((e) => e);
176
+ }
177
+ else {
178
+ obj.permissions = [];
179
+ }
180
+ return obj;
181
+ },
182
+ create(base) {
183
+ return exports.ModuleAccount.fromPartial(base !== null && base !== void 0 ? base : {});
184
+ },
185
+ fromPartial(object) {
186
+ var _a, _b;
187
+ const message = createBaseModuleAccount();
188
+ message.baseAccount =
189
+ object.baseAccount !== undefined && object.baseAccount !== null
190
+ ? exports.BaseAccount.fromPartial(object.baseAccount)
191
+ : undefined;
192
+ message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
193
+ message.permissions = ((_b = object.permissions) === null || _b === void 0 ? void 0 : _b.map((e) => e)) || [];
194
+ return message;
195
+ },
196
+ };
197
+ function createBaseModuleCredential() {
198
+ return { moduleName: "", derivationKeys: [] };
199
+ }
200
+ exports.ModuleCredential = {
201
+ encode(message, writer = minimal_1.default.Writer.create()) {
202
+ if (message.moduleName !== "") {
203
+ writer.uint32(10).string(message.moduleName);
204
+ }
205
+ for (const v of message.derivationKeys) {
206
+ writer.uint32(18).bytes(v);
207
+ }
208
+ return writer;
209
+ },
210
+ decode(input, length) {
211
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
212
+ let end = length === undefined ? reader.len : reader.pos + length;
213
+ const message = createBaseModuleCredential();
214
+ while (reader.pos < end) {
215
+ const tag = reader.uint32();
216
+ switch (tag >>> 3) {
217
+ case 1:
218
+ if (tag !== 10) {
219
+ break;
220
+ }
221
+ message.moduleName = reader.string();
222
+ continue;
223
+ case 2:
224
+ if (tag !== 18) {
225
+ break;
226
+ }
227
+ message.derivationKeys.push(reader.bytes());
228
+ continue;
229
+ }
230
+ if ((tag & 7) === 4 || tag === 0) {
231
+ break;
232
+ }
233
+ reader.skipType(tag & 7);
234
+ }
235
+ return message;
236
+ },
237
+ fromJSON(object) {
238
+ return {
239
+ moduleName: isSet(object.moduleName) ? String(object.moduleName) : "",
240
+ derivationKeys: Array.isArray(object === null || object === void 0 ? void 0 : object.derivationKeys)
241
+ ? object.derivationKeys.map((e) => bytesFromBase64(e))
242
+ : [],
243
+ };
244
+ },
245
+ toJSON(message) {
246
+ const obj = {};
247
+ message.moduleName !== undefined && (obj.moduleName = message.moduleName);
248
+ if (message.derivationKeys) {
249
+ obj.derivationKeys = message.derivationKeys.map((e) => base64FromBytes(e !== undefined ? e : new Uint8Array()));
250
+ }
251
+ else {
252
+ obj.derivationKeys = [];
253
+ }
254
+ return obj;
255
+ },
256
+ create(base) {
257
+ return exports.ModuleCredential.fromPartial(base !== null && base !== void 0 ? base : {});
258
+ },
259
+ fromPartial(object) {
260
+ var _a, _b;
261
+ const message = createBaseModuleCredential();
262
+ message.moduleName = (_a = object.moduleName) !== null && _a !== void 0 ? _a : "";
263
+ message.derivationKeys = ((_b = object.derivationKeys) === null || _b === void 0 ? void 0 : _b.map((e) => e)) || [];
264
+ return message;
265
+ },
266
+ };
267
+ function createBaseParams() {
268
+ return {
269
+ maxMemoCharacters: 0,
270
+ txSigLimit: 0,
271
+ txSizeCostPerByte: 0,
272
+ sigVerifyCostEd25519: 0,
273
+ sigVerifyCostSecp256k1: 0,
274
+ };
275
+ }
276
+ exports.Params = {
277
+ encode(message, writer = minimal_1.default.Writer.create()) {
278
+ if (message.maxMemoCharacters !== 0) {
279
+ writer.uint32(8).uint64(message.maxMemoCharacters);
280
+ }
281
+ if (message.txSigLimit !== 0) {
282
+ writer.uint32(16).uint64(message.txSigLimit);
283
+ }
284
+ if (message.txSizeCostPerByte !== 0) {
285
+ writer.uint32(24).uint64(message.txSizeCostPerByte);
286
+ }
287
+ if (message.sigVerifyCostEd25519 !== 0) {
288
+ writer.uint32(32).uint64(message.sigVerifyCostEd25519);
289
+ }
290
+ if (message.sigVerifyCostSecp256k1 !== 0) {
291
+ writer.uint32(40).uint64(message.sigVerifyCostSecp256k1);
292
+ }
293
+ return writer;
294
+ },
295
+ decode(input, length) {
296
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
297
+ let end = length === undefined ? reader.len : reader.pos + length;
298
+ const message = createBaseParams();
299
+ while (reader.pos < end) {
300
+ const tag = reader.uint32();
301
+ switch (tag >>> 3) {
302
+ case 1:
303
+ if (tag !== 8) {
304
+ break;
305
+ }
306
+ message.maxMemoCharacters = longToNumber(reader.uint64());
307
+ continue;
308
+ case 2:
309
+ if (tag !== 16) {
310
+ break;
311
+ }
312
+ message.txSigLimit = longToNumber(reader.uint64());
313
+ continue;
314
+ case 3:
315
+ if (tag !== 24) {
316
+ break;
317
+ }
318
+ message.txSizeCostPerByte = longToNumber(reader.uint64());
319
+ continue;
320
+ case 4:
321
+ if (tag !== 32) {
322
+ break;
323
+ }
324
+ message.sigVerifyCostEd25519 = longToNumber(reader.uint64());
325
+ continue;
326
+ case 5:
327
+ if (tag !== 40) {
328
+ break;
329
+ }
330
+ message.sigVerifyCostSecp256k1 = longToNumber(reader.uint64());
331
+ continue;
332
+ }
333
+ if ((tag & 7) === 4 || tag === 0) {
334
+ break;
335
+ }
336
+ reader.skipType(tag & 7);
337
+ }
338
+ return message;
339
+ },
340
+ fromJSON(object) {
341
+ return {
342
+ maxMemoCharacters: isSet(object.maxMemoCharacters)
343
+ ? Number(object.maxMemoCharacters)
344
+ : 0,
345
+ txSigLimit: isSet(object.txSigLimit) ? Number(object.txSigLimit) : 0,
346
+ txSizeCostPerByte: isSet(object.txSizeCostPerByte)
347
+ ? Number(object.txSizeCostPerByte)
348
+ : 0,
349
+ sigVerifyCostEd25519: isSet(object.sigVerifyCostEd25519)
350
+ ? Number(object.sigVerifyCostEd25519)
351
+ : 0,
352
+ sigVerifyCostSecp256k1: isSet(object.sigVerifyCostSecp256k1)
353
+ ? Number(object.sigVerifyCostSecp256k1)
354
+ : 0,
355
+ };
356
+ },
357
+ toJSON(message) {
358
+ const obj = {};
359
+ message.maxMemoCharacters !== undefined &&
360
+ (obj.maxMemoCharacters = Math.round(message.maxMemoCharacters));
361
+ message.txSigLimit !== undefined &&
362
+ (obj.txSigLimit = Math.round(message.txSigLimit));
363
+ message.txSizeCostPerByte !== undefined &&
364
+ (obj.txSizeCostPerByte = Math.round(message.txSizeCostPerByte));
365
+ message.sigVerifyCostEd25519 !== undefined &&
366
+ (obj.sigVerifyCostEd25519 = Math.round(message.sigVerifyCostEd25519));
367
+ message.sigVerifyCostSecp256k1 !== undefined &&
368
+ (obj.sigVerifyCostSecp256k1 = Math.round(message.sigVerifyCostSecp256k1));
369
+ return obj;
370
+ },
371
+ create(base) {
372
+ return exports.Params.fromPartial(base !== null && base !== void 0 ? base : {});
373
+ },
374
+ fromPartial(object) {
375
+ var _a, _b, _c, _d, _e;
376
+ const message = createBaseParams();
377
+ message.maxMemoCharacters = (_a = object.maxMemoCharacters) !== null && _a !== void 0 ? _a : 0;
378
+ message.txSigLimit = (_b = object.txSigLimit) !== null && _b !== void 0 ? _b : 0;
379
+ message.txSizeCostPerByte = (_c = object.txSizeCostPerByte) !== null && _c !== void 0 ? _c : 0;
380
+ message.sigVerifyCostEd25519 = (_d = object.sigVerifyCostEd25519) !== null && _d !== void 0 ? _d : 0;
381
+ message.sigVerifyCostSecp256k1 = (_e = object.sigVerifyCostSecp256k1) !== null && _e !== void 0 ? _e : 0;
382
+ return message;
383
+ },
384
+ };
385
+ var tsProtoGlobalThis = (() => {
386
+ if (typeof globalThis !== "undefined") {
387
+ return globalThis;
388
+ }
389
+ if (typeof self !== "undefined") {
390
+ return self;
391
+ }
392
+ if (typeof window !== "undefined") {
393
+ return window;
394
+ }
395
+ if (typeof global !== "undefined") {
396
+ return global;
397
+ }
398
+ throw "Unable to locate global object";
399
+ })();
400
+ function bytesFromBase64(b64) {
401
+ if (tsProtoGlobalThis.Buffer) {
402
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
403
+ }
404
+ else {
405
+ const bin = tsProtoGlobalThis.atob(b64);
406
+ const arr = new Uint8Array(bin.length);
407
+ for (let i = 0; i < bin.length; ++i) {
408
+ arr[i] = bin.charCodeAt(i);
409
+ }
410
+ return arr;
411
+ }
412
+ }
413
+ function base64FromBytes(arr) {
414
+ if (tsProtoGlobalThis.Buffer) {
415
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
416
+ }
417
+ else {
418
+ const bin = [];
419
+ arr.forEach((byte) => {
420
+ bin.push(String.fromCharCode(byte));
421
+ });
422
+ return tsProtoGlobalThis.btoa(bin.join(""));
423
+ }
424
+ }
425
+ function longToNumber(long) {
426
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
427
+ throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
428
+ }
429
+ return long.toNumber();
430
+ }
431
+ if (minimal_1.default.util.Long !== long_1.default) {
432
+ minimal_1.default.util.Long = long_1.default;
433
+ minimal_1.default.configure();
434
+ }
435
+ function isSet(value) {
436
+ return value !== null && value !== undefined;
437
+ }
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3Ntb3MvYXV0aC92MWJldGExL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGdEQUF3QjtBQUN4QixpRUFBcUM7QUFDckMsc0RBQW1EO0FBRXRDLFFBQUEsZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBNkNyRCxTQUFTLHFCQUFxQjtJQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzNFLENBQUM7QUFFWSxRQUFBLFdBQVcsR0FBRztJQUN6QixNQUFNLENBQ0osT0FBb0IsRUFDcEIsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBRXhDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUNoQyxTQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxPQUFPLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU0sQ0FBQyxN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