@shipload/sdk 1.0.0-next.5 → 1.0.0-next.50

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 (144) hide show
  1. package/lib/scan.d.ts +52 -0
  2. package/lib/scan.js +162 -0
  3. package/lib/scan.js.map +1 -0
  4. package/lib/scan.m.js +152 -0
  5. package/lib/scan.m.js.map +1 -0
  6. package/lib/shipload.d.ts +2881 -1149
  7. package/lib/shipload.js +13031 -5511
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +12807 -5460
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +1028 -0
  12. package/lib/testing.js +4336 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +4330 -0
  15. package/lib/testing.m.js.map +1 -0
  16. package/package.json +20 -2
  17. package/src/capabilities/craftable.ts +51 -0
  18. package/src/capabilities/crafting.test.ts +7 -0
  19. package/src/capabilities/crafting.ts +6 -7
  20. package/src/capabilities/gathering.test.ts +29 -0
  21. package/src/capabilities/gathering.ts +37 -19
  22. package/src/capabilities/index.ts +0 -1
  23. package/src/capabilities/modules.ts +22 -0
  24. package/src/capabilities/storage.ts +16 -1
  25. package/src/contracts/platform.ts +231 -3
  26. package/src/contracts/server.ts +1160 -520
  27. package/src/coordinates/address.ts +88 -0
  28. package/src/coordinates/constants.test.ts +15 -0
  29. package/src/coordinates/constants.ts +23 -0
  30. package/src/coordinates/index.ts +15 -0
  31. package/src/coordinates/memo.test.ts +47 -0
  32. package/src/coordinates/memo.ts +20 -0
  33. package/src/coordinates/permutation.ts +77 -0
  34. package/src/coordinates/regions.ts +48 -0
  35. package/src/coordinates/sectors.ts +115 -0
  36. package/src/data/capabilities.ts +31 -16
  37. package/src/data/capability-formulas.ts +21 -14
  38. package/src/data/catalog.ts +0 -5
  39. package/src/data/colors.ts +13 -47
  40. package/src/data/entities.json +154 -10
  41. package/src/data/item-ids.ts +31 -12
  42. package/src/data/items.json +192 -74
  43. package/src/data/kind-registry.json +131 -0
  44. package/src/data/kind-registry.ts +172 -0
  45. package/src/data/metadata.ts +166 -48
  46. package/src/data/recipes-runtime.ts +5 -23
  47. package/src/data/recipes.json +1003 -163
  48. package/src/derivation/build-methods.test.ts +13 -0
  49. package/src/derivation/build-methods.ts +48 -0
  50. package/src/derivation/capabilities.test.ts +151 -0
  51. package/src/derivation/capabilities.ts +527 -0
  52. package/src/derivation/capability-mappings.ts +58 -16
  53. package/src/derivation/crafting.ts +36 -33
  54. package/src/derivation/index.ts +28 -2
  55. package/src/derivation/recipe-usage.test.ts +81 -0
  56. package/src/derivation/recipe-usage.ts +141 -0
  57. package/src/derivation/reserve-regen.ts +34 -0
  58. package/src/derivation/resources.ts +98 -19
  59. package/src/derivation/rollups.test.ts +55 -0
  60. package/src/derivation/rollups.ts +56 -0
  61. package/src/derivation/stars.test.ts +67 -0
  62. package/src/derivation/stars.ts +25 -0
  63. package/src/derivation/stats.ts +6 -6
  64. package/src/derivation/stratum.ts +26 -22
  65. package/src/derivation/tiers.ts +40 -7
  66. package/src/derivation/upgrades.ts +14 -0
  67. package/src/derivation/wormhole.ts +141 -0
  68. package/src/entities/entity.ts +98 -0
  69. package/src/entities/gamestate.ts +3 -28
  70. package/src/entities/makers.ts +131 -134
  71. package/src/entities/slot-multiplier.ts +43 -0
  72. package/src/errors.ts +12 -16
  73. package/src/format.ts +26 -4
  74. package/src/index-module.ts +290 -34
  75. package/src/managers/actions.ts +602 -105
  76. package/src/managers/base.ts +6 -2
  77. package/src/managers/cluster.test.ts +39 -0
  78. package/src/managers/cluster.ts +53 -0
  79. package/src/managers/construction-types.ts +80 -0
  80. package/src/managers/construction.ts +412 -0
  81. package/src/managers/context.ts +29 -1
  82. package/src/managers/coordinates.ts +14 -0
  83. package/src/managers/entities.ts +27 -66
  84. package/src/managers/epochs.ts +40 -0
  85. package/src/managers/flatten-gather-plan.test.ts +80 -0
  86. package/src/managers/index.ts +20 -1
  87. package/src/managers/locations.ts +25 -29
  88. package/src/managers/nft.test.ts +14 -0
  89. package/src/managers/nft.ts +70 -0
  90. package/src/managers/players.ts +25 -0
  91. package/src/managers/plot.ts +122 -0
  92. package/src/nft/atomicassets.abi.json +1342 -0
  93. package/src/nft/atomicassets.ts +237 -0
  94. package/src/nft/atomicdata.ts +130 -0
  95. package/src/nft/buildImmutableData.ts +336 -0
  96. package/src/nft/description.ts +104 -36
  97. package/src/nft/index.ts +3 -0
  98. package/src/planner/index.ts +242 -0
  99. package/src/planner/planner.test.ts +325 -0
  100. package/src/resolution/describe-module.ts +43 -25
  101. package/src/resolution/display-name.ts +38 -10
  102. package/src/resolution/resolve-item.test.ts +48 -0
  103. package/src/resolution/resolve-item.ts +74 -47
  104. package/src/scan/index.ts +244 -0
  105. package/src/scan/scan-wasm.base64.ts +2 -0
  106. package/src/scheduling/accessor.ts +65 -23
  107. package/src/scheduling/availability.ts +108 -0
  108. package/src/scheduling/cancel.test.ts +348 -0
  109. package/src/scheduling/cancel.ts +209 -0
  110. package/src/scheduling/energy.ts +47 -0
  111. package/src/scheduling/idle-resolve.ts +45 -0
  112. package/src/scheduling/lane-core.ts +128 -0
  113. package/src/scheduling/lanes.test.ts +249 -0
  114. package/src/scheduling/lanes.ts +198 -0
  115. package/src/scheduling/projection.ts +210 -107
  116. package/src/scheduling/schedule.ts +240 -117
  117. package/src/scheduling/task-cargo.ts +46 -0
  118. package/src/scheduling/unwrap.test.ts +86 -0
  119. package/src/scheduling/unwrap.ts +190 -0
  120. package/src/shipload.ts +26 -1
  121. package/src/subscriptions/manager.cluster.test.ts +51 -0
  122. package/src/subscriptions/manager.ts +245 -172
  123. package/src/subscriptions/mappers.ts +5 -8
  124. package/src/subscriptions/types.ts +28 -3
  125. package/src/testing/catalog-hash.ts +19 -0
  126. package/src/testing/index.ts +2 -0
  127. package/src/testing/projection-parity.ts +167 -0
  128. package/src/travel/reach.ts +23 -0
  129. package/src/travel/route-planner.ts +277 -0
  130. package/src/travel/travel.ts +148 -117
  131. package/src/types/capabilities.ts +29 -6
  132. package/src/types/entity.ts +3 -3
  133. package/src/types/index.ts +0 -1
  134. package/src/types.ts +36 -14
  135. package/src/utils/cargo.test.ts +14 -0
  136. package/src/utils/cargo.ts +29 -0
  137. package/src/utils/display-name.ts +70 -0
  138. package/src/utils/system.ts +36 -24
  139. package/src/capabilities/loading.ts +0 -8
  140. package/src/entities/container.ts +0 -123
  141. package/src/entities/ship-deploy.ts +0 -295
  142. package/src/entities/ship.ts +0 -221
  143. package/src/entities/warehouse.ts +0 -127
  144. package/src/types/entity-traits.ts +0 -69
@@ -0,0 +1,4330 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, UInt16, UInt8, Int64, TimePoint, Int8, BlockTimestamp, 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('DmVvc2lvOjphYmkvMS4yAB0LYmFsYW5jZV9yb3cAAg50b2tlbl9jb250cmFjdARuYW1lB2JhbGFuY2UFYXNzZXQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BWNsb3NlAAMFb3duZXIEbmFtZQ50b2tlbl9jb250cmFjdARuYW1lDHRva2VuX3N5bWJvbAZzeW1ib2wLY29tcGFueV9yb3cAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcMZGViaXRkZXBvc2l0AAUFb3duZXIEbmFtZQV0b2tlbgRuYW1lBmxvY2tlZAVhc3NldAtmZWVfYWNjb3VudARuYW1lA2ZlZQVhc3NldA5kZXBvc2l0Y2ZnX3JvdwACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZW5hYmxlZ2FtZQACCGNvbnRyYWN0BG5hbWUHZW5hYmxlZARib29sDGZvdW5kY29tcGFueQACB2FjY291bnQEbmFtZQRuYW1lBnN0cmluZwtnYW1lX2NvbmZpZwAEBHNlZWQLY2hlY2tzdW0yNTYJZXBvY2h0aW1lBnVpbnQzMgVzdGFydA50aW1lX3BvaW50X3NlYwNlbmQOdGltZV9wb2ludF9zZWMJZ2FtZV9tZXRhAAQEbmFtZQZzdHJpbmcLZGVzY3JpcHRpb24Gc3RyaW5nA3VybAZzdHJpbmcHdmVyc2lvbgZzdHJpbmcIZ2FtZV9yb3cABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCmdhbWVfc3RhdGUAAQdlbmFibGVkBGJvb2wEb3BlbgADBW93bmVyBG5hbWUOdG9rZW5fY29udHJhY3QEbmFtZQx0b2tlbl9zeW1ib2wGc3ltYm9sDHJlbGdhdGVhc3NldAABCGFzc2V0X2lkBnVpbnQ2NAxyZWxnYXRlb3duZXIAAQVvd25lcgRuYW1lDHNldGVwb2NodGltZQACCGNvbnRyYWN0BG5hbWUJZXBvY2h0aW1lBnVpbnQzMghzZXR0b2tlbgACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAt1bndyYXBjYXJnbwADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA51bndyYXBjdXN0X3JvdwACCGFzc2V0X2lkBnVpbnQ2NAVvd25lcgRuYW1lDHVud3JhcGVudGl0eQADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5DmV4dGVuZGVkX2Fzc2V0BG1lbW8Gc3RyaW5nCXdyYXBjYXJnbwAGBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0CGNhcmdvX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQKd3JhcGVudGl0eQAEBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0DHdyYXBnYXRlX3JvdwADBW93bmVyBG5hbWUEZ2FtZQRuYW1lDWxhc3RfYXNzZXRfaWQGdWludDY0EwCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAIVpRAVjbG9zZeICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsb3NlCnN1bW1hcnk6ICdDbG9zZSBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpDbG9zZSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2Ugcm93IGZvciB0aGUgZ2l2ZW4gdG9rZW4gYW5kIGZyZWUgaXRzIFJBTS4gVGhlIGJhbGFuY2UgbXVzdCBiZSB6ZXJvIGJlZm9yZSBjbG9zaW5nLiBSZXF1aXJlcyB0aGUgb3duZXIncyBhdXRob3JpdHkukB2mVaXsjkoMZGViaXRkZXBvc2l0nQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGViaXRkZXBvc2l0CnN1bW1hcnk6ICdEZWJpdCBhIGRlcG9zaXQgYmFsYW5jZSBmb3IgYSB3cmFwIG9wZXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IGEgcmVnaXN0ZXJlZCwgZW5hYmxlZCBnYW1lIGNvbnRyYWN0IG9ubHkuIERlYml0cyB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UgYnkgdGhlIGxvY2tlZCBhbW91bnQgcGx1cyB0aGUgZmVlLCBhbmQgY3JlZGl0cyB0aGUgZmVlIHRvIHRoZSBjb25maWd1cmVkIGZlZSBhY2NvdW50LiBVc2VkIGJ5IGEgZ2FtZSdzIHdyYXAgZmxvdyB0byBjb2xsZWN0IHRoZSB3cmFwIGNvc3QuIENhbm5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgcGxheWVycyBvciB1bnJlZ2lzdGVyZWQgYWNjb3VudHMuAAAAAKh4zFQGZW5hYmxl8wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdFbmFibGUvZGlzYWJsZSBwbGF0Zm9ybScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBwbGF0Zm9ybSBjb250cmFjdC4AgJKGqXjMVAplbmFibGVnYW1l/AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlZ2FtZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2JhYmxlIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC7gp6mSojQ1XQxmb3VuZGNvbXBhbnmDAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3VuZGNvbXBhbnkKc3VtbWFyeTogJ0ZvdW5kIGEgbmV3IGNvbXBhbnknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpGb3VuZCBhIG5ldyBjb21wYW55IGluIHRoZSBTaGlwbG9hZCBwbGF0Zm9ybSBjb250cmFjdC4AAAAAADBVpQRvcGVumwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogb3BlbgpzdW1tYXJ5OiAnT3BlbiBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpPcGVuIGEgemVyby1iYWxhbmNlIGRlcG9zaXQgcm93IGZvciB0aGUgZ2l2ZW4gb3duZXIgYW5kIHRva2VuLCB3aXRoIFJBTSBwYWlkIGJ5IHRoZSBvd25lci4gSGFzIG5vIGVmZmVjdCBpZiB0aGUgcm93IGFscmVhZHkgZXhpc3RzLiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgdGhlIG93bmVyIGNhbiByZWNlaXZlIHRva2VuIGRlcG9zaXRzIG9yIHdyYXAgcmVmdW5kcy6QFcZGZcOiugxyZWxnYXRlYXNzZXQAcNXkVGXDoroMcmVsZ2F0ZW93bmVyAKCkyw3RqrLCDHNldGVwb2NodGltZcQCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldGVwb2NodGltZQpzdW1tYXJ5OiAnREVCVUc6IG92ZXJyaWRlIGEgZ2FtZScncyBlcG9jaCB0aW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpPdmVycmlkZSB0aGUgZXBvY2ggZHVyYXRpb24gaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAAAAU0Gas8IIc2V0dG9rZW6dAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXR0b2tlbgpzdW1tYXJ5OiAnU2V0IHRoZSBhY2NlcHRlZCBkZXBvc2l0IHRva2VuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKQWRtaW4gYWN0aW9uIHRoYXQgc2V0cyB0aGUgYWNjZXB0ZWQgZGVwb3NpdCB0b2tlbiAoY29udHJhY3QgYWNjb3VudCBhbmQgc3ltYm9sKSBmb3IgdGhlIHBsYXRmb3JtLiBBbGwgcGxheWVyIGRlcG9zaXRzIGFuZCB3cmFwIGNvc3RzIGFyZSBkZW5vbWluYXRlZCBpbiB0aGlzIHRva2VuLiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AKLsGVXP51At1bndyYXBjYXJnb88ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVud3JhcGNhcmdvCnN1bW1hcnk6ICdEZXBvc2l0IGFuIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlcG9zaXQgYW4gQXRvbWljQXNzZXRzIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnby4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAndW53cmFwJyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgY2FsbGVyIG11c3Qgb3duIHRoZSBob3N0LCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycywgYW5kIHRoZSBob3N0IG11c3QgaGF2ZSBjYXBhY2l0eSBoZWFkcm9vbSBmb3IgdGhlIHVud3JhcHBlZCBtYXNzLiBTY2hlZHVsZXMgYSBUQVNLX1VOV1JBUCBvbiB0aGUgaG9zdCB0aGF0LCBvbiByZXNvbHV0aW9uLCBwbGFjZXMgdGhlIGRlY29kZWQgaXRlbSBpbnRvIHRoZSBob3N0J3MgY2FyZ28gYW5kIGJ1cm5zIHRoZSBORlQu4LPLU1Vz+dQMdW53cmFwZW50aXR54gQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW53cmFwZW50aXR5CnN1bW1hcnk6ICdEZXBsb3kgYW4gZW50aXR5IE5GVCBkaXJlY3RseSB0byBhIG5leHVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZXBsb3kgYSBwYWNrZWQtZW50aXR5IEF0b21pY0Fzc2V0cyBORlQgKG9yYml0YWwgdmVzc2VsOiBzaGlwIG9yIGNvbnRhaW5lcikgZGlyZWN0bHkgYXMgYSBsaXZlIGVudGl0eS4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAnZGVwbG95JyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgTkZUIGlzIGJ1cm5lZCwgYSBuZXcgZW50aXR5IHJvdyBpcyBlbXBsYWNlZCBhdCB0aGUgTkZUJ3Mgd3JhcCBvcmlnaW4gcGFpZCBieSB0aGUgb3duZXIsIGFuZCBUQVNLX1RSQVZFTCBwbHVzIFRBU0tfUkVDSEFSR0UgYXJlIHF1ZXVlZCB0byBkZWxpdmVyIHRoZSBlbnRpdHkgdG8gdGhlIHRhcmdldCBuZXh1cyBhbmQgYnJpbmcgaXQgdG8gZnVsbCBlbmVyZ3kuAICShqlsUtUKdXBkYXRlZ2FtZY0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWdhbWUKc3VtbWFyeTogJ1VwZGF0ZSBnYW1lIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKVXBkYXRlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3QuCgotLS0AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAA3NzUsuMId2l0aGRyYXeXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXRoZHJhdwpzdW1tYXJ5OiAnV2l0aGRyYXcgdG9rZW5zIGZyb20gYSBkZXBvc2l0IGJhbGFuY2UnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpXaXRoZHJhdyB0b2tlbnMgZnJvbSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UuIERlYml0cyB0aGUgbGVkZ2VyIGJ5IHRoZSByZXF1ZXN0ZWQgYW1vdW50IGFuZCB0cmFuc2ZlcnMgdGhlIHRva2VucyB0byB0aGUgb3duZXIuIFJlcXVpcmVzIGEgc3VmZmljaWVudCBiYWxhbmNlIGFuZCB0aGUgb3duZXIncyBhdXRob3JpdHkuAACg7BpUzeUJd3JhcGNhcmdvAACAzy5PVc3lCndyYXBlbnRpdHm1BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3cmFwZW50aXR5CnN1bW1hcnk6ICdXcmFwIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpXcmFwIGFuIGVudGl0eSBpbnRvIGFuIEF0b21pY0Fzc2V0cyBORlQgbWludGVkIHRvIGl0cyBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGlkbGUgd2l0aCBlbXB0eSBjYXJnbywgYW5kIGhhdmUgYW4gbmZ0Y29uZmlnIG1hcHBpbmcgZm9yIGl0cyBpdGVtIGlkLiBFcmFzZXMgdGhlIGVudGl0eSBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUsIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlczsgdGhlIHBsYXllciBwYXlzIFJBTSBmb3IgdGhlIG5ldyBhc3NldCByb3cuIFJlcXVpcmVzIHRoZSBvd25lcidzIGFjdGl2ZSBwZXJtaXNzaW9uIChubyBzZXNzaW9uLWtleSBjb21wYXRpYmlsaXR5KS4HAAAAQKFpojkDaTY0AAALYmFsYW5jZV9yb3cAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAWyg7TKtKA2k2NAAADmRlcG9zaXRjZmdfcm93AAAAAACspGEDaTY0AAAIZ2FtZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAQMYaVXP51ANpNjQAAA51bndyYXBjdXN0X3JvdwAAACobVs3lA2k2NAAADHdyYXBnYXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let balance_row = class balance_row extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], balance_row.prototype, "token_contract", void 0);
32
+ __decorate([
33
+ Struct.field(Asset)
34
+ ], balance_row.prototype, "balance", void 0);
35
+ balance_row = __decorate([
36
+ Struct.type('balance_row')
37
+ ], balance_row);
38
+ Types.balance_row = balance_row;
39
+ let cleartable = class cleartable extends Struct {
40
+ };
41
+ __decorate([
42
+ Struct.field(Name)
43
+ ], cleartable.prototype, "table_name", void 0);
44
+ __decorate([
45
+ Struct.field(Name, { optional: true })
46
+ ], cleartable.prototype, "scope", void 0);
47
+ __decorate([
48
+ Struct.field(UInt64, { optional: true })
49
+ ], cleartable.prototype, "max_rows", void 0);
50
+ cleartable = __decorate([
51
+ Struct.type('cleartable')
52
+ ], cleartable);
53
+ Types.cleartable = cleartable;
54
+ let close = class close extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field(Name)
58
+ ], close.prototype, "owner", void 0);
59
+ __decorate([
60
+ Struct.field(Name)
61
+ ], close.prototype, "token_contract", void 0);
62
+ __decorate([
63
+ Struct.field(Asset.Symbol)
64
+ ], close.prototype, "token_symbol", void 0);
65
+ close = __decorate([
66
+ Struct.type('close')
67
+ ], close);
68
+ Types.close = close;
69
+ let company_row = class company_row extends Struct {
70
+ };
71
+ __decorate([
72
+ Struct.field(Name)
73
+ ], company_row.prototype, "account", void 0);
74
+ __decorate([
75
+ Struct.field('string')
76
+ ], company_row.prototype, "name", void 0);
77
+ company_row = __decorate([
78
+ Struct.type('company_row')
79
+ ], company_row);
80
+ Types.company_row = company_row;
81
+ let debitdeposit = class debitdeposit extends Struct {
82
+ };
83
+ __decorate([
84
+ Struct.field(Name)
85
+ ], debitdeposit.prototype, "owner", void 0);
86
+ __decorate([
87
+ Struct.field(Name)
88
+ ], debitdeposit.prototype, "token", void 0);
89
+ __decorate([
90
+ Struct.field(Asset)
91
+ ], debitdeposit.prototype, "locked", void 0);
92
+ __decorate([
93
+ Struct.field(Name)
94
+ ], debitdeposit.prototype, "fee_account", void 0);
95
+ __decorate([
96
+ Struct.field(Asset)
97
+ ], debitdeposit.prototype, "fee", void 0);
98
+ debitdeposit = __decorate([
99
+ Struct.type('debitdeposit')
100
+ ], debitdeposit);
101
+ Types.debitdeposit = debitdeposit;
102
+ let depositcfg_row = class depositcfg_row extends Struct {
103
+ };
104
+ __decorate([
105
+ Struct.field(Name)
106
+ ], depositcfg_row.prototype, "token_contract", void 0);
107
+ __decorate([
108
+ Struct.field(Asset.Symbol)
109
+ ], depositcfg_row.prototype, "token_symbol", void 0);
110
+ depositcfg_row = __decorate([
111
+ Struct.type('depositcfg_row')
112
+ ], depositcfg_row);
113
+ Types.depositcfg_row = depositcfg_row;
114
+ let enable = class enable extends Struct {
115
+ };
116
+ __decorate([
117
+ Struct.field('bool')
118
+ ], enable.prototype, "enabled", void 0);
119
+ enable = __decorate([
120
+ Struct.type('enable')
121
+ ], enable);
122
+ Types.enable = enable;
123
+ let enablegame = class enablegame extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field(Name)
127
+ ], enablegame.prototype, "contract", void 0);
128
+ __decorate([
129
+ Struct.field('bool')
130
+ ], enablegame.prototype, "enabled", void 0);
131
+ enablegame = __decorate([
132
+ Struct.type('enablegame')
133
+ ], enablegame);
134
+ Types.enablegame = enablegame;
135
+ let foundcompany = class foundcompany extends Struct {
136
+ };
137
+ __decorate([
138
+ Struct.field(Name)
139
+ ], foundcompany.prototype, "account", void 0);
140
+ __decorate([
141
+ Struct.field('string')
142
+ ], foundcompany.prototype, "name", void 0);
143
+ foundcompany = __decorate([
144
+ Struct.type('foundcompany')
145
+ ], foundcompany);
146
+ Types.foundcompany = foundcompany;
147
+ let game_config = class game_config extends Struct {
148
+ };
149
+ __decorate([
150
+ Struct.field(Checksum256)
151
+ ], game_config.prototype, "seed", void 0);
152
+ __decorate([
153
+ Struct.field(UInt32)
154
+ ], game_config.prototype, "epochtime", void 0);
155
+ __decorate([
156
+ Struct.field(TimePointSec)
157
+ ], game_config.prototype, "start", void 0);
158
+ __decorate([
159
+ Struct.field(TimePointSec)
160
+ ], game_config.prototype, "end", void 0);
161
+ game_config = __decorate([
162
+ Struct.type('game_config')
163
+ ], game_config);
164
+ Types.game_config = game_config;
165
+ let game_meta = class game_meta extends Struct {
166
+ };
167
+ __decorate([
168
+ Struct.field('string')
169
+ ], game_meta.prototype, "name", void 0);
170
+ __decorate([
171
+ Struct.field('string')
172
+ ], game_meta.prototype, "description", void 0);
173
+ __decorate([
174
+ Struct.field('string')
175
+ ], game_meta.prototype, "url", void 0);
176
+ __decorate([
177
+ Struct.field('string')
178
+ ], game_meta.prototype, "version", void 0);
179
+ game_meta = __decorate([
180
+ Struct.type('game_meta')
181
+ ], game_meta);
182
+ Types.game_meta = game_meta;
183
+ let game_state = class game_state extends Struct {
184
+ };
185
+ __decorate([
186
+ Struct.field('bool')
187
+ ], game_state.prototype, "enabled", void 0);
188
+ game_state = __decorate([
189
+ Struct.type('game_state')
190
+ ], game_state);
191
+ Types.game_state = game_state;
192
+ let game_row = class game_row extends Struct {
193
+ };
194
+ __decorate([
195
+ Struct.field(Name)
196
+ ], game_row.prototype, "contract", void 0);
197
+ __decorate([
198
+ Struct.field(game_config)
199
+ ], game_row.prototype, "config", void 0);
200
+ __decorate([
201
+ Struct.field(game_meta)
202
+ ], game_row.prototype, "meta", void 0);
203
+ __decorate([
204
+ Struct.field(game_state)
205
+ ], game_row.prototype, "state", void 0);
206
+ game_row = __decorate([
207
+ Struct.type('game_row')
208
+ ], game_row);
209
+ Types.game_row = game_row;
210
+ let open = class open extends Struct {
211
+ };
212
+ __decorate([
213
+ Struct.field(Name)
214
+ ], open.prototype, "owner", void 0);
215
+ __decorate([
216
+ Struct.field(Name)
217
+ ], open.prototype, "token_contract", void 0);
218
+ __decorate([
219
+ Struct.field(Asset.Symbol)
220
+ ], open.prototype, "token_symbol", void 0);
221
+ open = __decorate([
222
+ Struct.type('open')
223
+ ], open);
224
+ Types.open = open;
225
+ let relgateasset = class relgateasset extends Struct {
226
+ };
227
+ __decorate([
228
+ Struct.field(UInt64)
229
+ ], relgateasset.prototype, "asset_id", void 0);
230
+ relgateasset = __decorate([
231
+ Struct.type('relgateasset')
232
+ ], relgateasset);
233
+ Types.relgateasset = relgateasset;
234
+ let relgateowner = class relgateowner extends Struct {
235
+ };
236
+ __decorate([
237
+ Struct.field(Name)
238
+ ], relgateowner.prototype, "owner", void 0);
239
+ relgateowner = __decorate([
240
+ Struct.type('relgateowner')
241
+ ], relgateowner);
242
+ Types.relgateowner = relgateowner;
243
+ let setepochtime = class setepochtime extends Struct {
244
+ };
245
+ __decorate([
246
+ Struct.field(Name)
247
+ ], setepochtime.prototype, "contract", void 0);
248
+ __decorate([
249
+ Struct.field(UInt32)
250
+ ], setepochtime.prototype, "epochtime", void 0);
251
+ setepochtime = __decorate([
252
+ Struct.type('setepochtime')
253
+ ], setepochtime);
254
+ Types.setepochtime = setepochtime;
255
+ let settoken = class settoken extends Struct {
256
+ };
257
+ __decorate([
258
+ Struct.field(Name)
259
+ ], settoken.prototype, "token_contract", void 0);
260
+ __decorate([
261
+ Struct.field(Asset.Symbol)
262
+ ], settoken.prototype, "token_symbol", void 0);
263
+ settoken = __decorate([
264
+ Struct.type('settoken')
265
+ ], settoken);
266
+ Types.settoken = settoken;
267
+ let startgame = class startgame extends Struct {
268
+ };
269
+ __decorate([
270
+ Struct.field(Name)
271
+ ], startgame.prototype, "contract", void 0);
272
+ __decorate([
273
+ Struct.field(game_config)
274
+ ], startgame.prototype, "config", void 0);
275
+ __decorate([
276
+ Struct.field(game_meta)
277
+ ], startgame.prototype, "meta", void 0);
278
+ __decorate([
279
+ Struct.field(game_state)
280
+ ], startgame.prototype, "state", void 0);
281
+ startgame = __decorate([
282
+ Struct.type('startgame')
283
+ ], startgame);
284
+ Types.startgame = startgame;
285
+ let state_row = class state_row extends Struct {
286
+ };
287
+ __decorate([
288
+ Struct.field('bool')
289
+ ], state_row.prototype, "enabled", void 0);
290
+ state_row = __decorate([
291
+ Struct.type('state_row')
292
+ ], state_row);
293
+ Types.state_row = state_row;
294
+ let unwrapcargo = class unwrapcargo extends Struct {
295
+ };
296
+ __decorate([
297
+ Struct.field(Name)
298
+ ], unwrapcargo.prototype, "game", void 0);
299
+ __decorate([
300
+ Struct.field(Name)
301
+ ], unwrapcargo.prototype, "owner", void 0);
302
+ __decorate([
303
+ Struct.field(UInt64)
304
+ ], unwrapcargo.prototype, "asset_id", void 0);
305
+ unwrapcargo = __decorate([
306
+ Struct.type('unwrapcargo')
307
+ ], unwrapcargo);
308
+ Types.unwrapcargo = unwrapcargo;
309
+ let unwrapcust_row = class unwrapcust_row extends Struct {
310
+ };
311
+ __decorate([
312
+ Struct.field(UInt64)
313
+ ], unwrapcust_row.prototype, "asset_id", void 0);
314
+ __decorate([
315
+ Struct.field(Name)
316
+ ], unwrapcust_row.prototype, "owner", void 0);
317
+ unwrapcust_row = __decorate([
318
+ Struct.type('unwrapcust_row')
319
+ ], unwrapcust_row);
320
+ Types.unwrapcust_row = unwrapcust_row;
321
+ let unwrapentity = class unwrapentity extends Struct {
322
+ };
323
+ __decorate([
324
+ Struct.field(Name)
325
+ ], unwrapentity.prototype, "game", void 0);
326
+ __decorate([
327
+ Struct.field(Name)
328
+ ], unwrapentity.prototype, "owner", void 0);
329
+ __decorate([
330
+ Struct.field(UInt64)
331
+ ], unwrapentity.prototype, "asset_id", void 0);
332
+ unwrapentity = __decorate([
333
+ Struct.type('unwrapentity')
334
+ ], unwrapentity);
335
+ Types.unwrapentity = unwrapentity;
336
+ let updategame = class updategame extends Struct {
337
+ };
338
+ __decorate([
339
+ Struct.field(Name)
340
+ ], updategame.prototype, "contract", void 0);
341
+ __decorate([
342
+ Struct.field(game_meta)
343
+ ], updategame.prototype, "meta", void 0);
344
+ updategame = __decorate([
345
+ Struct.type('updategame')
346
+ ], updategame);
347
+ Types.updategame = updategame;
348
+ let wipe = class wipe extends Struct {
349
+ };
350
+ wipe = __decorate([
351
+ Struct.type('wipe')
352
+ ], wipe);
353
+ Types.wipe = wipe;
354
+ let withdraw = class withdraw extends Struct {
355
+ };
356
+ __decorate([
357
+ Struct.field(Name)
358
+ ], withdraw.prototype, "owner", void 0);
359
+ __decorate([
360
+ Struct.field(ExtendedAsset)
361
+ ], withdraw.prototype, "quantity", void 0);
362
+ __decorate([
363
+ Struct.field('string')
364
+ ], withdraw.prototype, "memo", void 0);
365
+ withdraw = __decorate([
366
+ Struct.type('withdraw')
367
+ ], withdraw);
368
+ Types.withdraw = withdraw;
369
+ let wrapcargo = class wrapcargo extends Struct {
370
+ };
371
+ __decorate([
372
+ Struct.field(Name)
373
+ ], wrapcargo.prototype, "game", void 0);
374
+ __decorate([
375
+ Struct.field(Name)
376
+ ], wrapcargo.prototype, "owner", void 0);
377
+ __decorate([
378
+ Struct.field(UInt64)
379
+ ], wrapcargo.prototype, "entity_id", void 0);
380
+ __decorate([
381
+ Struct.field(UInt64)
382
+ ], wrapcargo.prototype, "nexus_id", void 0);
383
+ __decorate([
384
+ Struct.field(UInt64)
385
+ ], wrapcargo.prototype, "cargo_id", void 0);
386
+ __decorate([
387
+ Struct.field(UInt64)
388
+ ], wrapcargo.prototype, "quantity", void 0);
389
+ wrapcargo = __decorate([
390
+ Struct.type('wrapcargo')
391
+ ], wrapcargo);
392
+ Types.wrapcargo = wrapcargo;
393
+ let wrapentity = class wrapentity extends Struct {
394
+ };
395
+ __decorate([
396
+ Struct.field(Name)
397
+ ], wrapentity.prototype, "game", void 0);
398
+ __decorate([
399
+ Struct.field(Name)
400
+ ], wrapentity.prototype, "owner", void 0);
401
+ __decorate([
402
+ Struct.field(UInt64)
403
+ ], wrapentity.prototype, "entity_id", void 0);
404
+ __decorate([
405
+ Struct.field(UInt64)
406
+ ], wrapentity.prototype, "nexus_id", void 0);
407
+ wrapentity = __decorate([
408
+ Struct.type('wrapentity')
409
+ ], wrapentity);
410
+ Types.wrapentity = wrapentity;
411
+ let wrapgate_row = class wrapgate_row extends Struct {
412
+ };
413
+ __decorate([
414
+ Struct.field(Name)
415
+ ], wrapgate_row.prototype, "owner", void 0);
416
+ __decorate([
417
+ Struct.field(Name)
418
+ ], wrapgate_row.prototype, "game", void 0);
419
+ __decorate([
420
+ Struct.field(UInt64)
421
+ ], wrapgate_row.prototype, "last_asset_id", void 0);
422
+ wrapgate_row = __decorate([
423
+ Struct.type('wrapgate_row')
424
+ ], wrapgate_row);
425
+ Types.wrapgate_row = wrapgate_row;
426
+ })(Types$1 || (Types$1 = {}));
427
+ ({
428
+ balance: Types$1.balance_row,
429
+ company: Types$1.company_row,
430
+ depositcfg: Types$1.depositcfg_row,
431
+ games: Types$1.game_row,
432
+ state: Types$1.state_row,
433
+ unwrapcust: Types$1.unwrapcust_row,
434
+ wrapgate: Types$1.wrapgate_row,
435
+ });
436
+
437
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDi/AQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQJYWRkb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUFYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQlidWlsZHBsb3QAAgpidWlsZGVyX2lkBnVpbnQ2NAdwbG90X2lkBnVpbnQ2NAZjYW5jZWwAAwJpZAZ1aW50NjQIbGFuZV9rZXkFdWludDgFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8JY2xhaW1fcm93AAEFb3duZXIEbmFtZQljbGFpbXBsb3QAAwpidWlsZGVyX2lkBnVpbnQ2NA50YXJnZXRfaXRlbV9pZAZ1aW50MTYEc2xvdAxjbHVzdGVyX3Nsb3QMY2xhaW1zdGFydGVyAAEFb3duZXIEbmFtZQljbGVhbnJzdnAAAgVlcG9jaAZ1aW50NjQIbWF4X3Jvd3MGdWludDY0CmNsZWFydGFibGUAAwp0YWJsZV9uYW1lBG5hbWUFc2NvcGUFbmFtZT8IbWF4X3Jvd3MHdWludDY0PwxjbHVzdGVyX2NlbGwAAwJneARpbnQ4Amd5BGludDgGZW50aXR5BnVpbnQ2NAtjbHVzdGVyX3JvdwACBHJvb3QGdWludDY0BWNlbGxzDmNsdXN0ZXJfY2VsbFtdDGNsdXN0ZXJfc2xvdAADA2h1YgZ1aW50NjQCZ3gEaW50OAJneQRpbnQ4BmNvbW1pdAADCW9yYWNsZV9pZARuYW1lBWVwb2NoBnVpbnQ2NAZjb21taXQLY2hlY2tzdW0yNTYKY29tbWl0X3JvdwAEAmlkBnVpbnQ2NAVlcG9jaAZ1aW50NjQJb3JhY2xlX2lkBG5hbWUGY29tbWl0C2NoZWNrc3VtMjU2CWNvbmZpZ2xvZwABBmNvbmZpZwtnYW1lX2NvbmZpZwtjb29yZGluYXRlcwADAXgFaW50NjQBeQVpbnQ2NAF6B3VpbnQxNj8FY3JhZnQABgJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQZ0YXJnZXQHdWludDY0PwRzbG90BnVpbnQ4PwxjcmFmdGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MzIKb3V0cHV0X3BjdAZ1aW50MTYIZGVtb2xpc2gAAQllbnRpdHlfaWQGdWludDY0BmRlcGxveQADAmlkBnVpbnQ2NANyZWYJY2FyZ29fcmVmBHNsb3QNY2x1c3Rlcl9zbG90PwpkZXNjZW50aXR5AAQHaXRlbV9pZAZ1aW50MTYKaHVsbF9zdGF0cwZ1aW50NjQMbW9kdWxlX2l0ZW1zCHVpbnQxNltdDG1vZHVsZV9zdGF0cwh1aW50NjRbXQZlbmFibGUAAQdlbmFibGVkBGJvb2wMZW5lcmd5X3N0YXRzAAIIY2FwYWNpdHkGdWludDMyCHJlY2hhcmdlBnVpbnQzMhRlbnRpdHlfY3VycmVudF9zdGF0ZQACC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQZ1aW50MzIPZW50aXR5X2RlZmF1bHRzAAILd2FyZWhvdXNlX3oGdWludDE2C2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAWBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXRlbV9pZAZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDMyPwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPw5nYXRoZXJlcl9sYW5lcw9nYXRoZXJlcl9sYW5lW10NY3JhZnRlcl9sYW5lcw5jcmFmdGVyX2xhbmVbXQxsb2FkZXJfbGFuZXMNbG9hZGVyX2xhbmVbXQhsYXVuY2hlcg9sYXVuY2hlcl9zdGF0cz8FbGFuZXMGbGFuZVtdBWhvbGRzBmhvbGRbXQ1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKZW50aXR5X3JvdwAMAmlkBnVpbnQ2NAVvd25lcgRuYW1lBGtpbmQEbmFtZQdpdGVtX2lkBnVpbnQxNgRuYW1lBnN0cmluZwVzdGF0cwZ1aW50NjQLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdBWxhbmVzBmxhbmVbXQVob2xkcwZob2xkW10OZW50aXR5X3NlcV9yb3cAAQduZXh0X2lkBnVpbnQ2NA5lbnRpdHlfc3VtbWFyeQAIBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXNfaWRsZQRib29sDnJlc29sdmVkX2NvdW50BnVpbnQzMg1wZW5kaW5nX2NvdW50BnVpbnQzMhBlbnRpdHlfdGFza19pbmZvAAQJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lCnRhc2tfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdC2VudW1fbWVtYmVyAAIFdmFsdWUFdWludDgEbmFtZQZzdHJpbmcLZW51bV9yZXN1bHQAAQdtZW1iZXJzDWVudW1fbWVtYmVyW10JZXBvY2hfcm93AAQFZXBvY2gGdWludDY0Cm9yYWNsZV9pZHMGbmFtZVtdCXRocmVzaG9sZAV1aW50OARzZWVkC2NoZWNrc3VtMjU2DGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQQZm9vdHByaW50X3Jlc3VsdAABBWNlbGxzC2dyaWRfY2VsbFtdC2ZvcmNlcmV2ZWFsAAEFZXBvY2gGdWludDY0C2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAUJc291cmNlX2lkBnVpbnQ2NA5kZXN0aW5hdGlvbl9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYIcXVhbnRpdHkGdWludDMyBHNsb3QGdWludDg/DWdhdGhlcmVyX2xhbmUABQpzbG90X2luZGV4BXVpbnQ4BXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MzIFZGVwdGgGdWludDE2Cm91dHB1dF9wY3QGdWludDE2DGdlbmVzaXNmbGVldAABCGVudGl0aWVzDGVudGl0eV9yb3dbXQpnZXRjbHVzdGVyAAEGaHViX2lkBnVpbnQ2NAlnZXRjb25maWcAAApnZXRkZXBvc2l0AAIFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQLZ2V0ZGlzdGFuY2UABAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAxnZXRmb290cHJpbnQAAQdpdGVtX2lkBnVpbnQxNgtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAAC2dldGl0ZW10eXBlAAEHaXRlbV9pZAZ1aW50MTYMZ2V0aXRlbXR5cGVzAAALZ2V0a2luZG1ldGEAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQxnZXRwcm9qc3RhdGUAAgllbnRpdHlfaWQGdWludDY0CnRhc2tfY291bnQGdWludDg/CWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtnZXR3b3JtaG9sZQACAXgFaW50NjQBeQVpbnQ2NAlncmlkX2NlbGwAAgJneARpbnQ4Amd5BGludDgMZ3JvdXB0cmFuc2l0AAUIZW50aXRpZXMMZW50aXR5X3JlZltdAmF4BWludDY0AmF5BWludDY0AmJ4BWludDY0AmJ5BWludDY0C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwxoYXVsZXJfc3RhdHMABAhjYXBhY2l0eQV1aW50OAplZmZpY2llbmN5BnVpbnQxNgVkcmFpbgZ1aW50MzIQY2FwYWNpdHlfYnlfdGllchFoYXVsZXJfdGllcl9jYXBbXQ9oYXVsZXJfdGllcl9jYXAAAgR0aWVyBXVpbnQ4CGNhcGFjaXR5BXVpbnQ4BGhvbGQABQJpZAZ1aW50NjQEa2luZAV1aW50OAtjb3VudGVycGFydAplbnRpdHlfcmVmBXVudGlsCnRpbWVfcG9pbnQNaW5jb21pbmdfbWFzcwZ1aW50MzILaW1wb3J0Y2FyZ28AAQNyb3cJY2FyZ29fcm93DGltcG9ydGVudGl0eQABA3JvdwplbnRpdHlfcm93C2ltcG9ydGdyb3VwAAEDcm93D2VudGl0eWdyb3VwX3JvdwxpbXBvcnRwbGF5ZXIAAQVvd25lcgRuYW1lDWltcG9ydHJlc2VydmUAAgtlcG9jaF9zY29wZQZ1aW50MzIDcm93C3Jlc2VydmVfcm93C2ltcG9ydHN0YXRlAAEDcm93CXN0YXRlX3JvdwhpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUQa2luZF9tZXRhX3Jlc3VsdAACBWtpbmRzD2tpbmRfbWV0YV9yb3dbXQl0ZW1wbGF0ZXMTdGVtcGxhdGVfbWV0YV9yb3dbXQ1raW5kX21ldGFfcm93AAUEa2luZARuYW1lDmNsYXNzaWZpY2F0aW9uBXVpbnQ4EGNhcGFiaWxpdHlfZmxhZ3MFdWludDgHel9jb29yZAZ1aW50MzINZGVmYXVsdF9sYWJlbAZzdHJpbmcEbGFuZQACCGxhbmVfa2V5BXVpbnQ4CHNjaGVkdWxlCHNjaGVkdWxlBmxhdW5jaAADC2xhdW5jaGVyX2lkBnVpbnQ2NApjYXRjaGVyX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10ObGF1bmNoZXJfc3RhdHMAAwtjaGFyZ2VfcmF0ZQZ1aW50MTYIdmVsb2NpdHkGdWludDE2BWRyYWluBnVpbnQxNgRsb2FkAAMCaWQGdWludDY0B2Zyb21faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQtsb2FkZXJfbGFuZQAECnNsb3RfaW5kZXgFdWludDgEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNgpvdXRwdXRfcGN0BnVpbnQxNhBsb2NhdGlvbl9kZXJpdmVkAAIMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwRzaXplBnVpbnQxNg1sb2NhdGlvbl9pbmZvAAMGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sC2lzX3dvcm1ob2xlBGJvb2wPbG9jYXRpb25fc3RhdGljAAUGY29vcmRzC2Nvb3JkaW5hdGVzBHR5cGUNbG9jYXRpb25fdHlwZQdzdWJ0eXBlBXVpbnQ4BXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DG1vZHVsZV9lbnRyeQACBHR5cGUFdWludDgJaW5zdGFsbGVkDnBhY2tlZF9tb2R1bGU/C21vZHVsZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyC21vZHVsZV90eXBlBXVpbnQ4BHRpZXIFdWludDgObW9kdWxlc19yZXN1bHQAAQdtb2R1bGVzDW1vZHVsZV9pbmZvW10ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQzMghtb3ZldGlsZQAFBmh1Yl9pZAZ1aW50NjQHZnJvbV9neARpbnQ4B2Zyb21fZ3kEaW50OAV0b19neARpbnQ4BXRvX2d5BGludDgLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MzIHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8ObmZ0X2NhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIQbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0ObmZ0X2NhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdF9zY2hlbWFfZGVmAAILc2NoZW1hX25hbWUEbmFtZQZmaWVsZHMOc2NoZW1hX2ZpZWxkW10QbmZ0X3RlbXBsYXRlX2RlZgADB2l0ZW1faWQGdWludDE2C3NjaGVtYV9uYW1lBG5hbWULdGVtcGxhdGVfaWQFaW50MzINbmZ0Y29uZmlnX3JvdwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUJbmZ0aW1ndXJsAAIEaXRlbQpjYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQRb3JhY2xlX2NvbmZpZ19yb3cAAQl0aHJlc2hvbGQFdWludDgKb3JhY2xlX3JvdwABAmlkBG5hbWUNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NApwbGFjZWNhcmdvAAMFb3duZXIEbmFtZQdob3N0X2lkBnVpbnQ2NAhhc3NldF9pZAZ1aW50NjQLcGxhY2VlbnRpdHkAAwVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA90YXJnZXRfbmV4dXNfaWQGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lD3Byb2plY3RlZF9zdGF0ZQAQBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/BHRpZXIFdWludDgIcmVjaGFyZ2UAAQJpZAZ1aW50NjQMcmVjaXBlX2lucHV0AAIHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyEHJlY2lwZV9pdGVtX2luZm8AAgJpZAZ1aW50MTYEbWFzcwZ1aW50MzIPcmVjaXBlX3Jlc3BvbnNlAAgOb3V0cHV0X2l0ZW1faWQGdWludDE2C291dHB1dF9tYXNzBnVpbnQzMgZpbnB1dHMOcmVjaXBlX2lucHV0W10Kc3RhdF9zbG90cxRzdGF0X3Nsb3RfcmVzcG9uc2VbXQ1ibGVuZF93ZWlnaHRzBWJ5dGVzC291dHB1dF9pdGVtEHJlY2lwZV9pdGVtX2luZm8LaW5wdXRfaXRlbXMScmVjaXBlX2l0ZW1faW5mb1tdD3NvdXJjZV9zdWJjbGFzcwd1aW50MTY/DnJlY2lwZXNfcmVzdWx0AAEHcmVjaXBlcxFyZWNpcGVfcmVzcG9uc2VbXQxyZWZyc2hlbnRpdHkAAQllbnRpdHlfaWQGdWludDY0DHJlbW92ZW9yYWNsZQABCW9yYWNsZV9pZARuYW1lBnJlbmFtZQACAmlkBnVpbnQ2NARuYW1lBnN0cmluZwtyZXNlcnZlX3JvdwAFAmlkBnVpbnQ2NAhjb29yZF9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlB3Jlc29sdmUAAgJpZAZ1aW50NjQFY291bnQHdWludDY0Pw9yZXNvbHZlX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUOcmVzb2x2ZWRfY291bnQGdWludDMyFG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CnJlc29sdmVhbGwAAQVvd25lcgRuYW1lEnJlc29sdmVhbGxfcmVzdWx0cwACB3NjYW5uZWQGdWludDMyCHJlc29sdmVkBnVpbnQzMg1yZXNvdXJjZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgOcmVzb3VyY2Vfc3RhdHMAAwVzdGF0MQZ1aW50MTYFc3RhdDIGdWludDE2BXN0YXQzBnVpbnQxNhByZXNvdXJjZXNfcmVzdWx0AAEJcmVzb3VyY2VzD3Jlc291cmNlX2luZm9bXQZyZXZlYWwAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGcmV2ZWFsC2NoZWNrc3VtMjU2CnJldmVhbF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBnJldmVhbAtjaGVja3N1bTI1NghybW1vZHVsZQADCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4CnRhcmdldF9yZWYKY2FyZ29fcmVmPwhybW5mdGNmZwABB2l0ZW1faWQGdWludDE2CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwlzZXRjb29yZHMAAwllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAlzZXRuZnRjZmcAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDHNldHRocmVzaG9sZAABCXRocmVzaG9sZAV1aW50OAtzZXR3cmFwY29zdAADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjQKc2V0d3JhcGZlZQACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUIc2xvdF9kZWYAAwR0eXBlBXVpbnQ4Cm91dHB1dF9wY3QGdWludDE2CG1heF90aWVyBXVpbnQ4EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAMHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2CXN0b3djYXJnbwAFBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NApzdG93ZW50aXR5AAMFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAMHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlCnN3YXBtb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZghzd2FwdGlsZQAFBmh1Yl9pZAZ1aW50NjQEYV9neARpbnQ4BGFfZ3kEaW50OARiX2d4BGludDgEYl9neQRpbnQ4BHRhc2sACgR0eXBlBXVpbnQ4CGR1cmF0aW9uBnVpbnQzMgpjYW5jZWxhYmxlBXVpbnQ4C2Nvb3JkaW5hdGVzDGNvb3JkaW5hdGVzPwVjYXJnbwxjYXJnb19pdGVtW10MZW50aXR5dGFyZ2V0C2VudGl0eV9yZWY/C2VudGl0eWdyb3VwB3VpbnQ2ND8LZW5lcmd5X2Nvc3QHdWludDMyPwRob2xkB3VpbnQ2ND8OdGFyZ2V0X2l0ZW1faWQHdWludDE2Pwp0YXNrX2V2ZW50AAoKZXZlbnRfdHlwZQV1aW50OAVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAp0YXNrX2luZGV4BnVpbnQzMgR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MzI/CGxhbmVfa2V5BXVpbnQ4DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXRF0ZW1wbGF0ZV9tZXRhX3JvdwADB2l0ZW1faWQGdWludDE2BGtpbmQEbmFtZQ1kaXNwbGF5X2xhYmVsBnN0cmluZwd0cmFuc2l0AAUCaWQGdWludDY0AmF4BWludDY0AmF5BWludDY0AmJ4BWludDY0AmJ5BWludDY0BnRyYXZlbAAEAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cABQJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcVbmZ0X2l0ZW1fcGF5bG9hZF90eXBlEG5mdF9pdGVtX3BheWxvYWQIdW5kZXBsb3kAAgdob3N0X2lkBnVpbnQ2NAl0YXJnZXRfaWQGdWludDY0BnVubG9hZAADAmlkBnVpbnQ2NAV0b19pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdB3VwZ3JhZGUABQpidWlsZGVyX2lkBnVpbnQ2NAl0YXJnZXRfaWQGdWludDY0DnRhcmdldF9pdGVtX2lkBnVpbnQxNgZpbnB1dHMMY2FyZ29faXRlbVtdBHNsb3QGdWludDg/BHdhcnAAAwJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CndhcnBfc3RhdHMAAQVyYW5nZQZ1aW50MzIEd2lwZQAADXdvcm1ob2xlX2luZm8AAwZjb29yZHMLY29vcmRpbmF0ZXMLaXNfd29ybWhvbGUEYm9vbAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcw53cmFwY29uZmlnX3JvdwACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUMd3JhcGNvc3Rfcm93AAMJaXRlbV90eXBlBXVpbnQ4BHRpZXIFdWludDgGYW1vdW50BnVpbnQ2NGEAAFBRJypTMglhZGRtb2R1bGXHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRtb2R1bGUKc3VtbWFyeTogJ0luc3RhbGwgYSBtb2R1bGUgaW50byBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbGwgYSBtb2R1bGUgZnJvbSBjYXJnbyBpbnRvIGEgbW9kdWxlIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIHR5cGUgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIHRhcmdldCBzbG90IHR5cGUuIFRoZSBtb2R1bGUgaXRlbSBpcyByZW1vdmVkIGZyb20gY2FyZ28gdXBvbiBpbnN0YWxsYXRpb24uAAAAWHc1UzIIYWRkbmV4dXOnAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRuZXh1cwpzdW1tYXJ5OiAnQWRkIGEgbmV4dXMgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNyZWF0ZSBhIG5ldyBuZXh1cyBlbnRpdHkgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzLiBOZXh1c2VzIGFyZSBvd25lZCBieSB0aGUgY29udHJhY3QgYW5kIHNlcnZlIGFzIGZpeGVkIGdhdGhlcmluZyBwb2ludHMgd2hlcmUgcGxheWVycyBjYW4gd3JhcCwgdW53cmFwLCBkZXBsb3ksIGFuZCBvdGhlcndpc2UgaW50ZXJhY3Qgd2l0aCBORlQtYmFja2VkIGFzc2V0cy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAUBGZS1MyCWFkZG9yYWNsZQAAAAAAgDRVPAVibGVuZPwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJsZW5kCnN1bW1hcnk6ICdCbGVuZCBjYXJnbyBzdGFja3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbWJpbmUgbXVsdGlwbGUgY2FyZ28gc3RhY2tzIG9mIHRoZSBzYW1lIGl0ZW0gdHlwZSBpbnRvIGEgc2luZ2xlIHN0YWNrIHdpdGggbmV3IGJsZW5kZWQgc3RhdHMuIEFsbCBpbnB1dCBzdGFja3MgbXVzdCBzaGFyZSB0aGUgc2FtZSBpdGVtIGlkLiBUaGUgb3V0cHV0IHN0YWNrIGhhcyB0aGUgY29tYmluZWQgcXVhbnRpdHkgb2YgYWxsIGlucHV0cy4AAMg01hSdPglidWlsZHBsb3QAAAAAAESFpkEGY2FuY2VswgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQuAADINFbpTEQJY2xhaW1wbG90AHBVviZj6UxEDGNsYWltc3RhcnRlcgAAAKgb32lURAljbGVhbnJzdnDsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhbnJzdnAKc3VtbWFyeTogJ0NsZWFuIHVwIHBhc3QgZXBvY2ggcmVzZXJ2ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVyYXNlIHJlc2VydmUgdGFibGUgcm93cyBmcm9tIGEgcGFzdCBlcG9jaC4gQ2Fubm90IGNsZWFuIHRoZSBjdXJyZW50IG9yIGZ1dHVyZSBlcG9jaHMuIFRoZSBtYXhfcm93cyBwYXJhbWV0ZXIgY2FwcyB0aGUgbnVtYmVyIG9mIHJvd3MgZXJhc2VkIHBlciBjYWxsIHRvIGxpbWl0IENQVSB1c2FnZS4AgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAGQnJUUGY29tbWl07AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgAAYDQytyZFCWNvbmZpZ2xvZ90CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbmZpZ2xvZwpzdW1tYXJ5OiAnTG9nIGdhbWUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbG9ncyB0aGUgY3VycmVudCBnYW1lIGNvbmZpZ3VyYXRpb24uIENhbGxlZCBpbmxpbmUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gdG8gYnJvYWRjYXN0IGNvbmZpZyB2aWEgYWN0aW9uIHRyYWNlcy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAACAvMxFBWNyYWZ0yAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JhZnQKc3VtbWFyeTogJ0NyYWZ0IGl0ZW1zIGZyb20gYSByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZm9ybSBjYXJnbyBpdGVtcyBpbnRvIGEgbmV3IGl0ZW0gdXNpbmcgYSByZWNpcGUuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGEgY3JhZnRlciBtb2R1bGUgaW5zdGFsbGVkLiBDb25zdW1lcyBlbmVyZ3kgYW5kIHNjaGVkdWxlcyBhIGNyYWZ0aW5nIHRhc2sgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiB0b3RhbCBpbnB1dCBtYXNzIGFuZCBjcmFmdGVyIHNwZWVkLiBJbnB1dCBxdWFudGl0aWVzIG11c3QgZXhhY3RseSBtYXRjaCB0aGUgcmVjaXBlIHJlcXVpcmVtZW50cy4AAAANu0ilSghkZW1vbGlzaPEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlbW9saXNoCnN1bW1hcnk6ICdEZW1vbGlzaCBhIHN0YXRpb25hcnkgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZWNvbW1pc3Npb24gYW4gZW50aXR5LCBlcmFzaW5nIGl0IGZyb20gdGhlIGdhbWUuIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlLCBoYXZlIGVtcHR5IGNhcmdvLCBhbmQgaGF2ZSBubyBpbnN0YWxsZWQgbW9kdWxlcyAocmVtb3ZlIGVhY2ggdmlhIHJtbW9kdWxlIGZpcnN0KS4gU2NoZWR1bGVzIGEgZGVtb2xpc2ggdGFzayB0aGF0IGVyYXNlcyB0aGUgZW50aXR5IG9uIHJlc29sdXRpb24uIE9ubHkgdmFsaWQgZm9yIGVudGl0aWVzIHRoYXQgY2Fubm90IG1vdmU7IHVzZSB1bmRlcGxveSBvciB3cmFwZW50aXR5IGZvciB0aGUgcmVzdC4AAAAAeBqrSgZkZXBsb3nsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXBsb3kKc3VtbWFyeTogJ0RlcGxveSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClVucGFjayBhIHBhY2tlZCBlbnRpdHkgaXRlbSAocGFja2VkIHNoaXAgb3IgcGFja2VkIGNvbnRhaW5lcikgZnJvbSBjYXJnbywgc2NoZWR1bGluZyBhIGRlcGxveSB0YXNrIHRoYXQgY3JlYXRlcyB0aGUgbmV3IGVudGl0eSBhdCB0aGUgZGVwbG95aW5nIGVudGl0eSdzIGxvY2F0aW9uIHVwb24gcmVzb2x1dGlvbi4AgM8uT4WwSgpkZXNjZW50aXR5yQMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVzY2VudGl0eQpzdW1tYXJ5OiAnRGVzY3JpYmUgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHN0cmluZyBmb3IgYSBwYWNrZWQgZW50aXR5LCBkZXJpdmVkIGZyb20gdGhlIGVudGl0eSBpdGVtIGlkLCBodWxsIHN0YXRzLCBhbmQgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIG1vZHVsZSBpdGVtIGlkcyBhbmQgc3RhdHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZGlzcGxheSBwYWNrZWQgZW50aXRpZXMuAAAAAKh4zFQGZW5hYmxl3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdTZXQgZW5hYmxlZCBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhpcyBnYW1lIG9mIFNoaXBsb2FkLoCxkZRdg7pbDGZpeGNhcmdvbWFzc5ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZpeGNhcmdvbWFzcwpzdW1tYXJ5OiAnREVCVUc6IHJlY29tcHV0ZSBlbnRpdHkgY2FyZ28gbWFzcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVjb21wdXRlIGFuZCByZXdyaXRlIGFuIGVudGl0eSdzIGNhcmdvIG1hc3MgZnJvbSBpdHMgY3VycmVudCBjYXJnby4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LiBBdmFpbGFibGUgZm9yIHJlcGFpcmluZyBkcmlmdCBiZXR3ZWVuIGNhY2hlZCBjYXJnbyBtYXNzIGFuZCB0aGUgdHJ1ZSBtYXNzIGRlcml2ZWQgZnJvbSBjYXJnbyByb3dzLgCiUVtdhS5dC2ZvcmNlcmV2ZWFsvgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZm9yY2VyZXZlYWwKc3VtbWFyeTogJ0RFQlVHOiBmb3JjZS1maW5hbGl6ZSBhbiBlcG9jaCBmcm9tIGV4aXN0aW5nIHJldmVhbHMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkZpbmFsaXplIGEgc3R1Y2sgZXBvY2ggYnkgY29tcHV0aW5nIGl0cyBzZWVkIGZyb20gdGhlIHJldmVhbHMgYWxyZWFkeSBzdWJtaXR0ZWQsIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGNvbmZpZ3VyZWQgdGhyZXNob2xkLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuIFRoZSBzZWVkIGlzIGRlcml2ZWQgc29sZWx5IGZyb20gdGhlIHByZS1pbWFnZS1sb2NrZWQgcmV2ZWFscyBhbHJlYWR5IG9uIGNoYWluOyBubyBhZG1pbi1zdXBwbGllZCBlbnRyb3B5IGlzIGludHJvZHVjZWQuIFVzZWQgdG8gdW5ibG9jayBlcG9jaCBwcm9ncmVzc2lvbiB3aGVuIHRoZSB0aHJlc2hvbGQgY2Fubm90IG90aGVyd2lzZSBiZSBtZXQuAAAAAFzVsmEGZ2F0aGVylwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2F0aGVyCnN1bW1hcnk6ICdHYXRoZXIgcmVzb3VyY2VzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpHYXRoZXIgcmVzb3VyY2VzIGF0IHRoZSBzaGlwJ3MgY3VycmVudCBsb2NhdGlvbi4gT25seSB3b3JrcyBhdCBnYXRoZXJhYmxlIGxvY2F0aW9uIHR5cGVzLiBTY2hlZHVsZXMgYSBnYXRoZXIgdGFzayB0aGF0IGNvbnN1bWVzIGVuZXJneSBhbmQgeWllbGRzIGNhcmdvIGJhc2VkIG9uIHRoZSBzaGlwJ3MgZ2F0aGVyZXIgc3RhdHMgYW5kIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIGNvbXBvc2l0aW9uLpCVigs7rKZiDGdlbmVzaXNmbGVldKkELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdlbmVzaXNmbGVldApzdW1tYXJ5OiAnTWludCB0aGUgb25lLXRpbWUgZ2VuZXNpcyBmbGVldCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW1wbGFjZSB0aGUgb25lLXRpbWUgZ2VuZXNpcyBmbGVldDogYSBjYWxsZXItc3VwcGxpZWQgc2V0IG9mIGVudGl0aWVzIChzaGlwcywgc3RydWN0dXJlcywgYW5kIGNvbnRhaW5lcnMpIHdyaXR0ZW4gdG8gdGhlIHdvcmxkIGFzLWlzLiBWYWxpZCBvbmx5IGR1cmluZyB0aGUgcHJlLWdlbmVzaXMgd2luZG93LCBiZWZvcmUgZXBvY2ggMSBpcyBmaW5hbGl6ZWQuIFRoZSBzdXBwbGllZCBlbnRpdHkgaWRzIGFyZSBob25vcmVkIGFuZCB0aGUgaWQgc2VxdWVuY2UgaXMgYWR2YW5jZWQgcGFzdCB0aGVtOyBpZCAwIGlzIHJlc2VydmVkIGZvciB0aGUgR2VuZXNpcyBOZXh1cy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgDAVRnriLJiCmdldGNsdXN0ZXIAAABgbk2KsmIJZ2V0Y29uZmlnygItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Y29uZmlnCnN1bW1hcnk6ICdHZXQgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBnYW1lIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGRlZmF1bHQgZW50aXR5IHN0YXRzIGZvciB3YXJlaG91c2VzIGFuZCBjb250YWluZXJzLCBhbmQgdGhlIGZ1bGwgaXRlbSBkZWZpbml0aW9ucyB0YWJsZS4AQHaYVpWyYgpnZXRkZXBvc2l0AAAUmiZjl7JiC2dldGRpc3RhbmNlAABUPI65qLJiC2dldGVsaWdpYmxlyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZWxpZ2libGUKc3VtbWFyeTogJ0dldCBlbGlnaWJsZSByZXNvdXJjZSBpdGVtIElEcyBhdCBhIGxvY2F0aW9uIGFuZCBzdHJhdHVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbGlzdCBvZiByZXNvdXJjZSBpdGVtIElEcyBlbGlnaWJsZSB0byBiZSBnYXRoZXJlZCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgYW5kIHN0cmF0dW0gZGVwdGguIEl0ZW1zIGFyZSBnYXRlZCBieSBib3RoIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIHByb2ZpbGUgYW5kIHRoZSBkZXB0aCB0aHJlc2hvbGQgZm9yIGVhY2ggdGllci4AAMAR5amyYglnZXRlbnRjbHOMAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRjbHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgY2xhc3MgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBlbnRpdHkgY2xhc3MgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoT3JiaXRhbFZlc3NlbCwgUGxhbmV0YXJ5U3RydWN0dXJlKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgZW50aXR5IGNsYXNzIGlkZW50aWZpZXJzLgCwctnlqbJiC2dldGVudGl0aWVzpAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXRpZXMKc3VtbWFyeTogJ0dldCBhbGwgZW50aXRpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGZ1bGwgZW50aXR5IGluZm8gZm9yIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllci4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAADw2eWpsmIJZ2V0ZW50aXR5ogItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXR5CnN1bW1hcnk6ICdHZXQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGFuIGVudGl0eSBpbmNsdWRpbmcgaWRlbnRpdHksIGNhcmdvLCBzY2hlZHVsZSBzdGF0ZSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzLpCnuzVTurJiDGdldGZvb3RwcmludAAATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy4AVPVZquyyYgtnZXRpdGVtdHlwZQCAVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuAExWMk0Hs2ILZ2V0a2luZG1ldGH4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRraW5kbWV0YQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBraW5kIG1ldGFkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZW50aXR5IGtpbmQgcmVnaXN0cnkgYW5kIHRlbXBsYXRlIHJlZ2lzdHJ5LCBpbmNsdWRpbmcgZWFjaCBraW5kJ3MgY2xhc3NpZmljYXRpb24sIGNhcGFiaWxpdHkgZmxhZ3MsIFotY29vcmRpbmF0ZSwgYW5kIGRlZmF1bHQgbGFiZWwsIHBsdXMgdGhlIG1hcHBpbmcgb2YgZW50aXR5IGl0ZW0gaWRzIHRvIGtpbmRzIHdpdGggZGlzcGxheSBsYWJlbHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gaW50ZXJwcmV0IGVudGl0eSBraW5kcyBhbmQgY2FwYWJpbGl0aWVzLgAmddkgGrNiC2dldGxvY2F0aW9u4gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jYXRpb24Kc3VtbWFyeTogJ0dldCBsb2NhdGlvbiBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGxvY2F0aW9uIGluY2x1ZGluZyB3aGV0aGVyIGEgc3lzdGVtIGV4aXN0cywgYW5kIGZvciBlYWNoIGl0ZW06IHByaWNlLCBzdXBwbHksIHJhcml0eSBtdWx0aXBsaWVyLCBhbmQgbG9jYXRpb24gbXVsdGlwbGllci4AgMkmIRqzYgpnZXRsb2NkYXRh/gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jZGF0YQpzdW1tYXJ5OiAnR2V0IGRlcml2ZWQgbG9jYXRpb24gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBkZXJpdmVkIGxvY2F0aW9uIGRhdGEgaW5jbHVkaW5nIHN0YXRpYyBwcm9wZXJ0aWVzICh0eXBlLCBkaWZmaWN1bHR5LCBzZWVkcykgZnJvbSB0aGUgZ2FtZSBzZWVkIGFuZCBlcG9jaC1zcGVjaWZpYyBwcm9wZXJ0aWVzIChhY3RpdmUsIHNlZWRzKSBmcm9tIHRoZSBjdXJyZW50IGVwb2NoIHNlZWQuALCqPicqs2ILZ2V0bW9kdHlwZXPWAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R0eXBlcwpzdW1tYXJ5OiAnR2V0IG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoYW55LCBlbmdpbmUsIGdlbmVyYXRvciwgZ2F0aGVyZXIsIGxvYWRlciwgd2FycCwgY3JhZnRlciwgbGF1bmNoZXIsIHN0b3JhZ2UsIGhhdWxlcikuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIG1vZHVsZSBzdWJ0eXBlIGlkZW50aWZpZXJzIGFuZCBzbG90IGNvbXBhdGliaWxpdHkuAABWUScqs2IKZ2V0bW9kdWxlc4ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHVsZXMKc3VtbWFyeTogJ0dldCBhbGwgbW9kdWxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgbW9kdWxlcywgaW5jbHVkaW5nIGVhY2ggbW9kdWxlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBpbnN0YWxsYWJsZSBlcXVpcG1lbnQuAADw5xo1s2IJZ2V0bmVhcmJ5ygMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmVhcmJ5CnN1bW1hcnk6ICdHZXQgbmVhcmJ5IHJlYWNoYWJsZSBzeXN0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIG5lYXJieSBzeXN0ZW1zIHJlYWNoYWJsZSBieSBhbiBlbnRpdHkgZnJvbSBpdHMgcHJvamVjdGVkIGxvY2F0aW9uLiBSZXR1cm5zIGN1cnJlbnQgc3RhdGUgKHdpdGggY29tcGxldGVkIHRhc2tzIHJlc29sdmVkKSwgcHJvamVjdGVkIHN0YXRlIChhZnRlciBhbGwgc2NoZWR1bGVkIHRhc2tzKSwgYW5kIGEgbGlzdCBvZiByZWFjaGFibGUgc3lzdGVtcyB3aXRoIGRpc3RhbmNlLCBlbmVyZ3kgY29zdCwgYW5kIGZsaWdodCB0aW1lLgCAwubkNbNiCmdldG5mdGJhc2UAAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuoLLJ+NFbs2IMZ2V0cHJvanN0YXRlywMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cHJvanN0YXRlCnN1bW1hcnk6ICdHZXQgcHJvamVjdGVkIGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHByb2plY3RlZCBzdGF0ZSBvZiBhbiBlbnRpdHkgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5leHQgdGFza19jb3VudCBzY2hlZHVsZWQgdGFza3MgKG9yIGFsbCB0YXNrcyBpZiB0YXNrX2NvdW50IGlzIG9taXR0ZWQpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHByZXZpZXcgdGhlIHJlc3VsdCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZSB3aXRob3V0IHJlc29sdmluZyBvbi1jaGFpbi4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlc/wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2VydmVzCnN1bW1hcnk6ICdHZXQgY3VycmVudCByZXNlcnZlIG1vZGlmaWNhdGlvbnMgYXQgYSBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyB0aGUgY2hhaW4ncyBtb2RpZmljYXRpb25zIHRvIGRlcml2ZWQgcmVzZXJ2ZXMgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGUgZm9yIHRoZSBjdXJyZW50IGVwb2NoIGFzIGEgbGlzdCBvZiB7c3RyYXR1bSwgcmVtYWluaW5nfSBwYWlycy4gU3RyYXRhIG5vdCBwcmVzZW50IGluIHRoZSByZXNwb25zZSB1c2UgdGhlaXIgZGVyaXZlZCBpbml0aWFsIHJlc2VydmUuIENvbXBvc2Ugd2l0aCBTREsgZGVyaXZhdGlvbiB0byBnZXQgdGhlIGZ1bGwgcGVyLWxvY2F0aW9uIHN0cmF0YSB2aWV3LoAVuppidbNiDGdldHJlc291cmNlc4cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc291cmNlcwpzdW1tYXJ5OiAnR2V0IGFsbCByZXNvdXJjZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIHJlc291cmNlcywgaW5jbHVkaW5nIGVhY2ggcmVzb3VyY2UncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGdhdGhlcmFibGUgbWF0ZXJpYWxzLgAAADjTiLNiCGdldHNsb3RzuwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c2xvdHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc2xvdCBsYXlvdXRzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIHNsb3QgbGF5b3V0IGZvciBldmVyeSBlbnRpdHkgaXRlbSB0eXBlLCBsaXN0aW5nIHRoZSBvcmRlcmVkIHNsb3QgdHlwZXMgYXZhaWxhYmxlIGZvciBtb2R1bGUgaW5zdGFsbGF0aW9uLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRldGVybWluZSB3aGljaCBtb2R1bGUgdHlwZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBhIGdpdmVuIGVudGl0eSBodWxsLgCA1NncjLNiCmdldHN0cmF0dW3SAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdHJhdHVtCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHJlc291cmNlIHN0cmF0dW0gZGF0YSBmb3IgYSBzcGVjaWZpYyBkZXB0aCBsYXllciBhdCBhIGNvb3JkaW5hdGUsIGluY2x1ZGluZyB0aGUgc3RyYXR1bSBzZWVkIGluZm8gYW5kIGRlcml2ZWQgcmVzb3VyY2Ugc3RhdHMugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AVKRNXsqzYgtnZXR3b3JtaG9sZQCQHZ7m5qrpZQxncm91cHRyYW5zaXQAAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28A4LPLU+VLq3QMaW1wb3J0ZW50aXR5AACqppflS6t0C2ltcG9ydGdyb3VwAHCVN7HmS6t0DGltcG9ydHBsYXllcgC6r8Lq5kurdA1pbXBvcnRyZXNlcnZlAABUNhnnS6t0C2ltcG9ydHN0YXRlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAANDS1iQZsYXVuY2gAAAAAAACQDI0EbG9hZAAAAAAquqw2lQhtb3ZldGlsZQAAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAAAoaaa6BnJlbmFtZQAAAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgBAjEbtSLG6CnJlc29sdmVhbGwAAAAAAESjtroGcmV2ZWFsAAAAACrqRKW8CHJtbW9kdWxlvAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1tb2R1bGUKc3VtbWFyeTogJ1JlbW92ZSBhIG1vZHVsZSBmcm9tIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIGFuIGluc3RhbGxlZCBtb2R1bGUgZnJvbSBhIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIGlzIHJldHVybmVkIHRvIGNhcmdvLiBGYWlscyBpZiB0aGUgZW50aXR5IGRvZXMgbm90IGhhdmUgZW5vdWdoIGNhcmdvIGNhcGFjaXR5IHRvIGhvbGQgdGhlIHJldHVybmVkIG1vZHVsZS4AAABsobymvAhybW5mdGNmZ6EDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbmZ0Y2ZnCnN1bW1hcnk6ICdSZW1vdmUgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSB0aGUgQXRvbWljQXNzZXRzIHRlbXBsYXRlIG1hcHBpbmcgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbSBpZCBmcm9tIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gQWZ0ZXIgcmVtb3ZhbCB0aGUgaXRlbSBjYW4gbm8gbG9uZ2VyIGJlIHdyYXBwZWQgb3IgdW53cmFwcGVkIHVudGlsIGEgbmV3IG1hcHBpbmcgaXMgc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAADA6VKKssIJc2V0Y29vcmRzAAAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS6QIm1Y3ZazwgxzZXR0aHJlc2hvbGQAADKmqJrLs8ILc2V0d3JhcGNvc3QAAIBSq5rLs8IKc2V0d3JhcGZlZQAAAKDsGsRpxglzdG93Y2FyZ2/VBS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzdG93Y2FyZ28Kc3VtbWFyeTogJ1Jlc2VydmUgYSBjYXJnbyBzdGFjayBmb3Igd3JhcHBpbmcgaW50byBhbiBORlQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IHRoZSBwbGF0Zm9ybSBjb250cmFjdCBvbmx5LiBSZXNlcnZlcyBhbmQgY29uc3VtZXMgYSBjYXJnbyBzdGFjayBvbiBhIGxpdmUgZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVmFsaWRhdGVzIGVudGl0eSBvd25lcnNoaXAsIGxvYWRlcnMsIGFuZCBwcmVzZW5jZSBhdCB0aGUgbmV4dXMsIGFuZCBjb25maXJtcyB0aGUgdGFyZ2V0IGNhcmdvIHN0YWNrIGlzIGF2YWlsYWJsZSBhbmQgbm90IHJlc2VydmVkIGJ5IGEgcGVuZGluZyB0YXNrLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBORlQncyBpbW11dGFibGUgZGF0YSwgYW5kIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0IGJlZm9yZSBjb25zdW1pbmcgdGhlIGNhcmdvLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAIDPLk/FacYKc3Rvd2VudGl0eZkFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3dlbnRpdHkKc3VtbWFyeTogJ1Jlc2VydmUgYW4gZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGEgd2hvbGUgZW50aXR5IChzaGlwLCBjb250YWluZXIsIG9yIHBsYW5ldGFyeSBzdHJ1Y3R1cmUpIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBlbXB0eSBjYXJnbyBhbmQgbm8gc2NoZWR1bGVkIHRhc2tzLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBlbnRpdHkgTkZUJ3MgaW1tdXRhYmxlIGRhdGEsIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0LCBhbmQgZXJhc2VzIHRoZSBlbnRpdHkgZnJvbSB0aGUgd29ybGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgIo6UVkNxwpzd2FwbW9kdWxlAAAAACq6XA3HCHN3YXB0aWxlAAAAACA7PM3NB3RyYW5zaXQAAAAAAES1zc0GdHJhdmVs+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGFuIGVudGl0eSBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgAAAJ7GqtLUCHVuZGVwbG955wQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW5kZXBsb3kKc3VtbWFyeTogJ1BhY2sgYSBkZXBsb3llZCBlbnRpdHkgaW50byBhIGhvc3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClBhY2sgYW4gZW50aXR5IGludG8gYSBob3N0IGVudGl0eSdzIGNhcmdvIGFzIGEgcGFja2VkLWVudGl0eSBpdGVtLiBIb3N0IGFuZCB0YXJnZXQgbXVzdCBzaGFyZSB0aGUgc2FtZSBvd25lciBhbmQgY29vcmRpbmF0ZXMsIHRoZSBob3N0IG11c3QgaGF2ZSBsb2FkZXJzIGFuZCBlbm91Z2ggY2FwYWNpdHkgZm9yIHRoZSBwYWNrZWQgbWFzcywgYW5kIHRoZSB0YXJnZXQgbXVzdCBiZSBpZGxlIHdpdGggZW1wdHkgY2FyZ28uIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgYW5kIHNjaGVkdWxlcyB1bmRlcGxveSB0YXNrcyBvbiBib3RoIGVudGl0aWVzOyBvbiByZXNvbHV0aW9uIHRoZSB0YXJnZXQgaXMgZXJhc2VkIGFuZCB0aGUgcGFja2VkIGVudGl0eSBpcyBhZGRlZCB0byB0aGUgaG9zdCdzIGNhcmdvLiBJbnZlcnNlIG9mIGRlcGxveS4AAAAAJEPj1AZ1bmxvYWQAAAAAQCVzWdUHdXBncmFkZQAAAAAAAFCv4QR3YXJwnwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2FycApzdW1tYXJ5OiAnV2FycCB0byBhIGRlc3RpbmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YW50bHkgdGVsZXBvcnQgYW4gZW50aXR5IHRvIGEgZGVzdGluYXRpb24gc3lzdGVtLiBSZXF1aXJlcyB3YXJwIGNhcGFiaWxpdHksIGZ1bGwgZW5lcmd5LCBlbXB0eSBjYXJnbywgYW5kIGFuIGVtcHR5IHNjaGVkdWxlLiBUaGUgZGVzdGluYXRpb24gbXVzdCBiZSBhIHZhbGlkIHN5c3RlbSB3aXRoaW4gd2FycCByYW5nZS4gUmVzb2x2ZXMgaW1tZWRpYXRlbHkgYXMgYSB6ZXJvLWR1cmF0aW9uIHRhc2suAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLRIAAAAAAMquQQNpNjQAAAljYXJnb19yb3cAAAAAYOlMRANpNjQAAAljbGFpbV9yb3cAAADgqox1RANpNjQAAAtjbHVzdGVyX3JvdwAAAABkJyVFA2k2NAAACmNvbW1pdF9yb3cAAAAA+OzyVANpNjQAAAplbnRpdHlfcm93AKqml/ns8lQDaTY0AAAPZW50aXR5Z3JvdXBfcm93AACwCvvs8lQDaTY0AAAOZW50aXR5X3NlcV9yb3cAAAAAgIZoVQNpNjQAAAllcG9jaF9yb3cAAGBuTYrymgNpNjQAAA1uZnRjb25maWdfcm93AABgC6mIzKUDaTY0AAARb3JhY2xlX2NvbmZpZ19yb3cAAAAAq4jMpQNpNjQAAApvcmFjbGVfcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAEDtq7C6A2k2NAAAC3Jlc2VydmVfcm93AAAAAESjtroDaTY0AAAKcmV2ZWFsX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwAAAAAArKrPA2k2NAAACXR5cGVzX3JvdwAAc2tSVM3lA2k2NAAADndyYXBjb25maWdfcm93AAAAGVNUzeUDaTY0AAAMd3JhcGNvc3Rfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAD8AAMg01hSdPgx0YXNrX3Jlc3VsdHMAAAAARIWmQQ5jYW5jZWxfcmVzdWx0cwAAyDRW6UxEDHRhc2tfcmVzdWx0cwAAAACAvMxFDHRhc2tfcmVzdWx0cwAAAA27SKVKDHRhc2tfcmVzdWx0cwAAAAB4GqtKDHRhc2tfcmVzdWx0cwCAzy5PhbBKBnN0cmluZwAAAABc1bJhDHRhc2tfcmVzdWx0cwDAVRnriLJiC2NsdXN0ZXJfcm93AABgbk2KsmILZ2FtZV9jb25maWcAQHaYVpWyYg5leHRlbmRlZF9hc3NldAAUmiZjl7JiBnVpbnQ2NABUPI65qLJiCHVpbnQxNltdAADAEeWpsmILZW51bV9yZXN1bHQAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm+Qp7s1U7qyYhBmb290cHJpbnRfcmVzdWx0AEw2SarssmIPaXRlbWRhdGFfcmVzdWx0AABOTqrssmIPaXRlbV9pZHNfcmVzdWx0AAAAWKrssmIKaXRlbXNfaW5mbwBU9Vmq7LJiBXVpbnQ4gFX1WarssmILZW51bV9yZXN1bHQATFYyTQezYhBraW5kX21ldGFfcmVzdWx0ACZ12SAas2INbG9jYXRpb25faW5mbwCAySYhGrNiEGxvY2F0aW9uX2Rlcml2ZWQAsKo+JyqzYgtlbnVtX3Jlc3VsdAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AgMLm5DWzYghzdHJpbmdbXQAAXdPlNbNiDm5mdGluZm9fcmVzdWx0AAC4yptYs2ILcGxheWVyX2luZm+gssn40VuzYg9wcm9qZWN0ZWRfc3RhdGUAAFDVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAVtUhdbNiDnJlY2lwZXNfcmVzdWx0AADOBmF1s2ILZW51bV9yZXN1bHQAsNpXYXWzYhNzdHJhdHVtX3JlbWFpbmluZ1tdgBW6mmJ1s2IQcmVzb3VyY2VzX3Jlc3VsdAAAADjTiLNiFWVudGl0eV9sYXlvdXRzX3Jlc3VsdACA1NncjLNiDHN0cmF0dW1fZGF0YYCVu0ZKjbNiEGVudGl0eV9zdW1tYXJ5W10AVKRNXsqzYg13b3JtaG9sZV9pbmZvkB2e5uaq6WUMdGFza19yZXN1bHRzAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAAA0NLWJDHRhc2tfcmVzdWx0cwAAAAAAkAyNDHRhc2tfcmVzdWx0cwAAACq6rDaVDHRhc2tfcmVzdWx0cwAAiFcz6fKaBnN0cmluZwAAZdcghUysDHRhc2tfcmVzdWx0cwB8dnkqhUysDHRhc2tfcmVzdWx0cwAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwBAjEbtSLG6EnJlc29sdmVhbGxfcmVzdWx0cwAAoOwaxGnGDHRhc2tfcmVzdWx0cwCAzy5PxWnGDHRhc2tfcmVzdWx0cwAAACq6XA3HDHRhc2tfcmVzdWx0cwAAACA7PM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAJ7GqtLUDHRhc2tfcmVzdWx0cwAAAAAkQ+PUDHRhc2tfcmVzdWx0cwAAAEAlc1nVDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
438
+ ABI.from(abiBlob);
439
+ var Types;
440
+ (function (Types) {
441
+ let packed_module = class packed_module extends Struct {
442
+ };
443
+ __decorate([
444
+ Struct.field(UInt16)
445
+ ], packed_module.prototype, "item_id", void 0);
446
+ __decorate([
447
+ Struct.field(UInt64)
448
+ ], packed_module.prototype, "stats", void 0);
449
+ packed_module = __decorate([
450
+ Struct.type('packed_module')
451
+ ], packed_module);
452
+ Types.packed_module = packed_module;
453
+ let module_entry = class module_entry extends Struct {
454
+ };
455
+ __decorate([
456
+ Struct.field(UInt8)
457
+ ], module_entry.prototype, "type", void 0);
458
+ __decorate([
459
+ Struct.field(packed_module, { optional: true })
460
+ ], module_entry.prototype, "installed", void 0);
461
+ module_entry = __decorate([
462
+ Struct.type('module_entry')
463
+ ], module_entry);
464
+ Types.module_entry = module_entry;
465
+ let cargo_ref = class cargo_ref extends Struct {
466
+ };
467
+ __decorate([
468
+ Struct.field(UInt16)
469
+ ], cargo_ref.prototype, "item_id", void 0);
470
+ __decorate([
471
+ Struct.field(UInt64)
472
+ ], cargo_ref.prototype, "stats", void 0);
473
+ __decorate([
474
+ Struct.field(module_entry, { array: true })
475
+ ], cargo_ref.prototype, "modules", void 0);
476
+ __decorate([
477
+ Struct.field(UInt64, { optional: true })
478
+ ], cargo_ref.prototype, "entity_id", void 0);
479
+ cargo_ref = __decorate([
480
+ Struct.type('cargo_ref')
481
+ ], cargo_ref);
482
+ Types.cargo_ref = cargo_ref;
483
+ let addmodule = class addmodule extends Struct {
484
+ };
485
+ __decorate([
486
+ Struct.field(UInt64)
487
+ ], addmodule.prototype, "entity_id", void 0);
488
+ __decorate([
489
+ Struct.field(UInt8)
490
+ ], addmodule.prototype, "module_index", void 0);
491
+ __decorate([
492
+ Struct.field(cargo_ref)
493
+ ], addmodule.prototype, "module_ref", void 0);
494
+ __decorate([
495
+ Struct.field(cargo_ref, { optional: true })
496
+ ], addmodule.prototype, "target_ref", void 0);
497
+ addmodule = __decorate([
498
+ Struct.type('addmodule')
499
+ ], addmodule);
500
+ Types.addmodule = addmodule;
501
+ let addnexus = class addnexus extends Struct {
502
+ };
503
+ __decorate([
504
+ Struct.field('string')
505
+ ], addnexus.prototype, "nexus_name", void 0);
506
+ __decorate([
507
+ Struct.field(Int64)
508
+ ], addnexus.prototype, "x", void 0);
509
+ __decorate([
510
+ Struct.field(Int64)
511
+ ], addnexus.prototype, "y", void 0);
512
+ addnexus = __decorate([
513
+ Struct.type('addnexus')
514
+ ], addnexus);
515
+ Types.addnexus = addnexus;
516
+ let addoracle = class addoracle extends Struct {
517
+ };
518
+ __decorate([
519
+ Struct.field(Name)
520
+ ], addoracle.prototype, "oracle_id", void 0);
521
+ addoracle = __decorate([
522
+ Struct.type('addoracle')
523
+ ], addoracle);
524
+ Types.addoracle = addoracle;
525
+ let cargo_item = class cargo_item extends Struct {
526
+ };
527
+ __decorate([
528
+ Struct.field(UInt16)
529
+ ], cargo_item.prototype, "item_id", void 0);
530
+ __decorate([
531
+ Struct.field(UInt64)
532
+ ], cargo_item.prototype, "stats", void 0);
533
+ __decorate([
534
+ Struct.field(module_entry, { array: true })
535
+ ], cargo_item.prototype, "modules", void 0);
536
+ __decorate([
537
+ Struct.field(UInt32)
538
+ ], cargo_item.prototype, "quantity", void 0);
539
+ __decorate([
540
+ Struct.field(UInt64, { optional: true })
541
+ ], cargo_item.prototype, "entity_id", void 0);
542
+ cargo_item = __decorate([
543
+ Struct.type('cargo_item')
544
+ ], cargo_item);
545
+ Types.cargo_item = cargo_item;
546
+ let blend = class blend extends Struct {
547
+ };
548
+ __decorate([
549
+ Struct.field(UInt64)
550
+ ], blend.prototype, "id", void 0);
551
+ __decorate([
552
+ Struct.field(cargo_item, { array: true })
553
+ ], blend.prototype, "inputs", void 0);
554
+ blend = __decorate([
555
+ Struct.type('blend')
556
+ ], blend);
557
+ Types.blend = blend;
558
+ let buildplot = class buildplot extends Struct {
559
+ };
560
+ __decorate([
561
+ Struct.field(UInt64)
562
+ ], buildplot.prototype, "builder_id", void 0);
563
+ __decorate([
564
+ Struct.field(UInt64)
565
+ ], buildplot.prototype, "plot_id", void 0);
566
+ buildplot = __decorate([
567
+ Struct.type('buildplot')
568
+ ], buildplot);
569
+ Types.buildplot = buildplot;
570
+ let cancel = class cancel extends Struct {
571
+ };
572
+ __decorate([
573
+ Struct.field(UInt64)
574
+ ], cancel.prototype, "id", void 0);
575
+ __decorate([
576
+ Struct.field(UInt8)
577
+ ], cancel.prototype, "lane_key", void 0);
578
+ __decorate([
579
+ Struct.field(UInt64)
580
+ ], cancel.prototype, "count", void 0);
581
+ cancel = __decorate([
582
+ Struct.type('cancel')
583
+ ], cancel);
584
+ Types.cancel = cancel;
585
+ let entity_ref = class entity_ref extends Struct {
586
+ };
587
+ __decorate([
588
+ Struct.field(Name)
589
+ ], entity_ref.prototype, "entity_type", void 0);
590
+ __decorate([
591
+ Struct.field(UInt64)
592
+ ], entity_ref.prototype, "entity_id", void 0);
593
+ entity_ref = __decorate([
594
+ Struct.type('entity_ref')
595
+ ], entity_ref);
596
+ Types.entity_ref = entity_ref;
597
+ let cancel_results = class cancel_results extends Struct {
598
+ };
599
+ __decorate([
600
+ Struct.field(UInt64)
601
+ ], cancel_results.prototype, "entity_id", void 0);
602
+ __decorate([
603
+ Struct.field(Name)
604
+ ], cancel_results.prototype, "entity_type", void 0);
605
+ __decorate([
606
+ Struct.field(UInt8)
607
+ ], cancel_results.prototype, "cancelled_count", void 0);
608
+ __decorate([
609
+ Struct.field(TimePoint, { optional: true })
610
+ ], cancel_results.prototype, "schedule_started", void 0);
611
+ __decorate([
612
+ Struct.field(UInt64, { optional: true })
613
+ ], cancel_results.prototype, "entitygroup", void 0);
614
+ __decorate([
615
+ Struct.field(entity_ref, { array: true, optional: true })
616
+ ], cancel_results.prototype, "group_members", void 0);
617
+ cancel_results = __decorate([
618
+ Struct.type('cancel_results')
619
+ ], cancel_results);
620
+ Types.cancel_results = cancel_results;
621
+ let cargo_row = class cargo_row extends Struct {
622
+ };
623
+ __decorate([
624
+ Struct.field(UInt64)
625
+ ], cargo_row.prototype, "id", void 0);
626
+ __decorate([
627
+ Struct.field(UInt64)
628
+ ], cargo_row.prototype, "entity_id", void 0);
629
+ __decorate([
630
+ Struct.field(UInt64)
631
+ ], cargo_row.prototype, "item_id", void 0);
632
+ __decorate([
633
+ Struct.field(UInt64)
634
+ ], cargo_row.prototype, "quantity", void 0);
635
+ __decorate([
636
+ Struct.field(UInt64)
637
+ ], cargo_row.prototype, "stats", void 0);
638
+ __decorate([
639
+ Struct.field(module_entry, { array: true })
640
+ ], cargo_row.prototype, "modules", void 0);
641
+ __decorate([
642
+ Struct.field(UInt64, { optional: true })
643
+ ], cargo_row.prototype, "sequence_id", void 0);
644
+ cargo_row = __decorate([
645
+ Struct.type('cargo_row')
646
+ ], cargo_row);
647
+ Types.cargo_row = cargo_row;
648
+ let cargo_view = class cargo_view extends Struct {
649
+ };
650
+ __decorate([
651
+ Struct.field(UInt16)
652
+ ], cargo_view.prototype, "item_id", void 0);
653
+ __decorate([
654
+ Struct.field(UInt64)
655
+ ], cargo_view.prototype, "stats", void 0);
656
+ __decorate([
657
+ Struct.field(module_entry, { array: true })
658
+ ], cargo_view.prototype, "modules", void 0);
659
+ __decorate([
660
+ Struct.field(UInt32)
661
+ ], cargo_view.prototype, "quantity", void 0);
662
+ __decorate([
663
+ Struct.field(UInt64)
664
+ ], cargo_view.prototype, "id", void 0);
665
+ __decorate([
666
+ Struct.field(UInt64, { optional: true })
667
+ ], cargo_view.prototype, "entity_id", void 0);
668
+ cargo_view = __decorate([
669
+ Struct.type('cargo_view')
670
+ ], cargo_view);
671
+ Types.cargo_view = cargo_view;
672
+ let claim_row = class claim_row extends Struct {
673
+ };
674
+ __decorate([
675
+ Struct.field(Name)
676
+ ], claim_row.prototype, "owner", void 0);
677
+ claim_row = __decorate([
678
+ Struct.type('claim_row')
679
+ ], claim_row);
680
+ Types.claim_row = claim_row;
681
+ let cluster_slot = class cluster_slot extends Struct {
682
+ };
683
+ __decorate([
684
+ Struct.field(UInt64)
685
+ ], cluster_slot.prototype, "hub", void 0);
686
+ __decorate([
687
+ Struct.field(Int8)
688
+ ], cluster_slot.prototype, "gx", void 0);
689
+ __decorate([
690
+ Struct.field(Int8)
691
+ ], cluster_slot.prototype, "gy", void 0);
692
+ cluster_slot = __decorate([
693
+ Struct.type('cluster_slot')
694
+ ], cluster_slot);
695
+ Types.cluster_slot = cluster_slot;
696
+ let claimplot = class claimplot extends Struct {
697
+ };
698
+ __decorate([
699
+ Struct.field(UInt64)
700
+ ], claimplot.prototype, "builder_id", void 0);
701
+ __decorate([
702
+ Struct.field(UInt16)
703
+ ], claimplot.prototype, "target_item_id", void 0);
704
+ __decorate([
705
+ Struct.field(cluster_slot)
706
+ ], claimplot.prototype, "slot", void 0);
707
+ claimplot = __decorate([
708
+ Struct.type('claimplot')
709
+ ], claimplot);
710
+ Types.claimplot = claimplot;
711
+ let claimstarter = class claimstarter extends Struct {
712
+ };
713
+ __decorate([
714
+ Struct.field(Name)
715
+ ], claimstarter.prototype, "owner", void 0);
716
+ claimstarter = __decorate([
717
+ Struct.type('claimstarter')
718
+ ], claimstarter);
719
+ Types.claimstarter = claimstarter;
720
+ let cleanrsvp = class cleanrsvp extends Struct {
721
+ };
722
+ __decorate([
723
+ Struct.field(UInt64)
724
+ ], cleanrsvp.prototype, "epoch", void 0);
725
+ __decorate([
726
+ Struct.field(UInt64)
727
+ ], cleanrsvp.prototype, "max_rows", void 0);
728
+ cleanrsvp = __decorate([
729
+ Struct.type('cleanrsvp')
730
+ ], cleanrsvp);
731
+ Types.cleanrsvp = cleanrsvp;
732
+ let cleartable = class cleartable extends Struct {
733
+ };
734
+ __decorate([
735
+ Struct.field(Name)
736
+ ], cleartable.prototype, "table_name", void 0);
737
+ __decorate([
738
+ Struct.field(Name, { optional: true })
739
+ ], cleartable.prototype, "scope", void 0);
740
+ __decorate([
741
+ Struct.field(UInt64, { optional: true })
742
+ ], cleartable.prototype, "max_rows", void 0);
743
+ cleartable = __decorate([
744
+ Struct.type('cleartable')
745
+ ], cleartable);
746
+ Types.cleartable = cleartable;
747
+ let cluster_cell = class cluster_cell extends Struct {
748
+ };
749
+ __decorate([
750
+ Struct.field(Int8)
751
+ ], cluster_cell.prototype, "gx", void 0);
752
+ __decorate([
753
+ Struct.field(Int8)
754
+ ], cluster_cell.prototype, "gy", void 0);
755
+ __decorate([
756
+ Struct.field(UInt64)
757
+ ], cluster_cell.prototype, "entity", void 0);
758
+ cluster_cell = __decorate([
759
+ Struct.type('cluster_cell')
760
+ ], cluster_cell);
761
+ Types.cluster_cell = cluster_cell;
762
+ let cluster_row = class cluster_row extends Struct {
763
+ };
764
+ __decorate([
765
+ Struct.field(UInt64)
766
+ ], cluster_row.prototype, "root", void 0);
767
+ __decorate([
768
+ Struct.field(cluster_cell, { array: true })
769
+ ], cluster_row.prototype, "cells", void 0);
770
+ cluster_row = __decorate([
771
+ Struct.type('cluster_row')
772
+ ], cluster_row);
773
+ Types.cluster_row = cluster_row;
774
+ let commit = class commit extends Struct {
775
+ };
776
+ __decorate([
777
+ Struct.field(Name)
778
+ ], commit.prototype, "oracle_id", void 0);
779
+ __decorate([
780
+ Struct.field(UInt64)
781
+ ], commit.prototype, "epoch", void 0);
782
+ __decorate([
783
+ Struct.field(Checksum256)
784
+ ], commit.prototype, "commit", void 0);
785
+ commit = __decorate([
786
+ Struct.type('commit')
787
+ ], commit);
788
+ Types.commit = commit;
789
+ let commit_row = class commit_row extends Struct {
790
+ };
791
+ __decorate([
792
+ Struct.field(UInt64)
793
+ ], commit_row.prototype, "id", void 0);
794
+ __decorate([
795
+ Struct.field(UInt64)
796
+ ], commit_row.prototype, "epoch", void 0);
797
+ __decorate([
798
+ Struct.field(Name)
799
+ ], commit_row.prototype, "oracle_id", void 0);
800
+ __decorate([
801
+ Struct.field(Checksum256)
802
+ ], commit_row.prototype, "commit", void 0);
803
+ commit_row = __decorate([
804
+ Struct.type('commit_row')
805
+ ], commit_row);
806
+ Types.commit_row = commit_row;
807
+ let entity_defaults = class entity_defaults extends Struct {
808
+ };
809
+ __decorate([
810
+ Struct.field(UInt16)
811
+ ], entity_defaults.prototype, "warehouse_z", void 0);
812
+ __decorate([
813
+ Struct.field(UInt16)
814
+ ], entity_defaults.prototype, "container_z", void 0);
815
+ entity_defaults = __decorate([
816
+ Struct.type('entity_defaults')
817
+ ], entity_defaults);
818
+ Types.entity_defaults = entity_defaults;
819
+ let item_def = class item_def extends Struct {
820
+ };
821
+ __decorate([
822
+ Struct.field(UInt16)
823
+ ], item_def.prototype, "id", void 0);
824
+ __decorate([
825
+ Struct.field(UInt32)
826
+ ], item_def.prototype, "mass", void 0);
827
+ __decorate([
828
+ Struct.field(UInt8)
829
+ ], item_def.prototype, "type", void 0);
830
+ __decorate([
831
+ Struct.field(UInt8)
832
+ ], item_def.prototype, "subtype", void 0);
833
+ __decorate([
834
+ Struct.field(UInt8)
835
+ ], item_def.prototype, "tier", void 0);
836
+ item_def = __decorate([
837
+ Struct.type('item_def')
838
+ ], item_def);
839
+ Types.item_def = item_def;
840
+ let game_config = class game_config extends Struct {
841
+ };
842
+ __decorate([
843
+ Struct.field(UInt32)
844
+ ], game_config.prototype, "version", void 0);
845
+ __decorate([
846
+ Struct.field(entity_defaults)
847
+ ], game_config.prototype, "defaults", void 0);
848
+ __decorate([
849
+ Struct.field(item_def, { array: true })
850
+ ], game_config.prototype, "items", void 0);
851
+ game_config = __decorate([
852
+ Struct.type('game_config')
853
+ ], game_config);
854
+ Types.game_config = game_config;
855
+ let configlog = class configlog extends Struct {
856
+ };
857
+ __decorate([
858
+ Struct.field(game_config)
859
+ ], configlog.prototype, "config", void 0);
860
+ configlog = __decorate([
861
+ Struct.type('configlog')
862
+ ], configlog);
863
+ Types.configlog = configlog;
864
+ let coordinates = class coordinates extends Struct {
865
+ };
866
+ __decorate([
867
+ Struct.field(Int64)
868
+ ], coordinates.prototype, "x", void 0);
869
+ __decorate([
870
+ Struct.field(Int64)
871
+ ], coordinates.prototype, "y", void 0);
872
+ __decorate([
873
+ Struct.field(UInt16, { optional: true })
874
+ ], coordinates.prototype, "z", void 0);
875
+ coordinates = __decorate([
876
+ Struct.type('coordinates')
877
+ ], coordinates);
878
+ Types.coordinates = coordinates;
879
+ let craft = class craft extends Struct {
880
+ };
881
+ __decorate([
882
+ Struct.field(UInt64)
883
+ ], craft.prototype, "id", void 0);
884
+ __decorate([
885
+ Struct.field(UInt16)
886
+ ], craft.prototype, "recipe_id", void 0);
887
+ __decorate([
888
+ Struct.field(UInt32)
889
+ ], craft.prototype, "quantity", void 0);
890
+ __decorate([
891
+ Struct.field(cargo_item, { array: true })
892
+ ], craft.prototype, "inputs", void 0);
893
+ __decorate([
894
+ Struct.field(UInt64, { optional: true })
895
+ ], craft.prototype, "target", void 0);
896
+ __decorate([
897
+ Struct.field(UInt8, { optional: true })
898
+ ], craft.prototype, "slot", void 0);
899
+ craft = __decorate([
900
+ Struct.type('craft')
901
+ ], craft);
902
+ Types.craft = craft;
903
+ let crafter_lane = class crafter_lane extends Struct {
904
+ };
905
+ __decorate([
906
+ Struct.field(UInt8)
907
+ ], crafter_lane.prototype, "slot_index", void 0);
908
+ __decorate([
909
+ Struct.field(UInt16)
910
+ ], crafter_lane.prototype, "speed", void 0);
911
+ __decorate([
912
+ Struct.field(UInt32)
913
+ ], crafter_lane.prototype, "drain", void 0);
914
+ __decorate([
915
+ Struct.field(UInt16)
916
+ ], crafter_lane.prototype, "output_pct", void 0);
917
+ crafter_lane = __decorate([
918
+ Struct.type('crafter_lane')
919
+ ], crafter_lane);
920
+ Types.crafter_lane = crafter_lane;
921
+ let demolish = class demolish extends Struct {
922
+ };
923
+ __decorate([
924
+ Struct.field(UInt64)
925
+ ], demolish.prototype, "entity_id", void 0);
926
+ demolish = __decorate([
927
+ Struct.type('demolish')
928
+ ], demolish);
929
+ Types.demolish = demolish;
930
+ let deploy = class deploy extends Struct {
931
+ };
932
+ __decorate([
933
+ Struct.field(UInt64)
934
+ ], deploy.prototype, "id", void 0);
935
+ __decorate([
936
+ Struct.field(cargo_ref)
937
+ ], deploy.prototype, "ref", void 0);
938
+ __decorate([
939
+ Struct.field(cluster_slot, { optional: true })
940
+ ], deploy.prototype, "slot", void 0);
941
+ deploy = __decorate([
942
+ Struct.type('deploy')
943
+ ], deploy);
944
+ Types.deploy = deploy;
945
+ let descentity = class descentity extends Struct {
946
+ };
947
+ __decorate([
948
+ Struct.field(UInt16)
949
+ ], descentity.prototype, "item_id", void 0);
950
+ __decorate([
951
+ Struct.field(UInt64)
952
+ ], descentity.prototype, "hull_stats", void 0);
953
+ __decorate([
954
+ Struct.field(UInt16, { array: true })
955
+ ], descentity.prototype, "module_items", void 0);
956
+ __decorate([
957
+ Struct.field(UInt64, { array: true })
958
+ ], descentity.prototype, "module_stats", void 0);
959
+ descentity = __decorate([
960
+ Struct.type('descentity')
961
+ ], descentity);
962
+ Types.descentity = descentity;
963
+ let enable = class enable extends Struct {
964
+ };
965
+ __decorate([
966
+ Struct.field('bool')
967
+ ], enable.prototype, "enabled", void 0);
968
+ enable = __decorate([
969
+ Struct.type('enable')
970
+ ], enable);
971
+ Types.enable = enable;
972
+ let energy_stats = class energy_stats extends Struct {
973
+ };
974
+ __decorate([
975
+ Struct.field(UInt32)
976
+ ], energy_stats.prototype, "capacity", void 0);
977
+ __decorate([
978
+ Struct.field(UInt32)
979
+ ], energy_stats.prototype, "recharge", void 0);
980
+ energy_stats = __decorate([
981
+ Struct.type('energy_stats')
982
+ ], energy_stats);
983
+ Types.energy_stats = energy_stats;
984
+ let entity_current_state = class entity_current_state extends Struct {
985
+ };
986
+ __decorate([
987
+ Struct.field(coordinates)
988
+ ], entity_current_state.prototype, "coordinates", void 0);
989
+ __decorate([
990
+ Struct.field(UInt32)
991
+ ], entity_current_state.prototype, "energy", void 0);
992
+ entity_current_state = __decorate([
993
+ Struct.type('entity_current_state')
994
+ ], entity_current_state);
995
+ Types.entity_current_state = entity_current_state;
996
+ let movement_stats = class movement_stats extends Struct {
997
+ };
998
+ __decorate([
999
+ Struct.field(UInt32)
1000
+ ], movement_stats.prototype, "thrust", void 0);
1001
+ __decorate([
1002
+ Struct.field(UInt32)
1003
+ ], movement_stats.prototype, "drain", void 0);
1004
+ movement_stats = __decorate([
1005
+ Struct.type('movement_stats')
1006
+ ], movement_stats);
1007
+ Types.movement_stats = movement_stats;
1008
+ let warp_stats = class warp_stats extends Struct {
1009
+ };
1010
+ __decorate([
1011
+ Struct.field(UInt32)
1012
+ ], warp_stats.prototype, "range", void 0);
1013
+ warp_stats = __decorate([
1014
+ Struct.type('warp_stats')
1015
+ ], warp_stats);
1016
+ Types.warp_stats = warp_stats;
1017
+ let hauler_tier_cap = class hauler_tier_cap extends Struct {
1018
+ };
1019
+ __decorate([
1020
+ Struct.field(UInt8)
1021
+ ], hauler_tier_cap.prototype, "tier", void 0);
1022
+ __decorate([
1023
+ Struct.field(UInt8)
1024
+ ], hauler_tier_cap.prototype, "capacity", void 0);
1025
+ hauler_tier_cap = __decorate([
1026
+ Struct.type('hauler_tier_cap')
1027
+ ], hauler_tier_cap);
1028
+ Types.hauler_tier_cap = hauler_tier_cap;
1029
+ let hauler_stats = class hauler_stats extends Struct {
1030
+ };
1031
+ __decorate([
1032
+ Struct.field(UInt8)
1033
+ ], hauler_stats.prototype, "capacity", void 0);
1034
+ __decorate([
1035
+ Struct.field(UInt16)
1036
+ ], hauler_stats.prototype, "efficiency", void 0);
1037
+ __decorate([
1038
+ Struct.field(UInt32)
1039
+ ], hauler_stats.prototype, "drain", void 0);
1040
+ __decorate([
1041
+ Struct.field(hauler_tier_cap, { array: true })
1042
+ ], hauler_stats.prototype, "capacity_by_tier", void 0);
1043
+ hauler_stats = __decorate([
1044
+ Struct.type('hauler_stats')
1045
+ ], hauler_stats);
1046
+ Types.hauler_stats = hauler_stats;
1047
+ let gatherer_lane = class gatherer_lane extends Struct {
1048
+ };
1049
+ __decorate([
1050
+ Struct.field(UInt8)
1051
+ ], gatherer_lane.prototype, "slot_index", void 0);
1052
+ __decorate([
1053
+ Struct.field(UInt16)
1054
+ ], gatherer_lane.prototype, "yield", void 0);
1055
+ __decorate([
1056
+ Struct.field(UInt32)
1057
+ ], gatherer_lane.prototype, "drain", void 0);
1058
+ __decorate([
1059
+ Struct.field(UInt16)
1060
+ ], gatherer_lane.prototype, "depth", void 0);
1061
+ __decorate([
1062
+ Struct.field(UInt16)
1063
+ ], gatherer_lane.prototype, "output_pct", void 0);
1064
+ gatherer_lane = __decorate([
1065
+ Struct.type('gatherer_lane')
1066
+ ], gatherer_lane);
1067
+ Types.gatherer_lane = gatherer_lane;
1068
+ let loader_lane = class loader_lane extends Struct {
1069
+ };
1070
+ __decorate([
1071
+ Struct.field(UInt8)
1072
+ ], loader_lane.prototype, "slot_index", void 0);
1073
+ __decorate([
1074
+ Struct.field(UInt32)
1075
+ ], loader_lane.prototype, "mass", void 0);
1076
+ __decorate([
1077
+ Struct.field(UInt16)
1078
+ ], loader_lane.prototype, "thrust", void 0);
1079
+ __decorate([
1080
+ Struct.field(UInt16)
1081
+ ], loader_lane.prototype, "output_pct", void 0);
1082
+ loader_lane = __decorate([
1083
+ Struct.type('loader_lane')
1084
+ ], loader_lane);
1085
+ Types.loader_lane = loader_lane;
1086
+ let launcher_stats = class launcher_stats extends Struct {
1087
+ };
1088
+ __decorate([
1089
+ Struct.field(UInt16)
1090
+ ], launcher_stats.prototype, "charge_rate", void 0);
1091
+ __decorate([
1092
+ Struct.field(UInt16)
1093
+ ], launcher_stats.prototype, "velocity", void 0);
1094
+ __decorate([
1095
+ Struct.field(UInt16)
1096
+ ], launcher_stats.prototype, "drain", void 0);
1097
+ launcher_stats = __decorate([
1098
+ Struct.type('launcher_stats')
1099
+ ], launcher_stats);
1100
+ Types.launcher_stats = launcher_stats;
1101
+ let task = class task extends Struct {
1102
+ };
1103
+ __decorate([
1104
+ Struct.field(UInt8)
1105
+ ], task.prototype, "type", void 0);
1106
+ __decorate([
1107
+ Struct.field(UInt32)
1108
+ ], task.prototype, "duration", void 0);
1109
+ __decorate([
1110
+ Struct.field(UInt8)
1111
+ ], task.prototype, "cancelable", void 0);
1112
+ __decorate([
1113
+ Struct.field(coordinates, { optional: true })
1114
+ ], task.prototype, "coordinates", void 0);
1115
+ __decorate([
1116
+ Struct.field(cargo_item, { array: true })
1117
+ ], task.prototype, "cargo", void 0);
1118
+ __decorate([
1119
+ Struct.field(entity_ref, { optional: true })
1120
+ ], task.prototype, "entitytarget", void 0);
1121
+ __decorate([
1122
+ Struct.field(UInt64, { optional: true })
1123
+ ], task.prototype, "entitygroup", void 0);
1124
+ __decorate([
1125
+ Struct.field(UInt32, { optional: true })
1126
+ ], task.prototype, "energy_cost", void 0);
1127
+ __decorate([
1128
+ Struct.field(UInt64, { optional: true })
1129
+ ], task.prototype, "hold", void 0);
1130
+ __decorate([
1131
+ Struct.field(UInt16, { optional: true })
1132
+ ], task.prototype, "target_item_id", void 0);
1133
+ task = __decorate([
1134
+ Struct.type('task')
1135
+ ], task);
1136
+ Types.task = task;
1137
+ let schedule = class schedule extends Struct {
1138
+ };
1139
+ __decorate([
1140
+ Struct.field(TimePoint)
1141
+ ], schedule.prototype, "started", void 0);
1142
+ __decorate([
1143
+ Struct.field(task, { array: true })
1144
+ ], schedule.prototype, "tasks", void 0);
1145
+ schedule = __decorate([
1146
+ Struct.type('schedule')
1147
+ ], schedule);
1148
+ Types.schedule = schedule;
1149
+ let lane = class lane extends Struct {
1150
+ };
1151
+ __decorate([
1152
+ Struct.field(UInt8)
1153
+ ], lane.prototype, "lane_key", void 0);
1154
+ __decorate([
1155
+ Struct.field(schedule)
1156
+ ], lane.prototype, "schedule", void 0);
1157
+ lane = __decorate([
1158
+ Struct.type('lane')
1159
+ ], lane);
1160
+ Types.lane = lane;
1161
+ let hold = class hold extends Struct {
1162
+ };
1163
+ __decorate([
1164
+ Struct.field(UInt64)
1165
+ ], hold.prototype, "id", void 0);
1166
+ __decorate([
1167
+ Struct.field(UInt8)
1168
+ ], hold.prototype, "kind", void 0);
1169
+ __decorate([
1170
+ Struct.field(entity_ref)
1171
+ ], hold.prototype, "counterpart", void 0);
1172
+ __decorate([
1173
+ Struct.field(TimePoint)
1174
+ ], hold.prototype, "until", void 0);
1175
+ __decorate([
1176
+ Struct.field(UInt32)
1177
+ ], hold.prototype, "incoming_mass", void 0);
1178
+ hold = __decorate([
1179
+ Struct.type('hold')
1180
+ ], hold);
1181
+ Types.hold = hold;
1182
+ let entity_info = class entity_info extends Struct {
1183
+ };
1184
+ __decorate([
1185
+ Struct.field(Name)
1186
+ ], entity_info.prototype, "type", void 0);
1187
+ __decorate([
1188
+ Struct.field(UInt64)
1189
+ ], entity_info.prototype, "id", void 0);
1190
+ __decorate([
1191
+ Struct.field(Name)
1192
+ ], entity_info.prototype, "owner", void 0);
1193
+ __decorate([
1194
+ Struct.field('string')
1195
+ ], entity_info.prototype, "entity_name", void 0);
1196
+ __decorate([
1197
+ Struct.field(coordinates)
1198
+ ], entity_info.prototype, "coordinates", void 0);
1199
+ __decorate([
1200
+ Struct.field(UInt16)
1201
+ ], entity_info.prototype, "item_id", void 0);
1202
+ __decorate([
1203
+ Struct.field(UInt32)
1204
+ ], entity_info.prototype, "cargomass", void 0);
1205
+ __decorate([
1206
+ Struct.field(cargo_view, { array: true })
1207
+ ], entity_info.prototype, "cargo", void 0);
1208
+ __decorate([
1209
+ Struct.field(module_entry, { array: true })
1210
+ ], entity_info.prototype, "modules", void 0);
1211
+ __decorate([
1212
+ Struct.field(UInt32, { optional: true })
1213
+ ], entity_info.prototype, "energy", void 0);
1214
+ __decorate([
1215
+ Struct.field(UInt32, { optional: true })
1216
+ ], entity_info.prototype, "hullmass", void 0);
1217
+ __decorate([
1218
+ Struct.field(UInt32, { optional: true })
1219
+ ], entity_info.prototype, "capacity", void 0);
1220
+ __decorate([
1221
+ Struct.field(movement_stats, { optional: true })
1222
+ ], entity_info.prototype, "engines", void 0);
1223
+ __decorate([
1224
+ Struct.field(warp_stats, { optional: true })
1225
+ ], entity_info.prototype, "warp", void 0);
1226
+ __decorate([
1227
+ Struct.field(energy_stats, { optional: true })
1228
+ ], entity_info.prototype, "generator", void 0);
1229
+ __decorate([
1230
+ Struct.field(hauler_stats, { optional: true })
1231
+ ], entity_info.prototype, "hauler", void 0);
1232
+ __decorate([
1233
+ Struct.field(gatherer_lane, { array: true })
1234
+ ], entity_info.prototype, "gatherer_lanes", void 0);
1235
+ __decorate([
1236
+ Struct.field(crafter_lane, { array: true })
1237
+ ], entity_info.prototype, "crafter_lanes", void 0);
1238
+ __decorate([
1239
+ Struct.field(loader_lane, { array: true })
1240
+ ], entity_info.prototype, "loader_lanes", void 0);
1241
+ __decorate([
1242
+ Struct.field(launcher_stats, { optional: true })
1243
+ ], entity_info.prototype, "launcher", void 0);
1244
+ __decorate([
1245
+ Struct.field(lane, { array: true })
1246
+ ], entity_info.prototype, "lanes", void 0);
1247
+ __decorate([
1248
+ Struct.field(hold, { array: true })
1249
+ ], entity_info.prototype, "holds", void 0);
1250
+ entity_info = __decorate([
1251
+ Struct.type('entity_info')
1252
+ ], entity_info);
1253
+ Types.entity_info = entity_info;
1254
+ let slot_def = class slot_def extends Struct {
1255
+ };
1256
+ __decorate([
1257
+ Struct.field(UInt8)
1258
+ ], slot_def.prototype, "type", void 0);
1259
+ __decorate([
1260
+ Struct.field(UInt16)
1261
+ ], slot_def.prototype, "output_pct", void 0);
1262
+ __decorate([
1263
+ Struct.field(UInt8)
1264
+ ], slot_def.prototype, "max_tier", void 0);
1265
+ slot_def = __decorate([
1266
+ Struct.type('slot_def')
1267
+ ], slot_def);
1268
+ Types.slot_def = slot_def;
1269
+ let entity_layout = class entity_layout extends Struct {
1270
+ };
1271
+ __decorate([
1272
+ Struct.field(UInt16)
1273
+ ], entity_layout.prototype, "entity_item_id", void 0);
1274
+ __decorate([
1275
+ Struct.field(slot_def, { array: true })
1276
+ ], entity_layout.prototype, "slots", void 0);
1277
+ entity_layout = __decorate([
1278
+ Struct.type('entity_layout')
1279
+ ], entity_layout);
1280
+ Types.entity_layout = entity_layout;
1281
+ let entity_layouts_result = class entity_layouts_result extends Struct {
1282
+ };
1283
+ __decorate([
1284
+ Struct.field(entity_layout, { array: true })
1285
+ ], entity_layouts_result.prototype, "entities", void 0);
1286
+ entity_layouts_result = __decorate([
1287
+ Struct.type('entity_layouts_result')
1288
+ ], entity_layouts_result);
1289
+ Types.entity_layouts_result = entity_layouts_result;
1290
+ let entity_row = class entity_row extends Struct {
1291
+ };
1292
+ __decorate([
1293
+ Struct.field(UInt64)
1294
+ ], entity_row.prototype, "id", void 0);
1295
+ __decorate([
1296
+ Struct.field(Name)
1297
+ ], entity_row.prototype, "owner", void 0);
1298
+ __decorate([
1299
+ Struct.field(Name)
1300
+ ], entity_row.prototype, "kind", void 0);
1301
+ __decorate([
1302
+ Struct.field(UInt16)
1303
+ ], entity_row.prototype, "item_id", void 0);
1304
+ __decorate([
1305
+ Struct.field('string')
1306
+ ], entity_row.prototype, "name", void 0);
1307
+ __decorate([
1308
+ Struct.field(UInt64)
1309
+ ], entity_row.prototype, "stats", void 0);
1310
+ __decorate([
1311
+ Struct.field(coordinates)
1312
+ ], entity_row.prototype, "coordinates", void 0);
1313
+ __decorate([
1314
+ Struct.field(UInt32, { optional: true })
1315
+ ], entity_row.prototype, "energy", void 0);
1316
+ __decorate([
1317
+ Struct.field(UInt32)
1318
+ ], entity_row.prototype, "cargomass", void 0);
1319
+ __decorate([
1320
+ Struct.field(module_entry, { array: true })
1321
+ ], entity_row.prototype, "modules", void 0);
1322
+ __decorate([
1323
+ Struct.field(lane, { array: true })
1324
+ ], entity_row.prototype, "lanes", void 0);
1325
+ __decorate([
1326
+ Struct.field(hold, { array: true })
1327
+ ], entity_row.prototype, "holds", void 0);
1328
+ entity_row = __decorate([
1329
+ Struct.type('entity_row')
1330
+ ], entity_row);
1331
+ Types.entity_row = entity_row;
1332
+ let entity_seq_row = class entity_seq_row extends Struct {
1333
+ };
1334
+ __decorate([
1335
+ Struct.field(UInt64)
1336
+ ], entity_seq_row.prototype, "next_id", void 0);
1337
+ entity_seq_row = __decorate([
1338
+ Struct.type('entity_seq_row')
1339
+ ], entity_seq_row);
1340
+ Types.entity_seq_row = entity_seq_row;
1341
+ let entity_summary = class entity_summary extends Struct {
1342
+ };
1343
+ __decorate([
1344
+ Struct.field(Name)
1345
+ ], entity_summary.prototype, "type", void 0);
1346
+ __decorate([
1347
+ Struct.field(UInt64)
1348
+ ], entity_summary.prototype, "id", void 0);
1349
+ __decorate([
1350
+ Struct.field(Name)
1351
+ ], entity_summary.prototype, "owner", void 0);
1352
+ __decorate([
1353
+ Struct.field('string')
1354
+ ], entity_summary.prototype, "entity_name", void 0);
1355
+ __decorate([
1356
+ Struct.field(coordinates)
1357
+ ], entity_summary.prototype, "coordinates", void 0);
1358
+ __decorate([
1359
+ Struct.field('bool')
1360
+ ], entity_summary.prototype, "is_idle", void 0);
1361
+ __decorate([
1362
+ Struct.field(UInt32)
1363
+ ], entity_summary.prototype, "resolved_count", void 0);
1364
+ __decorate([
1365
+ Struct.field(UInt32)
1366
+ ], entity_summary.prototype, "pending_count", void 0);
1367
+ entity_summary = __decorate([
1368
+ Struct.type('entity_summary')
1369
+ ], entity_summary);
1370
+ Types.entity_summary = entity_summary;
1371
+ let entity_task_info = class entity_task_info extends Struct {
1372
+ };
1373
+ __decorate([
1374
+ Struct.field(UInt64)
1375
+ ], entity_task_info.prototype, "entity_id", void 0);
1376
+ __decorate([
1377
+ Struct.field(Name)
1378
+ ], entity_task_info.prototype, "entity_type", void 0);
1379
+ __decorate([
1380
+ Struct.field(UInt8)
1381
+ ], entity_task_info.prototype, "task_count", void 0);
1382
+ __decorate([
1383
+ Struct.field(TimePoint)
1384
+ ], entity_task_info.prototype, "schedule_started", void 0);
1385
+ entity_task_info = __decorate([
1386
+ Struct.type('entity_task_info')
1387
+ ], entity_task_info);
1388
+ Types.entity_task_info = entity_task_info;
1389
+ let entitygroup_row = class entitygroup_row extends Struct {
1390
+ };
1391
+ __decorate([
1392
+ Struct.field(UInt64)
1393
+ ], entitygroup_row.prototype, "id", void 0);
1394
+ __decorate([
1395
+ Struct.field(entity_ref, { array: true })
1396
+ ], entitygroup_row.prototype, "participants", void 0);
1397
+ entitygroup_row = __decorate([
1398
+ Struct.type('entitygroup_row')
1399
+ ], entitygroup_row);
1400
+ Types.entitygroup_row = entitygroup_row;
1401
+ let enum_member = class enum_member extends Struct {
1402
+ };
1403
+ __decorate([
1404
+ Struct.field(UInt8)
1405
+ ], enum_member.prototype, "value", void 0);
1406
+ __decorate([
1407
+ Struct.field('string')
1408
+ ], enum_member.prototype, "name", void 0);
1409
+ enum_member = __decorate([
1410
+ Struct.type('enum_member')
1411
+ ], enum_member);
1412
+ Types.enum_member = enum_member;
1413
+ let enum_result = class enum_result extends Struct {
1414
+ };
1415
+ __decorate([
1416
+ Struct.field(enum_member, { array: true })
1417
+ ], enum_result.prototype, "members", void 0);
1418
+ enum_result = __decorate([
1419
+ Struct.type('enum_result')
1420
+ ], enum_result);
1421
+ Types.enum_result = enum_result;
1422
+ let epoch_row = class epoch_row extends Struct {
1423
+ };
1424
+ __decorate([
1425
+ Struct.field(UInt64)
1426
+ ], epoch_row.prototype, "epoch", void 0);
1427
+ __decorate([
1428
+ Struct.field(Name, { array: true })
1429
+ ], epoch_row.prototype, "oracle_ids", void 0);
1430
+ __decorate([
1431
+ Struct.field(UInt8)
1432
+ ], epoch_row.prototype, "threshold", void 0);
1433
+ __decorate([
1434
+ Struct.field(Checksum256)
1435
+ ], epoch_row.prototype, "seed", void 0);
1436
+ epoch_row = __decorate([
1437
+ Struct.type('epoch_row')
1438
+ ], epoch_row);
1439
+ Types.epoch_row = epoch_row;
1440
+ let fixcargomass = class fixcargomass extends Struct {
1441
+ };
1442
+ __decorate([
1443
+ Struct.field(UInt64)
1444
+ ], fixcargomass.prototype, "entity_id", void 0);
1445
+ fixcargomass = __decorate([
1446
+ Struct.type('fixcargomass')
1447
+ ], fixcargomass);
1448
+ Types.fixcargomass = fixcargomass;
1449
+ let grid_cell = class grid_cell extends Struct {
1450
+ };
1451
+ __decorate([
1452
+ Struct.field(Int8)
1453
+ ], grid_cell.prototype, "gx", void 0);
1454
+ __decorate([
1455
+ Struct.field(Int8)
1456
+ ], grid_cell.prototype, "gy", void 0);
1457
+ grid_cell = __decorate([
1458
+ Struct.type('grid_cell')
1459
+ ], grid_cell);
1460
+ Types.grid_cell = grid_cell;
1461
+ let footprint_result = class footprint_result extends Struct {
1462
+ };
1463
+ __decorate([
1464
+ Struct.field(grid_cell, { array: true })
1465
+ ], footprint_result.prototype, "cells", void 0);
1466
+ footprint_result = __decorate([
1467
+ Struct.type('footprint_result')
1468
+ ], footprint_result);
1469
+ Types.footprint_result = footprint_result;
1470
+ let forcereveal = class forcereveal extends Struct {
1471
+ };
1472
+ __decorate([
1473
+ Struct.field(UInt64)
1474
+ ], forcereveal.prototype, "epoch", void 0);
1475
+ forcereveal = __decorate([
1476
+ Struct.type('forcereveal')
1477
+ ], forcereveal);
1478
+ Types.forcereveal = forcereveal;
1479
+ let gather = class gather extends Struct {
1480
+ };
1481
+ __decorate([
1482
+ Struct.field(UInt64)
1483
+ ], gather.prototype, "source_id", void 0);
1484
+ __decorate([
1485
+ Struct.field(UInt64)
1486
+ ], gather.prototype, "destination_id", void 0);
1487
+ __decorate([
1488
+ Struct.field(UInt16)
1489
+ ], gather.prototype, "stratum", void 0);
1490
+ __decorate([
1491
+ Struct.field(UInt32)
1492
+ ], gather.prototype, "quantity", void 0);
1493
+ __decorate([
1494
+ Struct.field(UInt8, { optional: true })
1495
+ ], gather.prototype, "slot", void 0);
1496
+ gather = __decorate([
1497
+ Struct.type('gather')
1498
+ ], gather);
1499
+ Types.gather = gather;
1500
+ let genesisfleet = class genesisfleet extends Struct {
1501
+ };
1502
+ __decorate([
1503
+ Struct.field(entity_row, { array: true })
1504
+ ], genesisfleet.prototype, "entities", void 0);
1505
+ genesisfleet = __decorate([
1506
+ Struct.type('genesisfleet')
1507
+ ], genesisfleet);
1508
+ Types.genesisfleet = genesisfleet;
1509
+ let getcluster = class getcluster extends Struct {
1510
+ };
1511
+ __decorate([
1512
+ Struct.field(UInt64)
1513
+ ], getcluster.prototype, "hub_id", void 0);
1514
+ getcluster = __decorate([
1515
+ Struct.type('getcluster')
1516
+ ], getcluster);
1517
+ Types.getcluster = getcluster;
1518
+ let getconfig = class getconfig extends Struct {
1519
+ };
1520
+ getconfig = __decorate([
1521
+ Struct.type('getconfig')
1522
+ ], getconfig);
1523
+ Types.getconfig = getconfig;
1524
+ let getdeposit = class getdeposit extends Struct {
1525
+ };
1526
+ __decorate([
1527
+ Struct.field(Name)
1528
+ ], getdeposit.prototype, "owner", void 0);
1529
+ __decorate([
1530
+ Struct.field(UInt64)
1531
+ ], getdeposit.prototype, "asset_id", void 0);
1532
+ getdeposit = __decorate([
1533
+ Struct.type('getdeposit')
1534
+ ], getdeposit);
1535
+ Types.getdeposit = getdeposit;
1536
+ let getdistance = class getdistance extends Struct {
1537
+ };
1538
+ __decorate([
1539
+ Struct.field(Int64)
1540
+ ], getdistance.prototype, "ax", void 0);
1541
+ __decorate([
1542
+ Struct.field(Int64)
1543
+ ], getdistance.prototype, "ay", void 0);
1544
+ __decorate([
1545
+ Struct.field(Int64)
1546
+ ], getdistance.prototype, "bx", void 0);
1547
+ __decorate([
1548
+ Struct.field(Int64)
1549
+ ], getdistance.prototype, "by", void 0);
1550
+ getdistance = __decorate([
1551
+ Struct.type('getdistance')
1552
+ ], getdistance);
1553
+ Types.getdistance = getdistance;
1554
+ let geteligible = class geteligible extends Struct {
1555
+ };
1556
+ __decorate([
1557
+ Struct.field(coordinates)
1558
+ ], geteligible.prototype, "coords", void 0);
1559
+ __decorate([
1560
+ Struct.field(UInt16)
1561
+ ], geteligible.prototype, "stratum", void 0);
1562
+ geteligible = __decorate([
1563
+ Struct.type('geteligible')
1564
+ ], geteligible);
1565
+ Types.geteligible = geteligible;
1566
+ let getentcls = class getentcls extends Struct {
1567
+ };
1568
+ getentcls = __decorate([
1569
+ Struct.type('getentcls')
1570
+ ], getentcls);
1571
+ Types.getentcls = getentcls;
1572
+ let getentities = class getentities extends Struct {
1573
+ };
1574
+ __decorate([
1575
+ Struct.field(Name)
1576
+ ], getentities.prototype, "owner", void 0);
1577
+ __decorate([
1578
+ Struct.field(Name, { optional: true })
1579
+ ], getentities.prototype, "entity_type", void 0);
1580
+ getentities = __decorate([
1581
+ Struct.type('getentities')
1582
+ ], getentities);
1583
+ Types.getentities = getentities;
1584
+ let getentity = class getentity extends Struct {
1585
+ };
1586
+ __decorate([
1587
+ Struct.field(UInt64)
1588
+ ], getentity.prototype, "entity_id", void 0);
1589
+ getentity = __decorate([
1590
+ Struct.type('getentity')
1591
+ ], getentity);
1592
+ Types.getentity = getentity;
1593
+ let getfootprint = class getfootprint extends Struct {
1594
+ };
1595
+ __decorate([
1596
+ Struct.field(UInt16)
1597
+ ], getfootprint.prototype, "item_id", void 0);
1598
+ getfootprint = __decorate([
1599
+ Struct.type('getfootprint')
1600
+ ], getfootprint);
1601
+ Types.getfootprint = getfootprint;
1602
+ let getitemdata = class getitemdata extends Struct {
1603
+ };
1604
+ getitemdata = __decorate([
1605
+ Struct.type('getitemdata')
1606
+ ], getitemdata);
1607
+ Types.getitemdata = getitemdata;
1608
+ let getitemids = class getitemids extends Struct {
1609
+ };
1610
+ getitemids = __decorate([
1611
+ Struct.type('getitemids')
1612
+ ], getitemids);
1613
+ Types.getitemids = getitemids;
1614
+ let getitems = class getitems extends Struct {
1615
+ };
1616
+ getitems = __decorate([
1617
+ Struct.type('getitems')
1618
+ ], getitems);
1619
+ Types.getitems = getitems;
1620
+ let getitemtype = class getitemtype extends Struct {
1621
+ };
1622
+ __decorate([
1623
+ Struct.field(UInt16)
1624
+ ], getitemtype.prototype, "item_id", void 0);
1625
+ getitemtype = __decorate([
1626
+ Struct.type('getitemtype')
1627
+ ], getitemtype);
1628
+ Types.getitemtype = getitemtype;
1629
+ let getitemtypes = class getitemtypes extends Struct {
1630
+ };
1631
+ getitemtypes = __decorate([
1632
+ Struct.type('getitemtypes')
1633
+ ], getitemtypes);
1634
+ Types.getitemtypes = getitemtypes;
1635
+ let getkindmeta = class getkindmeta extends Struct {
1636
+ };
1637
+ getkindmeta = __decorate([
1638
+ Struct.type('getkindmeta')
1639
+ ], getkindmeta);
1640
+ Types.getkindmeta = getkindmeta;
1641
+ let getlocation = class getlocation extends Struct {
1642
+ };
1643
+ __decorate([
1644
+ Struct.field(Int64)
1645
+ ], getlocation.prototype, "x", void 0);
1646
+ __decorate([
1647
+ Struct.field(Int64)
1648
+ ], getlocation.prototype, "y", void 0);
1649
+ getlocation = __decorate([
1650
+ Struct.type('getlocation')
1651
+ ], getlocation);
1652
+ Types.getlocation = getlocation;
1653
+ let getlocdata = class getlocdata extends Struct {
1654
+ };
1655
+ __decorate([
1656
+ Struct.field(Int64)
1657
+ ], getlocdata.prototype, "x", void 0);
1658
+ __decorate([
1659
+ Struct.field(Int64)
1660
+ ], getlocdata.prototype, "y", void 0);
1661
+ getlocdata = __decorate([
1662
+ Struct.type('getlocdata')
1663
+ ], getlocdata);
1664
+ Types.getlocdata = getlocdata;
1665
+ let getmodtypes = class getmodtypes extends Struct {
1666
+ };
1667
+ getmodtypes = __decorate([
1668
+ Struct.type('getmodtypes')
1669
+ ], getmodtypes);
1670
+ Types.getmodtypes = getmodtypes;
1671
+ let getmodules = class getmodules extends Struct {
1672
+ };
1673
+ getmodules = __decorate([
1674
+ Struct.type('getmodules')
1675
+ ], getmodules);
1676
+ Types.getmodules = getmodules;
1677
+ let getnearby = class getnearby extends Struct {
1678
+ };
1679
+ __decorate([
1680
+ Struct.field(UInt64)
1681
+ ], getnearby.prototype, "entity_id", void 0);
1682
+ __decorate([
1683
+ Struct.field('bool')
1684
+ ], getnearby.prototype, "recharge", void 0);
1685
+ getnearby = __decorate([
1686
+ Struct.type('getnearby')
1687
+ ], getnearby);
1688
+ Types.getnearby = getnearby;
1689
+ let getnftbase = class getnftbase extends Struct {
1690
+ };
1691
+ getnftbase = __decorate([
1692
+ Struct.type('getnftbase')
1693
+ ], getnftbase);
1694
+ Types.getnftbase = getnftbase;
1695
+ let getnftinfo = class getnftinfo extends Struct {
1696
+ };
1697
+ getnftinfo = __decorate([
1698
+ Struct.type('getnftinfo')
1699
+ ], getnftinfo);
1700
+ Types.getnftinfo = getnftinfo;
1701
+ let getplayer = class getplayer extends Struct {
1702
+ };
1703
+ __decorate([
1704
+ Struct.field(Name)
1705
+ ], getplayer.prototype, "account", void 0);
1706
+ getplayer = __decorate([
1707
+ Struct.type('getplayer')
1708
+ ], getplayer);
1709
+ Types.getplayer = getplayer;
1710
+ let getprojstate = class getprojstate extends Struct {
1711
+ };
1712
+ __decorate([
1713
+ Struct.field(UInt64)
1714
+ ], getprojstate.prototype, "entity_id", void 0);
1715
+ __decorate([
1716
+ Struct.field(UInt8, { optional: true })
1717
+ ], getprojstate.prototype, "task_count", void 0);
1718
+ getprojstate = __decorate([
1719
+ Struct.type('getprojstate')
1720
+ ], getprojstate);
1721
+ Types.getprojstate = getprojstate;
1722
+ let getrecipe = class getrecipe extends Struct {
1723
+ };
1724
+ __decorate([
1725
+ Struct.field(UInt16)
1726
+ ], getrecipe.prototype, "output_item_id", void 0);
1727
+ getrecipe = __decorate([
1728
+ Struct.type('getrecipe')
1729
+ ], getrecipe);
1730
+ Types.getrecipe = getrecipe;
1731
+ let getrecipes = class getrecipes extends Struct {
1732
+ };
1733
+ __decorate([
1734
+ Struct.field(UInt16)
1735
+ ], getrecipes.prototype, "lower_bound", void 0);
1736
+ __decorate([
1737
+ Struct.field(UInt8)
1738
+ ], getrecipes.prototype, "limit", void 0);
1739
+ getrecipes = __decorate([
1740
+ Struct.type('getrecipes')
1741
+ ], getrecipes);
1742
+ Types.getrecipes = getrecipes;
1743
+ let getrescats = class getrescats extends Struct {
1744
+ };
1745
+ getrescats = __decorate([
1746
+ Struct.type('getrescats')
1747
+ ], getrescats);
1748
+ Types.getrescats = getrescats;
1749
+ let getreserves = class getreserves extends Struct {
1750
+ };
1751
+ __decorate([
1752
+ Struct.field(Int64)
1753
+ ], getreserves.prototype, "x", void 0);
1754
+ __decorate([
1755
+ Struct.field(Int64)
1756
+ ], getreserves.prototype, "y", void 0);
1757
+ getreserves = __decorate([
1758
+ Struct.type('getreserves')
1759
+ ], getreserves);
1760
+ Types.getreserves = getreserves;
1761
+ let getresources = class getresources extends Struct {
1762
+ };
1763
+ getresources = __decorate([
1764
+ Struct.type('getresources')
1765
+ ], getresources);
1766
+ Types.getresources = getresources;
1767
+ let getslots = class getslots extends Struct {
1768
+ };
1769
+ getslots = __decorate([
1770
+ Struct.type('getslots')
1771
+ ], getslots);
1772
+ Types.getslots = getslots;
1773
+ let getstratum = class getstratum extends Struct {
1774
+ };
1775
+ __decorate([
1776
+ Struct.field(Int64)
1777
+ ], getstratum.prototype, "x", void 0);
1778
+ __decorate([
1779
+ Struct.field(Int64)
1780
+ ], getstratum.prototype, "y", void 0);
1781
+ __decorate([
1782
+ Struct.field(UInt16)
1783
+ ], getstratum.prototype, "stratum", void 0);
1784
+ getstratum = __decorate([
1785
+ Struct.type('getstratum')
1786
+ ], getstratum);
1787
+ Types.getstratum = getstratum;
1788
+ let getsummaries = class getsummaries extends Struct {
1789
+ };
1790
+ __decorate([
1791
+ Struct.field(Name)
1792
+ ], getsummaries.prototype, "owner", void 0);
1793
+ __decorate([
1794
+ Struct.field(Name, { optional: true })
1795
+ ], getsummaries.prototype, "entity_type", void 0);
1796
+ getsummaries = __decorate([
1797
+ Struct.type('getsummaries')
1798
+ ], getsummaries);
1799
+ Types.getsummaries = getsummaries;
1800
+ let getwormhole = class getwormhole extends Struct {
1801
+ };
1802
+ __decorate([
1803
+ Struct.field(Int64)
1804
+ ], getwormhole.prototype, "x", void 0);
1805
+ __decorate([
1806
+ Struct.field(Int64)
1807
+ ], getwormhole.prototype, "y", void 0);
1808
+ getwormhole = __decorate([
1809
+ Struct.type('getwormhole')
1810
+ ], getwormhole);
1811
+ Types.getwormhole = getwormhole;
1812
+ let grouptransit = class grouptransit extends Struct {
1813
+ };
1814
+ __decorate([
1815
+ Struct.field(entity_ref, { array: true })
1816
+ ], grouptransit.prototype, "entities", void 0);
1817
+ __decorate([
1818
+ Struct.field(Int64)
1819
+ ], grouptransit.prototype, "ax", void 0);
1820
+ __decorate([
1821
+ Struct.field(Int64)
1822
+ ], grouptransit.prototype, "ay", void 0);
1823
+ __decorate([
1824
+ Struct.field(Int64)
1825
+ ], grouptransit.prototype, "bx", void 0);
1826
+ __decorate([
1827
+ Struct.field(Int64)
1828
+ ], grouptransit.prototype, "by", void 0);
1829
+ grouptransit = __decorate([
1830
+ Struct.type('grouptransit')
1831
+ ], grouptransit);
1832
+ Types.grouptransit = grouptransit;
1833
+ let grouptravel = class grouptravel extends Struct {
1834
+ };
1835
+ __decorate([
1836
+ Struct.field(entity_ref, { array: true })
1837
+ ], grouptravel.prototype, "entities", void 0);
1838
+ __decorate([
1839
+ Struct.field(Int64)
1840
+ ], grouptravel.prototype, "x", void 0);
1841
+ __decorate([
1842
+ Struct.field(Int64)
1843
+ ], grouptravel.prototype, "y", void 0);
1844
+ __decorate([
1845
+ Struct.field('bool')
1846
+ ], grouptravel.prototype, "recharge", void 0);
1847
+ grouptravel = __decorate([
1848
+ Struct.type('grouptravel')
1849
+ ], grouptravel);
1850
+ Types.grouptravel = grouptravel;
1851
+ let hash = class hash extends Struct {
1852
+ };
1853
+ __decorate([
1854
+ Struct.field('string')
1855
+ ], hash.prototype, "value", void 0);
1856
+ hash = __decorate([
1857
+ Struct.type('hash')
1858
+ ], hash);
1859
+ Types.hash = hash;
1860
+ let hash512 = class hash512 extends Struct {
1861
+ };
1862
+ __decorate([
1863
+ Struct.field('string')
1864
+ ], hash512.prototype, "value", void 0);
1865
+ hash512 = __decorate([
1866
+ Struct.type('hash512')
1867
+ ], hash512);
1868
+ Types.hash512 = hash512;
1869
+ let importcargo = class importcargo extends Struct {
1870
+ };
1871
+ __decorate([
1872
+ Struct.field(cargo_row)
1873
+ ], importcargo.prototype, "row", void 0);
1874
+ importcargo = __decorate([
1875
+ Struct.type('importcargo')
1876
+ ], importcargo);
1877
+ Types.importcargo = importcargo;
1878
+ let importentity = class importentity extends Struct {
1879
+ };
1880
+ __decorate([
1881
+ Struct.field(entity_row)
1882
+ ], importentity.prototype, "row", void 0);
1883
+ importentity = __decorate([
1884
+ Struct.type('importentity')
1885
+ ], importentity);
1886
+ Types.importentity = importentity;
1887
+ let importgroup = class importgroup extends Struct {
1888
+ };
1889
+ __decorate([
1890
+ Struct.field(entitygroup_row)
1891
+ ], importgroup.prototype, "row", void 0);
1892
+ importgroup = __decorate([
1893
+ Struct.type('importgroup')
1894
+ ], importgroup);
1895
+ Types.importgroup = importgroup;
1896
+ let importplayer = class importplayer extends Struct {
1897
+ };
1898
+ __decorate([
1899
+ Struct.field(Name)
1900
+ ], importplayer.prototype, "owner", void 0);
1901
+ importplayer = __decorate([
1902
+ Struct.type('importplayer')
1903
+ ], importplayer);
1904
+ Types.importplayer = importplayer;
1905
+ let reserve_row = class reserve_row extends Struct {
1906
+ };
1907
+ __decorate([
1908
+ Struct.field(UInt64)
1909
+ ], reserve_row.prototype, "id", void 0);
1910
+ __decorate([
1911
+ Struct.field(UInt64)
1912
+ ], reserve_row.prototype, "coord_id", void 0);
1913
+ __decorate([
1914
+ Struct.field(UInt16)
1915
+ ], reserve_row.prototype, "stratum", void 0);
1916
+ __decorate([
1917
+ Struct.field(UInt32)
1918
+ ], reserve_row.prototype, "remaining", void 0);
1919
+ __decorate([
1920
+ Struct.field(BlockTimestamp)
1921
+ ], reserve_row.prototype, "last_block", void 0);
1922
+ reserve_row = __decorate([
1923
+ Struct.type('reserve_row')
1924
+ ], reserve_row);
1925
+ Types.reserve_row = reserve_row;
1926
+ let importreserve = class importreserve extends Struct {
1927
+ };
1928
+ __decorate([
1929
+ Struct.field(UInt32)
1930
+ ], importreserve.prototype, "epoch_scope", void 0);
1931
+ __decorate([
1932
+ Struct.field(reserve_row)
1933
+ ], importreserve.prototype, "row", void 0);
1934
+ importreserve = __decorate([
1935
+ Struct.type('importreserve')
1936
+ ], importreserve);
1937
+ Types.importreserve = importreserve;
1938
+ let state_row = class state_row extends Struct {
1939
+ };
1940
+ __decorate([
1941
+ Struct.field('bool')
1942
+ ], state_row.prototype, "enabled", void 0);
1943
+ __decorate([
1944
+ Struct.field(UInt32)
1945
+ ], state_row.prototype, "epoch", void 0);
1946
+ __decorate([
1947
+ Struct.field(Checksum256)
1948
+ ], state_row.prototype, "seed", void 0);
1949
+ state_row = __decorate([
1950
+ Struct.type('state_row')
1951
+ ], state_row);
1952
+ Types.state_row = state_row;
1953
+ let importstate = class importstate extends Struct {
1954
+ };
1955
+ __decorate([
1956
+ Struct.field(state_row)
1957
+ ], importstate.prototype, "row", void 0);
1958
+ importstate = __decorate([
1959
+ Struct.type('importstate')
1960
+ ], importstate);
1961
+ Types.importstate = importstate;
1962
+ let item_id_pair = class item_id_pair extends Struct {
1963
+ };
1964
+ __decorate([
1965
+ Struct.field(UInt16)
1966
+ ], item_id_pair.prototype, "id", void 0);
1967
+ __decorate([
1968
+ Struct.field('string')
1969
+ ], item_id_pair.prototype, "name", void 0);
1970
+ item_id_pair = __decorate([
1971
+ Struct.type('item_id_pair')
1972
+ ], item_id_pair);
1973
+ Types.item_id_pair = item_id_pair;
1974
+ let item_ids_result = class item_ids_result extends Struct {
1975
+ };
1976
+ __decorate([
1977
+ Struct.field(item_id_pair, { array: true })
1978
+ ], item_ids_result.prototype, "items", void 0);
1979
+ item_ids_result = __decorate([
1980
+ Struct.type('item_ids_result')
1981
+ ], item_ids_result);
1982
+ Types.item_ids_result = item_ids_result;
1983
+ let recipe_input = class recipe_input extends Struct {
1984
+ };
1985
+ __decorate([
1986
+ Struct.field(UInt16)
1987
+ ], recipe_input.prototype, "item_id", void 0);
1988
+ __decorate([
1989
+ Struct.field(UInt32)
1990
+ ], recipe_input.prototype, "quantity", void 0);
1991
+ recipe_input = __decorate([
1992
+ Struct.type('recipe_input')
1993
+ ], recipe_input);
1994
+ Types.recipe_input = recipe_input;
1995
+ let stat_source = class stat_source extends Struct {
1996
+ };
1997
+ __decorate([
1998
+ Struct.field(UInt8)
1999
+ ], stat_source.prototype, "input_index", void 0);
2000
+ __decorate([
2001
+ Struct.field(UInt8)
2002
+ ], stat_source.prototype, "input_stat_index", void 0);
2003
+ stat_source = __decorate([
2004
+ Struct.type('stat_source')
2005
+ ], stat_source);
2006
+ Types.stat_source = stat_source;
2007
+ let stat_slot_response = class stat_slot_response extends Struct {
2008
+ };
2009
+ __decorate([
2010
+ Struct.field(stat_source, { array: true })
2011
+ ], stat_slot_response.prototype, "sources", void 0);
2012
+ stat_slot_response = __decorate([
2013
+ Struct.type('stat_slot_response')
2014
+ ], stat_slot_response);
2015
+ Types.stat_slot_response = stat_slot_response;
2016
+ let recipe_item_info = class recipe_item_info extends Struct {
2017
+ };
2018
+ __decorate([
2019
+ Struct.field(UInt16)
2020
+ ], recipe_item_info.prototype, "id", void 0);
2021
+ __decorate([
2022
+ Struct.field(UInt32)
2023
+ ], recipe_item_info.prototype, "mass", void 0);
2024
+ recipe_item_info = __decorate([
2025
+ Struct.type('recipe_item_info')
2026
+ ], recipe_item_info);
2027
+ Types.recipe_item_info = recipe_item_info;
2028
+ let recipe_response = class recipe_response extends Struct {
2029
+ };
2030
+ __decorate([
2031
+ Struct.field(UInt16)
2032
+ ], recipe_response.prototype, "output_item_id", void 0);
2033
+ __decorate([
2034
+ Struct.field(UInt32)
2035
+ ], recipe_response.prototype, "output_mass", void 0);
2036
+ __decorate([
2037
+ Struct.field(recipe_input, { array: true })
2038
+ ], recipe_response.prototype, "inputs", void 0);
2039
+ __decorate([
2040
+ Struct.field(stat_slot_response, { array: true })
2041
+ ], recipe_response.prototype, "stat_slots", void 0);
2042
+ __decorate([
2043
+ Struct.field(Bytes)
2044
+ ], recipe_response.prototype, "blend_weights", void 0);
2045
+ __decorate([
2046
+ Struct.field(recipe_item_info)
2047
+ ], recipe_response.prototype, "output_item", void 0);
2048
+ __decorate([
2049
+ Struct.field(recipe_item_info, { array: true })
2050
+ ], recipe_response.prototype, "input_items", void 0);
2051
+ __decorate([
2052
+ Struct.field(UInt16, { optional: true })
2053
+ ], recipe_response.prototype, "source_subclass", void 0);
2054
+ recipe_response = __decorate([
2055
+ Struct.type('recipe_response')
2056
+ ], recipe_response);
2057
+ Types.recipe_response = recipe_response;
2058
+ let recipes_result = class recipes_result extends Struct {
2059
+ };
2060
+ __decorate([
2061
+ Struct.field(recipe_response, { array: true })
2062
+ ], recipes_result.prototype, "recipes", void 0);
2063
+ recipes_result = __decorate([
2064
+ Struct.type('recipes_result')
2065
+ ], recipes_result);
2066
+ Types.recipes_result = recipes_result;
2067
+ let itemdata_result = class itemdata_result extends Struct {
2068
+ };
2069
+ __decorate([
2070
+ Struct.field(item_def, { array: true })
2071
+ ], itemdata_result.prototype, "items", void 0);
2072
+ __decorate([
2073
+ Struct.field(recipes_result)
2074
+ ], itemdata_result.prototype, "recipes", void 0);
2075
+ itemdata_result = __decorate([
2076
+ Struct.type('itemdata_result')
2077
+ ], itemdata_result);
2078
+ Types.itemdata_result = itemdata_result;
2079
+ let items_info = class items_info extends Struct {
2080
+ };
2081
+ __decorate([
2082
+ Struct.field(item_def, { array: true })
2083
+ ], items_info.prototype, "items", void 0);
2084
+ items_info = __decorate([
2085
+ Struct.type('items_info')
2086
+ ], items_info);
2087
+ Types.items_info = items_info;
2088
+ let join = class join extends Struct {
2089
+ };
2090
+ __decorate([
2091
+ Struct.field(Name)
2092
+ ], join.prototype, "account", void 0);
2093
+ join = __decorate([
2094
+ Struct.type('join')
2095
+ ], join);
2096
+ Types.join = join;
2097
+ let kind_meta_row = class kind_meta_row extends Struct {
2098
+ };
2099
+ __decorate([
2100
+ Struct.field(Name)
2101
+ ], kind_meta_row.prototype, "kind", void 0);
2102
+ __decorate([
2103
+ Struct.field(UInt8)
2104
+ ], kind_meta_row.prototype, "classification", void 0);
2105
+ __decorate([
2106
+ Struct.field(UInt8)
2107
+ ], kind_meta_row.prototype, "capability_flags", void 0);
2108
+ __decorate([
2109
+ Struct.field(UInt32)
2110
+ ], kind_meta_row.prototype, "z_coord", void 0);
2111
+ __decorate([
2112
+ Struct.field('string')
2113
+ ], kind_meta_row.prototype, "default_label", void 0);
2114
+ kind_meta_row = __decorate([
2115
+ Struct.type('kind_meta_row')
2116
+ ], kind_meta_row);
2117
+ Types.kind_meta_row = kind_meta_row;
2118
+ let template_meta_row = class template_meta_row extends Struct {
2119
+ };
2120
+ __decorate([
2121
+ Struct.field(UInt16)
2122
+ ], template_meta_row.prototype, "item_id", void 0);
2123
+ __decorate([
2124
+ Struct.field(Name)
2125
+ ], template_meta_row.prototype, "kind", void 0);
2126
+ __decorate([
2127
+ Struct.field('string')
2128
+ ], template_meta_row.prototype, "display_label", void 0);
2129
+ template_meta_row = __decorate([
2130
+ Struct.type('template_meta_row')
2131
+ ], template_meta_row);
2132
+ Types.template_meta_row = template_meta_row;
2133
+ let kind_meta_result = class kind_meta_result extends Struct {
2134
+ };
2135
+ __decorate([
2136
+ Struct.field(kind_meta_row, { array: true })
2137
+ ], kind_meta_result.prototype, "kinds", void 0);
2138
+ __decorate([
2139
+ Struct.field(template_meta_row, { array: true })
2140
+ ], kind_meta_result.prototype, "templates", void 0);
2141
+ kind_meta_result = __decorate([
2142
+ Struct.type('kind_meta_result')
2143
+ ], kind_meta_result);
2144
+ Types.kind_meta_result = kind_meta_result;
2145
+ let launch = class launch extends Struct {
2146
+ };
2147
+ __decorate([
2148
+ Struct.field(UInt64)
2149
+ ], launch.prototype, "launcher_id", void 0);
2150
+ __decorate([
2151
+ Struct.field(UInt64)
2152
+ ], launch.prototype, "catcher_id", void 0);
2153
+ __decorate([
2154
+ Struct.field(cargo_item, { array: true })
2155
+ ], launch.prototype, "items", void 0);
2156
+ launch = __decorate([
2157
+ Struct.type('launch')
2158
+ ], launch);
2159
+ Types.launch = launch;
2160
+ let load = class load extends Struct {
2161
+ };
2162
+ __decorate([
2163
+ Struct.field(UInt64)
2164
+ ], load.prototype, "id", void 0);
2165
+ __decorate([
2166
+ Struct.field(UInt64)
2167
+ ], load.prototype, "from_id", void 0);
2168
+ __decorate([
2169
+ Struct.field(cargo_item, { array: true })
2170
+ ], load.prototype, "items", void 0);
2171
+ load = __decorate([
2172
+ Struct.type('load')
2173
+ ], load);
2174
+ Types.load = load;
2175
+ let location_static = class location_static extends Struct {
2176
+ };
2177
+ __decorate([
2178
+ Struct.field(coordinates)
2179
+ ], location_static.prototype, "coords", void 0);
2180
+ __decorate([
2181
+ Struct.field(UInt8)
2182
+ ], location_static.prototype, "type", void 0);
2183
+ __decorate([
2184
+ Struct.field(UInt8)
2185
+ ], location_static.prototype, "subtype", void 0);
2186
+ __decorate([
2187
+ Struct.field(UInt8)
2188
+ ], location_static.prototype, "seed0", void 0);
2189
+ __decorate([
2190
+ Struct.field(UInt8)
2191
+ ], location_static.prototype, "seed1", void 0);
2192
+ location_static = __decorate([
2193
+ Struct.type('location_static')
2194
+ ], location_static);
2195
+ Types.location_static = location_static;
2196
+ let location_derived = class location_derived extends Struct {
2197
+ };
2198
+ __decorate([
2199
+ Struct.field(location_static)
2200
+ ], location_derived.prototype, "static_props", void 0);
2201
+ __decorate([
2202
+ Struct.field(UInt16)
2203
+ ], location_derived.prototype, "size", void 0);
2204
+ location_derived = __decorate([
2205
+ Struct.type('location_derived')
2206
+ ], location_derived);
2207
+ Types.location_derived = location_derived;
2208
+ let location_info = class location_info extends Struct {
2209
+ };
2210
+ __decorate([
2211
+ Struct.field(coordinates)
2212
+ ], location_info.prototype, "coords", void 0);
2213
+ __decorate([
2214
+ Struct.field('bool')
2215
+ ], location_info.prototype, "is_system", void 0);
2216
+ __decorate([
2217
+ Struct.field('bool')
2218
+ ], location_info.prototype, "is_wormhole", void 0);
2219
+ location_info = __decorate([
2220
+ Struct.type('location_info')
2221
+ ], location_info);
2222
+ Types.location_info = location_info;
2223
+ let module_info = class module_info extends Struct {
2224
+ };
2225
+ __decorate([
2226
+ Struct.field(UInt16)
2227
+ ], module_info.prototype, "id", void 0);
2228
+ __decorate([
2229
+ Struct.field(UInt32)
2230
+ ], module_info.prototype, "mass", void 0);
2231
+ __decorate([
2232
+ Struct.field(UInt8)
2233
+ ], module_info.prototype, "module_type", void 0);
2234
+ __decorate([
2235
+ Struct.field(UInt8)
2236
+ ], module_info.prototype, "tier", void 0);
2237
+ module_info = __decorate([
2238
+ Struct.type('module_info')
2239
+ ], module_info);
2240
+ Types.module_info = module_info;
2241
+ let modules_result = class modules_result extends Struct {
2242
+ };
2243
+ __decorate([
2244
+ Struct.field(module_info, { array: true })
2245
+ ], modules_result.prototype, "modules", void 0);
2246
+ modules_result = __decorate([
2247
+ Struct.type('modules_result')
2248
+ ], modules_result);
2249
+ Types.modules_result = modules_result;
2250
+ let movetile = class movetile extends Struct {
2251
+ };
2252
+ __decorate([
2253
+ Struct.field(UInt64)
2254
+ ], movetile.prototype, "hub_id", void 0);
2255
+ __decorate([
2256
+ Struct.field(Int8)
2257
+ ], movetile.prototype, "from_gx", void 0);
2258
+ __decorate([
2259
+ Struct.field(Int8)
2260
+ ], movetile.prototype, "from_gy", void 0);
2261
+ __decorate([
2262
+ Struct.field(Int8)
2263
+ ], movetile.prototype, "to_gx", void 0);
2264
+ __decorate([
2265
+ Struct.field(Int8)
2266
+ ], movetile.prototype, "to_gy", void 0);
2267
+ movetile = __decorate([
2268
+ Struct.type('movetile')
2269
+ ], movetile);
2270
+ Types.movetile = movetile;
2271
+ let nearby_system = class nearby_system extends Struct {
2272
+ };
2273
+ __decorate([
2274
+ Struct.field(UInt64)
2275
+ ], nearby_system.prototype, "distance", void 0);
2276
+ __decorate([
2277
+ Struct.field(UInt64)
2278
+ ], nearby_system.prototype, "energy_cost", void 0);
2279
+ __decorate([
2280
+ Struct.field(UInt32)
2281
+ ], nearby_system.prototype, "flight_time", void 0);
2282
+ __decorate([
2283
+ Struct.field(location_info)
2284
+ ], nearby_system.prototype, "location", void 0);
2285
+ nearby_system = __decorate([
2286
+ Struct.type('nearby_system')
2287
+ ], nearby_system);
2288
+ Types.nearby_system = nearby_system;
2289
+ let nearby_info = class nearby_info extends Struct {
2290
+ };
2291
+ __decorate([
2292
+ Struct.field('bool')
2293
+ ], nearby_info.prototype, "can_travel", void 0);
2294
+ __decorate([
2295
+ Struct.field(entity_current_state)
2296
+ ], nearby_info.prototype, "current", void 0);
2297
+ __decorate([
2298
+ Struct.field(entity_current_state)
2299
+ ], nearby_info.prototype, "projected", void 0);
2300
+ __decorate([
2301
+ Struct.field(UInt32)
2302
+ ], nearby_info.prototype, "max_energy", void 0);
2303
+ __decorate([
2304
+ Struct.field(nearby_system, { array: true })
2305
+ ], nearby_info.prototype, "systems", void 0);
2306
+ nearby_info = __decorate([
2307
+ Struct.type('nearby_info')
2308
+ ], nearby_info);
2309
+ Types.nearby_info = nearby_info;
2310
+ let nft_cargo_item = class nft_cargo_item extends Struct {
2311
+ };
2312
+ __decorate([
2313
+ Struct.field(UInt16)
2314
+ ], nft_cargo_item.prototype, "item_id", void 0);
2315
+ __decorate([
2316
+ Struct.field(UInt64)
2317
+ ], nft_cargo_item.prototype, "stats", void 0);
2318
+ __decorate([
2319
+ Struct.field(module_entry, { array: true })
2320
+ ], nft_cargo_item.prototype, "modules", void 0);
2321
+ __decorate([
2322
+ Struct.field(UInt32)
2323
+ ], nft_cargo_item.prototype, "quantity", void 0);
2324
+ nft_cargo_item = __decorate([
2325
+ Struct.type('nft_cargo_item')
2326
+ ], nft_cargo_item);
2327
+ Types.nft_cargo_item = nft_cargo_item;
2328
+ let nft_item_payload = class nft_item_payload extends Struct {
2329
+ };
2330
+ __decorate([
2331
+ Struct.field(nft_cargo_item)
2332
+ ], nft_item_payload.prototype, "item", void 0);
2333
+ __decorate([
2334
+ Struct.field(coordinates, { optional: true })
2335
+ ], nft_item_payload.prototype, "location", void 0);
2336
+ nft_item_payload = __decorate([
2337
+ Struct.type('nft_item_payload')
2338
+ ], nft_item_payload);
2339
+ Types.nft_item_payload = nft_item_payload;
2340
+ let schema_field = class schema_field extends Struct {
2341
+ };
2342
+ __decorate([
2343
+ Struct.field('string')
2344
+ ], schema_field.prototype, "name", void 0);
2345
+ __decorate([
2346
+ Struct.field('string')
2347
+ ], schema_field.prototype, "field_type", void 0);
2348
+ schema_field = __decorate([
2349
+ Struct.type('schema_field')
2350
+ ], schema_field);
2351
+ Types.schema_field = schema_field;
2352
+ let nft_schema_def = class nft_schema_def extends Struct {
2353
+ };
2354
+ __decorate([
2355
+ Struct.field(Name)
2356
+ ], nft_schema_def.prototype, "schema_name", void 0);
2357
+ __decorate([
2358
+ Struct.field(schema_field, { array: true })
2359
+ ], nft_schema_def.prototype, "fields", void 0);
2360
+ nft_schema_def = __decorate([
2361
+ Struct.type('nft_schema_def')
2362
+ ], nft_schema_def);
2363
+ Types.nft_schema_def = nft_schema_def;
2364
+ let nft_template_def = class nft_template_def extends Struct {
2365
+ };
2366
+ __decorate([
2367
+ Struct.field(UInt16)
2368
+ ], nft_template_def.prototype, "item_id", void 0);
2369
+ __decorate([
2370
+ Struct.field(Name)
2371
+ ], nft_template_def.prototype, "schema_name", void 0);
2372
+ __decorate([
2373
+ Struct.field(Int32)
2374
+ ], nft_template_def.prototype, "template_id", void 0);
2375
+ nft_template_def = __decorate([
2376
+ Struct.type('nft_template_def')
2377
+ ], nft_template_def);
2378
+ Types.nft_template_def = nft_template_def;
2379
+ let nftconfig_row = class nftconfig_row extends Struct {
2380
+ };
2381
+ __decorate([
2382
+ Struct.field(UInt16)
2383
+ ], nftconfig_row.prototype, "item_id", void 0);
2384
+ __decorate([
2385
+ Struct.field(Int32)
2386
+ ], nftconfig_row.prototype, "template_id", void 0);
2387
+ __decorate([
2388
+ Struct.field(Name)
2389
+ ], nftconfig_row.prototype, "schema_name", void 0);
2390
+ nftconfig_row = __decorate([
2391
+ Struct.type('nftconfig_row')
2392
+ ], nftconfig_row);
2393
+ Types.nftconfig_row = nftconfig_row;
2394
+ let nftimgurl = class nftimgurl extends Struct {
2395
+ };
2396
+ __decorate([
2397
+ Struct.field(cargo_item)
2398
+ ], nftimgurl.prototype, "item", void 0);
2399
+ __decorate([
2400
+ Struct.field(coordinates, { optional: true })
2401
+ ], nftimgurl.prototype, "location", void 0);
2402
+ nftimgurl = __decorate([
2403
+ Struct.type('nftimgurl')
2404
+ ], nftimgurl);
2405
+ Types.nftimgurl = nftimgurl;
2406
+ let nftinfo_result = class nftinfo_result extends Struct {
2407
+ };
2408
+ __decorate([
2409
+ Struct.field(nft_schema_def, { array: true })
2410
+ ], nftinfo_result.prototype, "schemas", void 0);
2411
+ __decorate([
2412
+ Struct.field(nft_template_def, { array: true })
2413
+ ], nftinfo_result.prototype, "templates", void 0);
2414
+ nftinfo_result = __decorate([
2415
+ Struct.type('nftinfo_result')
2416
+ ], nftinfo_result);
2417
+ Types.nftinfo_result = nftinfo_result;
2418
+ let task_event = class task_event extends Struct {
2419
+ };
2420
+ __decorate([
2421
+ Struct.field(UInt8)
2422
+ ], task_event.prototype, "event_type", void 0);
2423
+ __decorate([
2424
+ Struct.field(Name)
2425
+ ], task_event.prototype, "owner", void 0);
2426
+ __decorate([
2427
+ Struct.field(Name)
2428
+ ], task_event.prototype, "entity_type", void 0);
2429
+ __decorate([
2430
+ Struct.field(UInt64)
2431
+ ], task_event.prototype, "entity_id", void 0);
2432
+ __decorate([
2433
+ Struct.field(UInt32)
2434
+ ], task_event.prototype, "task_index", void 0);
2435
+ __decorate([
2436
+ Struct.field(task)
2437
+ ], task_event.prototype, "task", void 0);
2438
+ __decorate([
2439
+ Struct.field(TimePoint)
2440
+ ], task_event.prototype, "starts_at", void 0);
2441
+ __decorate([
2442
+ Struct.field(TimePoint)
2443
+ ], task_event.prototype, "completes_at", void 0);
2444
+ __decorate([
2445
+ Struct.field(UInt32, { optional: true })
2446
+ ], task_event.prototype, "new_energy", void 0);
2447
+ __decorate([
2448
+ Struct.field(UInt8)
2449
+ ], task_event.prototype, "lane_key", void 0);
2450
+ task_event = __decorate([
2451
+ Struct.type('task_event')
2452
+ ], task_event);
2453
+ Types.task_event = task_event;
2454
+ let notify = class notify extends Struct {
2455
+ };
2456
+ __decorate([
2457
+ Struct.field(task_event)
2458
+ ], notify.prototype, "event", void 0);
2459
+ notify = __decorate([
2460
+ Struct.type('notify')
2461
+ ], notify);
2462
+ Types.notify = notify;
2463
+ let oracle_config_row = class oracle_config_row extends Struct {
2464
+ };
2465
+ __decorate([
2466
+ Struct.field(UInt8)
2467
+ ], oracle_config_row.prototype, "threshold", void 0);
2468
+ oracle_config_row = __decorate([
2469
+ Struct.type('oracle_config_row')
2470
+ ], oracle_config_row);
2471
+ Types.oracle_config_row = oracle_config_row;
2472
+ let oracle_row = class oracle_row extends Struct {
2473
+ };
2474
+ __decorate([
2475
+ Struct.field(Name)
2476
+ ], oracle_row.prototype, "id", void 0);
2477
+ oracle_row = __decorate([
2478
+ Struct.type('oracle_row')
2479
+ ], oracle_row);
2480
+ Types.oracle_row = oracle_row;
2481
+ let placecargo = class placecargo extends Struct {
2482
+ };
2483
+ __decorate([
2484
+ Struct.field(Name)
2485
+ ], placecargo.prototype, "owner", void 0);
2486
+ __decorate([
2487
+ Struct.field(UInt64)
2488
+ ], placecargo.prototype, "host_id", void 0);
2489
+ __decorate([
2490
+ Struct.field(UInt64)
2491
+ ], placecargo.prototype, "asset_id", void 0);
2492
+ placecargo = __decorate([
2493
+ Struct.type('placecargo')
2494
+ ], placecargo);
2495
+ Types.placecargo = placecargo;
2496
+ let placeentity = class placeentity extends Struct {
2497
+ };
2498
+ __decorate([
2499
+ Struct.field(Name)
2500
+ ], placeentity.prototype, "owner", void 0);
2501
+ __decorate([
2502
+ Struct.field(UInt64)
2503
+ ], placeentity.prototype, "asset_id", void 0);
2504
+ __decorate([
2505
+ Struct.field(UInt64)
2506
+ ], placeentity.prototype, "target_nexus_id", void 0);
2507
+ placeentity = __decorate([
2508
+ Struct.type('placeentity')
2509
+ ], placeentity);
2510
+ Types.placeentity = placeentity;
2511
+ let player_info = class player_info extends Struct {
2512
+ };
2513
+ __decorate([
2514
+ Struct.field(Name)
2515
+ ], player_info.prototype, "owner", void 0);
2516
+ __decorate([
2517
+ Struct.field('bool')
2518
+ ], player_info.prototype, "is_player", void 0);
2519
+ __decorate([
2520
+ Struct.field('string')
2521
+ ], player_info.prototype, "company_name", void 0);
2522
+ player_info = __decorate([
2523
+ Struct.type('player_info')
2524
+ ], player_info);
2525
+ Types.player_info = player_info;
2526
+ let player_row = class player_row extends Struct {
2527
+ };
2528
+ __decorate([
2529
+ Struct.field(Name)
2530
+ ], player_row.prototype, "owner", void 0);
2531
+ player_row = __decorate([
2532
+ Struct.type('player_row')
2533
+ ], player_row);
2534
+ Types.player_row = player_row;
2535
+ let projected_state = class projected_state extends Struct {
2536
+ };
2537
+ __decorate([
2538
+ Struct.field(Name)
2539
+ ], projected_state.prototype, "owner", void 0);
2540
+ __decorate([
2541
+ Struct.field(coordinates)
2542
+ ], projected_state.prototype, "coordinates", void 0);
2543
+ __decorate([
2544
+ Struct.field(UInt32, { optional: true })
2545
+ ], projected_state.prototype, "energy", void 0);
2546
+ __decorate([
2547
+ Struct.field(UInt32)
2548
+ ], projected_state.prototype, "cargomass", void 0);
2549
+ __decorate([
2550
+ Struct.field(cargo_view, { array: true })
2551
+ ], projected_state.prototype, "cargo", void 0);
2552
+ __decorate([
2553
+ Struct.field(UInt32, { optional: true })
2554
+ ], projected_state.prototype, "hullmass", void 0);
2555
+ __decorate([
2556
+ Struct.field(UInt32, { optional: true })
2557
+ ], projected_state.prototype, "capacity", void 0);
2558
+ __decorate([
2559
+ Struct.field(movement_stats, { optional: true })
2560
+ ], projected_state.prototype, "engines", void 0);
2561
+ __decorate([
2562
+ Struct.field(warp_stats, { optional: true })
2563
+ ], projected_state.prototype, "warp", void 0);
2564
+ __decorate([
2565
+ Struct.field(energy_stats, { optional: true })
2566
+ ], projected_state.prototype, "generator", void 0);
2567
+ __decorate([
2568
+ Struct.field(hauler_stats, { optional: true })
2569
+ ], projected_state.prototype, "hauler", void 0);
2570
+ __decorate([
2571
+ Struct.field(gatherer_lane, { array: true })
2572
+ ], projected_state.prototype, "gatherer_lanes", void 0);
2573
+ __decorate([
2574
+ Struct.field(crafter_lane, { array: true })
2575
+ ], projected_state.prototype, "crafter_lanes", void 0);
2576
+ __decorate([
2577
+ Struct.field(loader_lane, { array: true })
2578
+ ], projected_state.prototype, "loader_lanes", void 0);
2579
+ __decorate([
2580
+ Struct.field(launcher_stats, { optional: true })
2581
+ ], projected_state.prototype, "launcher", void 0);
2582
+ __decorate([
2583
+ Struct.field(UInt8)
2584
+ ], projected_state.prototype, "tier", void 0);
2585
+ projected_state = __decorate([
2586
+ Struct.type('projected_state')
2587
+ ], projected_state);
2588
+ Types.projected_state = projected_state;
2589
+ let recharge = class recharge extends Struct {
2590
+ };
2591
+ __decorate([
2592
+ Struct.field(UInt64)
2593
+ ], recharge.prototype, "id", void 0);
2594
+ recharge = __decorate([
2595
+ Struct.type('recharge')
2596
+ ], recharge);
2597
+ Types.recharge = recharge;
2598
+ let refrshentity = class refrshentity extends Struct {
2599
+ };
2600
+ __decorate([
2601
+ Struct.field(UInt64)
2602
+ ], refrshentity.prototype, "entity_id", void 0);
2603
+ refrshentity = __decorate([
2604
+ Struct.type('refrshentity')
2605
+ ], refrshentity);
2606
+ Types.refrshentity = refrshentity;
2607
+ let removeoracle = class removeoracle extends Struct {
2608
+ };
2609
+ __decorate([
2610
+ Struct.field(Name)
2611
+ ], removeoracle.prototype, "oracle_id", void 0);
2612
+ removeoracle = __decorate([
2613
+ Struct.type('removeoracle')
2614
+ ], removeoracle);
2615
+ Types.removeoracle = removeoracle;
2616
+ let rename = class rename extends Struct {
2617
+ };
2618
+ __decorate([
2619
+ Struct.field(UInt64)
2620
+ ], rename.prototype, "id", void 0);
2621
+ __decorate([
2622
+ Struct.field('string')
2623
+ ], rename.prototype, "name", void 0);
2624
+ rename = __decorate([
2625
+ Struct.type('rename')
2626
+ ], rename);
2627
+ Types.rename = rename;
2628
+ let resolve = class resolve extends Struct {
2629
+ };
2630
+ __decorate([
2631
+ Struct.field(UInt64)
2632
+ ], resolve.prototype, "id", void 0);
2633
+ __decorate([
2634
+ Struct.field(UInt64, { optional: true })
2635
+ ], resolve.prototype, "count", void 0);
2636
+ resolve = __decorate([
2637
+ Struct.type('resolve')
2638
+ ], resolve);
2639
+ Types.resolve = resolve;
2640
+ let resolve_results = class resolve_results extends Struct {
2641
+ };
2642
+ __decorate([
2643
+ Struct.field(UInt64)
2644
+ ], resolve_results.prototype, "entity_id", void 0);
2645
+ __decorate([
2646
+ Struct.field(Name)
2647
+ ], resolve_results.prototype, "entity_type", void 0);
2648
+ __decorate([
2649
+ Struct.field(UInt32)
2650
+ ], resolve_results.prototype, "resolved_count", void 0);
2651
+ __decorate([
2652
+ Struct.field(TimePoint, { optional: true })
2653
+ ], resolve_results.prototype, "new_schedule_started", void 0);
2654
+ __decorate([
2655
+ Struct.field(UInt64, { optional: true })
2656
+ ], resolve_results.prototype, "entitygroup", void 0);
2657
+ __decorate([
2658
+ Struct.field(entity_ref, { array: true, optional: true })
2659
+ ], resolve_results.prototype, "group_members", void 0);
2660
+ resolve_results = __decorate([
2661
+ Struct.type('resolve_results')
2662
+ ], resolve_results);
2663
+ Types.resolve_results = resolve_results;
2664
+ let resolveall = class resolveall extends Struct {
2665
+ };
2666
+ __decorate([
2667
+ Struct.field(Name)
2668
+ ], resolveall.prototype, "owner", void 0);
2669
+ resolveall = __decorate([
2670
+ Struct.type('resolveall')
2671
+ ], resolveall);
2672
+ Types.resolveall = resolveall;
2673
+ let resolveall_results = class resolveall_results extends Struct {
2674
+ };
2675
+ __decorate([
2676
+ Struct.field(UInt32)
2677
+ ], resolveall_results.prototype, "scanned", void 0);
2678
+ __decorate([
2679
+ Struct.field(UInt32)
2680
+ ], resolveall_results.prototype, "resolved", void 0);
2681
+ resolveall_results = __decorate([
2682
+ Struct.type('resolveall_results')
2683
+ ], resolveall_results);
2684
+ Types.resolveall_results = resolveall_results;
2685
+ let resource_info = class resource_info extends Struct {
2686
+ };
2687
+ __decorate([
2688
+ Struct.field(UInt16)
2689
+ ], resource_info.prototype, "id", void 0);
2690
+ __decorate([
2691
+ Struct.field(UInt32)
2692
+ ], resource_info.prototype, "mass", void 0);
2693
+ __decorate([
2694
+ Struct.field(UInt8)
2695
+ ], resource_info.prototype, "category", void 0);
2696
+ __decorate([
2697
+ Struct.field(UInt8)
2698
+ ], resource_info.prototype, "tier", void 0);
2699
+ resource_info = __decorate([
2700
+ Struct.type('resource_info')
2701
+ ], resource_info);
2702
+ Types.resource_info = resource_info;
2703
+ let resource_stats = class resource_stats extends Struct {
2704
+ };
2705
+ __decorate([
2706
+ Struct.field(UInt16)
2707
+ ], resource_stats.prototype, "stat1", void 0);
2708
+ __decorate([
2709
+ Struct.field(UInt16)
2710
+ ], resource_stats.prototype, "stat2", void 0);
2711
+ __decorate([
2712
+ Struct.field(UInt16)
2713
+ ], resource_stats.prototype, "stat3", void 0);
2714
+ resource_stats = __decorate([
2715
+ Struct.type('resource_stats')
2716
+ ], resource_stats);
2717
+ Types.resource_stats = resource_stats;
2718
+ let resources_result = class resources_result extends Struct {
2719
+ };
2720
+ __decorate([
2721
+ Struct.field(resource_info, { array: true })
2722
+ ], resources_result.prototype, "resources", void 0);
2723
+ resources_result = __decorate([
2724
+ Struct.type('resources_result')
2725
+ ], resources_result);
2726
+ Types.resources_result = resources_result;
2727
+ let reveal = class reveal extends Struct {
2728
+ };
2729
+ __decorate([
2730
+ Struct.field(Name)
2731
+ ], reveal.prototype, "oracle_id", void 0);
2732
+ __decorate([
2733
+ Struct.field(UInt64)
2734
+ ], reveal.prototype, "epoch", void 0);
2735
+ __decorate([
2736
+ Struct.field(Checksum256)
2737
+ ], reveal.prototype, "reveal", void 0);
2738
+ reveal = __decorate([
2739
+ Struct.type('reveal')
2740
+ ], reveal);
2741
+ Types.reveal = reveal;
2742
+ let reveal_row = class reveal_row extends Struct {
2743
+ };
2744
+ __decorate([
2745
+ Struct.field(UInt64)
2746
+ ], reveal_row.prototype, "id", void 0);
2747
+ __decorate([
2748
+ Struct.field(UInt64)
2749
+ ], reveal_row.prototype, "epoch", void 0);
2750
+ __decorate([
2751
+ Struct.field(Name)
2752
+ ], reveal_row.prototype, "oracle_id", void 0);
2753
+ __decorate([
2754
+ Struct.field(Checksum256)
2755
+ ], reveal_row.prototype, "reveal", void 0);
2756
+ reveal_row = __decorate([
2757
+ Struct.type('reveal_row')
2758
+ ], reveal_row);
2759
+ Types.reveal_row = reveal_row;
2760
+ let rmmodule = class rmmodule extends Struct {
2761
+ };
2762
+ __decorate([
2763
+ Struct.field(UInt64)
2764
+ ], rmmodule.prototype, "entity_id", void 0);
2765
+ __decorate([
2766
+ Struct.field(UInt8)
2767
+ ], rmmodule.prototype, "module_index", void 0);
2768
+ __decorate([
2769
+ Struct.field(cargo_ref, { optional: true })
2770
+ ], rmmodule.prototype, "target_ref", void 0);
2771
+ rmmodule = __decorate([
2772
+ Struct.type('rmmodule')
2773
+ ], rmmodule);
2774
+ Types.rmmodule = rmmodule;
2775
+ let rmnftcfg = class rmnftcfg extends Struct {
2776
+ };
2777
+ __decorate([
2778
+ Struct.field(UInt16)
2779
+ ], rmnftcfg.prototype, "item_id", void 0);
2780
+ rmnftcfg = __decorate([
2781
+ Struct.type('rmnftcfg')
2782
+ ], rmnftcfg);
2783
+ Types.rmnftcfg = rmnftcfg;
2784
+ let setcoords = class setcoords extends Struct {
2785
+ };
2786
+ __decorate([
2787
+ Struct.field(UInt64)
2788
+ ], setcoords.prototype, "entity_id", void 0);
2789
+ __decorate([
2790
+ Struct.field(Int64)
2791
+ ], setcoords.prototype, "x", void 0);
2792
+ __decorate([
2793
+ Struct.field(Int64)
2794
+ ], setcoords.prototype, "y", void 0);
2795
+ setcoords = __decorate([
2796
+ Struct.type('setcoords')
2797
+ ], setcoords);
2798
+ Types.setcoords = setcoords;
2799
+ let setnftcfg = class setnftcfg extends Struct {
2800
+ };
2801
+ __decorate([
2802
+ Struct.field(UInt16)
2803
+ ], setnftcfg.prototype, "item_id", void 0);
2804
+ __decorate([
2805
+ Struct.field(Int32)
2806
+ ], setnftcfg.prototype, "template_id", void 0);
2807
+ __decorate([
2808
+ Struct.field(Name)
2809
+ ], setnftcfg.prototype, "schema_name", void 0);
2810
+ setnftcfg = __decorate([
2811
+ Struct.type('setnftcfg')
2812
+ ], setnftcfg);
2813
+ Types.setnftcfg = setnftcfg;
2814
+ let setthreshold = class setthreshold extends Struct {
2815
+ };
2816
+ __decorate([
2817
+ Struct.field(UInt8)
2818
+ ], setthreshold.prototype, "threshold", void 0);
2819
+ setthreshold = __decorate([
2820
+ Struct.type('setthreshold')
2821
+ ], setthreshold);
2822
+ Types.setthreshold = setthreshold;
2823
+ let setwrapcost = class setwrapcost extends Struct {
2824
+ };
2825
+ __decorate([
2826
+ Struct.field(UInt8)
2827
+ ], setwrapcost.prototype, "item_type", void 0);
2828
+ __decorate([
2829
+ Struct.field(UInt8)
2830
+ ], setwrapcost.prototype, "tier", void 0);
2831
+ __decorate([
2832
+ Struct.field(UInt64)
2833
+ ], setwrapcost.prototype, "amount", void 0);
2834
+ setwrapcost = __decorate([
2835
+ Struct.type('setwrapcost')
2836
+ ], setwrapcost);
2837
+ Types.setwrapcost = setwrapcost;
2838
+ let setwrapfee = class setwrapfee extends Struct {
2839
+ };
2840
+ __decorate([
2841
+ Struct.field(UInt16)
2842
+ ], setwrapfee.prototype, "fee_pct", void 0);
2843
+ __decorate([
2844
+ Struct.field(Name)
2845
+ ], setwrapfee.prototype, "fee_account", void 0);
2846
+ setwrapfee = __decorate([
2847
+ Struct.type('setwrapfee')
2848
+ ], setwrapfee);
2849
+ Types.setwrapfee = setwrapfee;
2850
+ let stowcargo = class stowcargo extends Struct {
2851
+ };
2852
+ __decorate([
2853
+ Struct.field(Name)
2854
+ ], stowcargo.prototype, "owner", void 0);
2855
+ __decorate([
2856
+ Struct.field(UInt64)
2857
+ ], stowcargo.prototype, "entity_id", void 0);
2858
+ __decorate([
2859
+ Struct.field(UInt64)
2860
+ ], stowcargo.prototype, "nexus_id", void 0);
2861
+ __decorate([
2862
+ Struct.field(UInt64)
2863
+ ], stowcargo.prototype, "cargo_id", void 0);
2864
+ __decorate([
2865
+ Struct.field(UInt64)
2866
+ ], stowcargo.prototype, "quantity", void 0);
2867
+ stowcargo = __decorate([
2868
+ Struct.type('stowcargo')
2869
+ ], stowcargo);
2870
+ Types.stowcargo = stowcargo;
2871
+ let stowentity = class stowentity extends Struct {
2872
+ };
2873
+ __decorate([
2874
+ Struct.field(Name)
2875
+ ], stowentity.prototype, "owner", void 0);
2876
+ __decorate([
2877
+ Struct.field(UInt64)
2878
+ ], stowentity.prototype, "entity_id", void 0);
2879
+ __decorate([
2880
+ Struct.field(UInt64)
2881
+ ], stowentity.prototype, "nexus_id", void 0);
2882
+ stowentity = __decorate([
2883
+ Struct.type('stowentity')
2884
+ ], stowentity);
2885
+ Types.stowentity = stowentity;
2886
+ let stratum_info = class stratum_info extends Struct {
2887
+ };
2888
+ __decorate([
2889
+ Struct.field(UInt16)
2890
+ ], stratum_info.prototype, "item_id", void 0);
2891
+ __decorate([
2892
+ Struct.field(UInt64)
2893
+ ], stratum_info.prototype, "seed", void 0);
2894
+ __decorate([
2895
+ Struct.field(UInt16)
2896
+ ], stratum_info.prototype, "richness", void 0);
2897
+ __decorate([
2898
+ Struct.field(UInt32)
2899
+ ], stratum_info.prototype, "reserve", void 0);
2900
+ __decorate([
2901
+ Struct.field(UInt32)
2902
+ ], stratum_info.prototype, "reserve_max", void 0);
2903
+ stratum_info = __decorate([
2904
+ Struct.type('stratum_info')
2905
+ ], stratum_info);
2906
+ Types.stratum_info = stratum_info;
2907
+ let stratum_data = class stratum_data extends Struct {
2908
+ };
2909
+ __decorate([
2910
+ Struct.field(stratum_info)
2911
+ ], stratum_data.prototype, "stratum", void 0);
2912
+ __decorate([
2913
+ Struct.field(resource_stats)
2914
+ ], stratum_data.prototype, "stats", void 0);
2915
+ stratum_data = __decorate([
2916
+ Struct.type('stratum_data')
2917
+ ], stratum_data);
2918
+ Types.stratum_data = stratum_data;
2919
+ let stratum_remaining = class stratum_remaining extends Struct {
2920
+ };
2921
+ __decorate([
2922
+ Struct.field(UInt16)
2923
+ ], stratum_remaining.prototype, "stratum", void 0);
2924
+ __decorate([
2925
+ Struct.field(UInt32)
2926
+ ], stratum_remaining.prototype, "remaining", void 0);
2927
+ __decorate([
2928
+ Struct.field(BlockTimestamp)
2929
+ ], stratum_remaining.prototype, "last_block", void 0);
2930
+ stratum_remaining = __decorate([
2931
+ Struct.type('stratum_remaining')
2932
+ ], stratum_remaining);
2933
+ Types.stratum_remaining = stratum_remaining;
2934
+ let swapmodule = class swapmodule extends Struct {
2935
+ };
2936
+ __decorate([
2937
+ Struct.field(UInt64)
2938
+ ], swapmodule.prototype, "entity_id", void 0);
2939
+ __decorate([
2940
+ Struct.field(UInt8)
2941
+ ], swapmodule.prototype, "module_index", void 0);
2942
+ __decorate([
2943
+ Struct.field(cargo_ref)
2944
+ ], swapmodule.prototype, "module_ref", void 0);
2945
+ swapmodule = __decorate([
2946
+ Struct.type('swapmodule')
2947
+ ], swapmodule);
2948
+ Types.swapmodule = swapmodule;
2949
+ let swaptile = class swaptile extends Struct {
2950
+ };
2951
+ __decorate([
2952
+ Struct.field(UInt64)
2953
+ ], swaptile.prototype, "hub_id", void 0);
2954
+ __decorate([
2955
+ Struct.field(Int8)
2956
+ ], swaptile.prototype, "a_gx", void 0);
2957
+ __decorate([
2958
+ Struct.field(Int8)
2959
+ ], swaptile.prototype, "a_gy", void 0);
2960
+ __decorate([
2961
+ Struct.field(Int8)
2962
+ ], swaptile.prototype, "b_gx", void 0);
2963
+ __decorate([
2964
+ Struct.field(Int8)
2965
+ ], swaptile.prototype, "b_gy", void 0);
2966
+ swaptile = __decorate([
2967
+ Struct.type('swaptile')
2968
+ ], swaptile);
2969
+ Types.swaptile = swaptile;
2970
+ let task_results = class task_results extends Struct {
2971
+ };
2972
+ __decorate([
2973
+ Struct.field(entity_task_info, { array: true })
2974
+ ], task_results.prototype, "entities", void 0);
2975
+ task_results = __decorate([
2976
+ Struct.type('task_results')
2977
+ ], task_results);
2978
+ Types.task_results = task_results;
2979
+ let transit = class transit extends Struct {
2980
+ };
2981
+ __decorate([
2982
+ Struct.field(UInt64)
2983
+ ], transit.prototype, "id", void 0);
2984
+ __decorate([
2985
+ Struct.field(Int64)
2986
+ ], transit.prototype, "ax", void 0);
2987
+ __decorate([
2988
+ Struct.field(Int64)
2989
+ ], transit.prototype, "ay", void 0);
2990
+ __decorate([
2991
+ Struct.field(Int64)
2992
+ ], transit.prototype, "bx", void 0);
2993
+ __decorate([
2994
+ Struct.field(Int64)
2995
+ ], transit.prototype, "by", void 0);
2996
+ transit = __decorate([
2997
+ Struct.type('transit')
2998
+ ], transit);
2999
+ Types.transit = transit;
3000
+ let travel = class travel extends Struct {
3001
+ };
3002
+ __decorate([
3003
+ Struct.field(UInt64)
3004
+ ], travel.prototype, "id", void 0);
3005
+ __decorate([
3006
+ Struct.field(Int64)
3007
+ ], travel.prototype, "x", void 0);
3008
+ __decorate([
3009
+ Struct.field(Int64)
3010
+ ], travel.prototype, "y", void 0);
3011
+ __decorate([
3012
+ Struct.field('bool')
3013
+ ], travel.prototype, "recharge", void 0);
3014
+ travel = __decorate([
3015
+ Struct.type('travel')
3016
+ ], travel);
3017
+ Types.travel = travel;
3018
+ let types_row = class types_row extends Struct {
3019
+ };
3020
+ __decorate([
3021
+ Struct.field(UInt64)
3022
+ ], types_row.prototype, "id", void 0);
3023
+ __decorate([
3024
+ Struct.field(entity_summary)
3025
+ ], types_row.prototype, "entity_summary_type", void 0);
3026
+ __decorate([
3027
+ Struct.field(game_config)
3028
+ ], types_row.prototype, "game_config_type", void 0);
3029
+ __decorate([
3030
+ Struct.field(stratum_remaining)
3031
+ ], types_row.prototype, "stratum_remaining_type", void 0);
3032
+ __decorate([
3033
+ Struct.field(nft_item_payload)
3034
+ ], types_row.prototype, "nft_item_payload_type", void 0);
3035
+ types_row = __decorate([
3036
+ Struct.type('types_row')
3037
+ ], types_row);
3038
+ Types.types_row = types_row;
3039
+ let undeploy = class undeploy extends Struct {
3040
+ };
3041
+ __decorate([
3042
+ Struct.field(UInt64)
3043
+ ], undeploy.prototype, "host_id", void 0);
3044
+ __decorate([
3045
+ Struct.field(UInt64)
3046
+ ], undeploy.prototype, "target_id", void 0);
3047
+ undeploy = __decorate([
3048
+ Struct.type('undeploy')
3049
+ ], undeploy);
3050
+ Types.undeploy = undeploy;
3051
+ let unload = class unload extends Struct {
3052
+ };
3053
+ __decorate([
3054
+ Struct.field(UInt64)
3055
+ ], unload.prototype, "id", void 0);
3056
+ __decorate([
3057
+ Struct.field(UInt64)
3058
+ ], unload.prototype, "to_id", void 0);
3059
+ __decorate([
3060
+ Struct.field(cargo_item, { array: true })
3061
+ ], unload.prototype, "items", void 0);
3062
+ unload = __decorate([
3063
+ Struct.type('unload')
3064
+ ], unload);
3065
+ Types.unload = unload;
3066
+ let upgrade = class upgrade extends Struct {
3067
+ };
3068
+ __decorate([
3069
+ Struct.field(UInt64)
3070
+ ], upgrade.prototype, "builder_id", void 0);
3071
+ __decorate([
3072
+ Struct.field(UInt64)
3073
+ ], upgrade.prototype, "target_id", void 0);
3074
+ __decorate([
3075
+ Struct.field(UInt16)
3076
+ ], upgrade.prototype, "target_item_id", void 0);
3077
+ __decorate([
3078
+ Struct.field(cargo_item, { array: true })
3079
+ ], upgrade.prototype, "inputs", void 0);
3080
+ __decorate([
3081
+ Struct.field(UInt8, { optional: true })
3082
+ ], upgrade.prototype, "slot", void 0);
3083
+ upgrade = __decorate([
3084
+ Struct.type('upgrade')
3085
+ ], upgrade);
3086
+ Types.upgrade = upgrade;
3087
+ let warp = class warp extends Struct {
3088
+ };
3089
+ __decorate([
3090
+ Struct.field(UInt64)
3091
+ ], warp.prototype, "id", void 0);
3092
+ __decorate([
3093
+ Struct.field(Int64)
3094
+ ], warp.prototype, "x", void 0);
3095
+ __decorate([
3096
+ Struct.field(Int64)
3097
+ ], warp.prototype, "y", void 0);
3098
+ warp = __decorate([
3099
+ Struct.type('warp')
3100
+ ], warp);
3101
+ Types.warp = warp;
3102
+ let wipe = class wipe extends Struct {
3103
+ };
3104
+ wipe = __decorate([
3105
+ Struct.type('wipe')
3106
+ ], wipe);
3107
+ Types.wipe = wipe;
3108
+ let wormhole_info = class wormhole_info extends Struct {
3109
+ };
3110
+ __decorate([
3111
+ Struct.field(coordinates)
3112
+ ], wormhole_info.prototype, "coords", void 0);
3113
+ __decorate([
3114
+ Struct.field('bool')
3115
+ ], wormhole_info.prototype, "is_wormhole", void 0);
3116
+ __decorate([
3117
+ Struct.field(coordinates)
3118
+ ], wormhole_info.prototype, "destination", void 0);
3119
+ wormhole_info = __decorate([
3120
+ Struct.type('wormhole_info')
3121
+ ], wormhole_info);
3122
+ Types.wormhole_info = wormhole_info;
3123
+ let wrapconfig_row = class wrapconfig_row extends Struct {
3124
+ };
3125
+ __decorate([
3126
+ Struct.field(UInt16)
3127
+ ], wrapconfig_row.prototype, "fee_pct", void 0);
3128
+ __decorate([
3129
+ Struct.field(Name)
3130
+ ], wrapconfig_row.prototype, "fee_account", void 0);
3131
+ wrapconfig_row = __decorate([
3132
+ Struct.type('wrapconfig_row')
3133
+ ], wrapconfig_row);
3134
+ Types.wrapconfig_row = wrapconfig_row;
3135
+ let wrapcost_row = class wrapcost_row extends Struct {
3136
+ };
3137
+ __decorate([
3138
+ Struct.field(UInt8)
3139
+ ], wrapcost_row.prototype, "item_type", void 0);
3140
+ __decorate([
3141
+ Struct.field(UInt8)
3142
+ ], wrapcost_row.prototype, "tier", void 0);
3143
+ __decorate([
3144
+ Struct.field(UInt64)
3145
+ ], wrapcost_row.prototype, "amount", void 0);
3146
+ wrapcost_row = __decorate([
3147
+ Struct.type('wrapcost_row')
3148
+ ], wrapcost_row);
3149
+ Types.wrapcost_row = wrapcost_row;
3150
+ })(Types || (Types = {}));
3151
+ ({
3152
+ cargo: Types.cargo_row,
3153
+ claims: Types.claim_row,
3154
+ cluster: Types.cluster_row,
3155
+ commit: Types.commit_row,
3156
+ entity: Types.entity_row,
3157
+ entitygroup: Types.entitygroup_row,
3158
+ entityseq: Types.entity_seq_row,
3159
+ epoch: Types.epoch_row,
3160
+ nftconfig: Types.nftconfig_row,
3161
+ oraclecfg: Types.oracle_config_row,
3162
+ oracles: Types.oracle_row,
3163
+ player: Types.player_row,
3164
+ reserve: Types.reserve_row,
3165
+ reveal: Types.reveal_row,
3166
+ state: Types.state_row,
3167
+ types: Types.types_row,
3168
+ wrapconfig: Types.wrapconfig_row,
3169
+ wrapcost: Types.wrapcost_row,
3170
+ });
3171
+
3172
+ var items = [
3173
+ {
3174
+ id: 101,
3175
+ mass: 1000,
3176
+ type: "resource",
3177
+ tier: 1,
3178
+ category: "ore"
3179
+ },
3180
+ {
3181
+ id: 102,
3182
+ mass: 1000,
3183
+ type: "resource",
3184
+ tier: 2,
3185
+ category: "ore"
3186
+ },
3187
+ {
3188
+ id: 103,
3189
+ mass: 1000,
3190
+ type: "resource",
3191
+ tier: 3,
3192
+ category: "ore"
3193
+ },
3194
+ {
3195
+ id: 104,
3196
+ mass: 1000,
3197
+ type: "resource",
3198
+ tier: 4,
3199
+ category: "ore"
3200
+ },
3201
+ {
3202
+ id: 105,
3203
+ mass: 1000,
3204
+ type: "resource",
3205
+ tier: 5,
3206
+ category: "ore"
3207
+ },
3208
+ {
3209
+ id: 106,
3210
+ mass: 1000,
3211
+ type: "resource",
3212
+ tier: 6,
3213
+ category: "ore"
3214
+ },
3215
+ {
3216
+ id: 107,
3217
+ mass: 1000,
3218
+ type: "resource",
3219
+ tier: 7,
3220
+ category: "ore"
3221
+ },
3222
+ {
3223
+ id: 108,
3224
+ mass: 1000,
3225
+ type: "resource",
3226
+ tier: 8,
3227
+ category: "ore"
3228
+ },
3229
+ {
3230
+ id: 109,
3231
+ mass: 1000,
3232
+ type: "resource",
3233
+ tier: 9,
3234
+ category: "ore"
3235
+ },
3236
+ {
3237
+ id: 110,
3238
+ mass: 1000,
3239
+ type: "resource",
3240
+ tier: 10,
3241
+ category: "ore"
3242
+ },
3243
+ {
3244
+ id: 201,
3245
+ mass: 1000,
3246
+ type: "resource",
3247
+ tier: 1,
3248
+ category: "crystal"
3249
+ },
3250
+ {
3251
+ id: 202,
3252
+ mass: 1000,
3253
+ type: "resource",
3254
+ tier: 2,
3255
+ category: "crystal"
3256
+ },
3257
+ {
3258
+ id: 203,
3259
+ mass: 1000,
3260
+ type: "resource",
3261
+ tier: 3,
3262
+ category: "crystal"
3263
+ },
3264
+ {
3265
+ id: 204,
3266
+ mass: 1000,
3267
+ type: "resource",
3268
+ tier: 4,
3269
+ category: "crystal"
3270
+ },
3271
+ {
3272
+ id: 205,
3273
+ mass: 1000,
3274
+ type: "resource",
3275
+ tier: 5,
3276
+ category: "crystal"
3277
+ },
3278
+ {
3279
+ id: 206,
3280
+ mass: 1000,
3281
+ type: "resource",
3282
+ tier: 6,
3283
+ category: "crystal"
3284
+ },
3285
+ {
3286
+ id: 207,
3287
+ mass: 1000,
3288
+ type: "resource",
3289
+ tier: 7,
3290
+ category: "crystal"
3291
+ },
3292
+ {
3293
+ id: 208,
3294
+ mass: 1000,
3295
+ type: "resource",
3296
+ tier: 8,
3297
+ category: "crystal"
3298
+ },
3299
+ {
3300
+ id: 209,
3301
+ mass: 1000,
3302
+ type: "resource",
3303
+ tier: 9,
3304
+ category: "crystal"
3305
+ },
3306
+ {
3307
+ id: 210,
3308
+ mass: 1000,
3309
+ type: "resource",
3310
+ tier: 10,
3311
+ category: "crystal"
3312
+ },
3313
+ {
3314
+ id: 301,
3315
+ mass: 1000,
3316
+ type: "resource",
3317
+ tier: 1,
3318
+ category: "gas"
3319
+ },
3320
+ {
3321
+ id: 302,
3322
+ mass: 1000,
3323
+ type: "resource",
3324
+ tier: 2,
3325
+ category: "gas"
3326
+ },
3327
+ {
3328
+ id: 303,
3329
+ mass: 1000,
3330
+ type: "resource",
3331
+ tier: 3,
3332
+ category: "gas"
3333
+ },
3334
+ {
3335
+ id: 304,
3336
+ mass: 1000,
3337
+ type: "resource",
3338
+ tier: 4,
3339
+ category: "gas"
3340
+ },
3341
+ {
3342
+ id: 305,
3343
+ mass: 1000,
3344
+ type: "resource",
3345
+ tier: 5,
3346
+ category: "gas"
3347
+ },
3348
+ {
3349
+ id: 306,
3350
+ mass: 1000,
3351
+ type: "resource",
3352
+ tier: 6,
3353
+ category: "gas"
3354
+ },
3355
+ {
3356
+ id: 307,
3357
+ mass: 1000,
3358
+ type: "resource",
3359
+ tier: 7,
3360
+ category: "gas"
3361
+ },
3362
+ {
3363
+ id: 308,
3364
+ mass: 1000,
3365
+ type: "resource",
3366
+ tier: 8,
3367
+ category: "gas"
3368
+ },
3369
+ {
3370
+ id: 309,
3371
+ mass: 1000,
3372
+ type: "resource",
3373
+ tier: 9,
3374
+ category: "gas"
3375
+ },
3376
+ {
3377
+ id: 310,
3378
+ mass: 1000,
3379
+ type: "resource",
3380
+ tier: 10,
3381
+ category: "gas"
3382
+ },
3383
+ {
3384
+ id: 401,
3385
+ mass: 1000,
3386
+ type: "resource",
3387
+ tier: 1,
3388
+ category: "regolith"
3389
+ },
3390
+ {
3391
+ id: 402,
3392
+ mass: 1000,
3393
+ type: "resource",
3394
+ tier: 2,
3395
+ category: "regolith"
3396
+ },
3397
+ {
3398
+ id: 403,
3399
+ mass: 1000,
3400
+ type: "resource",
3401
+ tier: 3,
3402
+ category: "regolith"
3403
+ },
3404
+ {
3405
+ id: 404,
3406
+ mass: 1000,
3407
+ type: "resource",
3408
+ tier: 4,
3409
+ category: "regolith"
3410
+ },
3411
+ {
3412
+ id: 405,
3413
+ mass: 1000,
3414
+ type: "resource",
3415
+ tier: 5,
3416
+ category: "regolith"
3417
+ },
3418
+ {
3419
+ id: 406,
3420
+ mass: 1000,
3421
+ type: "resource",
3422
+ tier: 6,
3423
+ category: "regolith"
3424
+ },
3425
+ {
3426
+ id: 407,
3427
+ mass: 1000,
3428
+ type: "resource",
3429
+ tier: 7,
3430
+ category: "regolith"
3431
+ },
3432
+ {
3433
+ id: 408,
3434
+ mass: 1000,
3435
+ type: "resource",
3436
+ tier: 8,
3437
+ category: "regolith"
3438
+ },
3439
+ {
3440
+ id: 409,
3441
+ mass: 1000,
3442
+ type: "resource",
3443
+ tier: 9,
3444
+ category: "regolith"
3445
+ },
3446
+ {
3447
+ id: 410,
3448
+ mass: 1000,
3449
+ type: "resource",
3450
+ tier: 10,
3451
+ category: "regolith"
3452
+ },
3453
+ {
3454
+ id: 501,
3455
+ mass: 1000,
3456
+ type: "resource",
3457
+ tier: 1,
3458
+ category: "biomass"
3459
+ },
3460
+ {
3461
+ id: 502,
3462
+ mass: 1000,
3463
+ type: "resource",
3464
+ tier: 2,
3465
+ category: "biomass"
3466
+ },
3467
+ {
3468
+ id: 503,
3469
+ mass: 1000,
3470
+ type: "resource",
3471
+ tier: 3,
3472
+ category: "biomass"
3473
+ },
3474
+ {
3475
+ id: 504,
3476
+ mass: 1000,
3477
+ type: "resource",
3478
+ tier: 4,
3479
+ category: "biomass"
3480
+ },
3481
+ {
3482
+ id: 505,
3483
+ mass: 1000,
3484
+ type: "resource",
3485
+ tier: 5,
3486
+ category: "biomass"
3487
+ },
3488
+ {
3489
+ id: 506,
3490
+ mass: 1000,
3491
+ type: "resource",
3492
+ tier: 6,
3493
+ category: "biomass"
3494
+ },
3495
+ {
3496
+ id: 507,
3497
+ mass: 1000,
3498
+ type: "resource",
3499
+ tier: 7,
3500
+ category: "biomass"
3501
+ },
3502
+ {
3503
+ id: 508,
3504
+ mass: 1000,
3505
+ type: "resource",
3506
+ tier: 8,
3507
+ category: "biomass"
3508
+ },
3509
+ {
3510
+ id: 509,
3511
+ mass: 1000,
3512
+ type: "resource",
3513
+ tier: 9,
3514
+ category: "biomass"
3515
+ },
3516
+ {
3517
+ id: 510,
3518
+ mass: 1000,
3519
+ type: "resource",
3520
+ tier: 10,
3521
+ category: "biomass"
3522
+ },
3523
+ {
3524
+ id: 10001,
3525
+ mass: 4000,
3526
+ type: "component",
3527
+ tier: 1
3528
+ },
3529
+ {
3530
+ id: 10002,
3531
+ mass: 4000,
3532
+ type: "component",
3533
+ tier: 1
3534
+ },
3535
+ {
3536
+ id: 10003,
3537
+ mass: 4000,
3538
+ type: "component",
3539
+ tier: 1
3540
+ },
3541
+ {
3542
+ id: 10004,
3543
+ mass: 4000,
3544
+ type: "component",
3545
+ tier: 1
3546
+ },
3547
+ {
3548
+ id: 10005,
3549
+ mass: 4000,
3550
+ type: "component",
3551
+ tier: 1
3552
+ },
3553
+ {
3554
+ id: 10006,
3555
+ mass: 4000,
3556
+ type: "component",
3557
+ tier: 1
3558
+ },
3559
+ {
3560
+ id: 10007,
3561
+ mass: 4000,
3562
+ type: "component",
3563
+ tier: 1
3564
+ },
3565
+ {
3566
+ id: 10008,
3567
+ mass: 4000,
3568
+ type: "component",
3569
+ tier: 1
3570
+ },
3571
+ {
3572
+ id: 10009,
3573
+ mass: 4000,
3574
+ type: "component",
3575
+ tier: 1
3576
+ },
3577
+ {
3578
+ id: 10010,
3579
+ mass: 4000,
3580
+ type: "component",
3581
+ tier: 1
3582
+ },
3583
+ {
3584
+ id: 10100,
3585
+ mass: 960000,
3586
+ type: "module",
3587
+ tier: 1,
3588
+ subtype: "engine"
3589
+ },
3590
+ {
3591
+ id: 10101,
3592
+ mass: 960000,
3593
+ type: "module",
3594
+ tier: 1,
3595
+ subtype: "generator"
3596
+ },
3597
+ {
3598
+ id: 10102,
3599
+ mass: 960000,
3600
+ type: "module",
3601
+ tier: 1,
3602
+ subtype: "gatherer"
3603
+ },
3604
+ {
3605
+ id: 10103,
3606
+ mass: 960000,
3607
+ type: "module",
3608
+ tier: 1,
3609
+ subtype: "loader"
3610
+ },
3611
+ {
3612
+ id: 10104,
3613
+ mass: 960000,
3614
+ type: "module",
3615
+ tier: 1,
3616
+ subtype: "crafter"
3617
+ },
3618
+ {
3619
+ id: 10105,
3620
+ mass: 960000,
3621
+ type: "module",
3622
+ tier: 1,
3623
+ subtype: "storage"
3624
+ },
3625
+ {
3626
+ id: 10106,
3627
+ mass: 960000,
3628
+ type: "module",
3629
+ tier: 1,
3630
+ subtype: "hauler"
3631
+ },
3632
+ {
3633
+ id: 10107,
3634
+ mass: 960000,
3635
+ type: "module",
3636
+ tier: 1,
3637
+ subtype: "warp"
3638
+ },
3639
+ {
3640
+ id: 10108,
3641
+ mass: 960000,
3642
+ type: "module",
3643
+ tier: 1,
3644
+ subtype: "battery"
3645
+ },
3646
+ {
3647
+ id: 10109,
3648
+ mass: 1000000,
3649
+ type: "module",
3650
+ tier: 1,
3651
+ subtype: "launcher"
3652
+ },
3653
+ {
3654
+ id: 10200,
3655
+ mass: 1900000,
3656
+ type: "entity",
3657
+ tier: 1
3658
+ },
3659
+ {
3660
+ id: 10201,
3661
+ mass: 2400000,
3662
+ type: "entity",
3663
+ tier: 1
3664
+ },
3665
+ {
3666
+ id: 10202,
3667
+ mass: 3200000,
3668
+ type: "entity",
3669
+ tier: 1
3670
+ },
3671
+ {
3672
+ id: 10203,
3673
+ mass: 1900000,
3674
+ type: "entity",
3675
+ tier: 1
3676
+ },
3677
+ {
3678
+ id: 10204,
3679
+ mass: 1900000,
3680
+ type: "entity",
3681
+ tier: 1
3682
+ },
3683
+ {
3684
+ id: 10205,
3685
+ mass: 8000000,
3686
+ type: "entity",
3687
+ tier: 1
3688
+ },
3689
+ {
3690
+ id: 10206,
3691
+ mass: 8000000,
3692
+ type: "entity",
3693
+ tier: 1
3694
+ },
3695
+ {
3696
+ id: 10207,
3697
+ mass: 2400000,
3698
+ type: "entity",
3699
+ tier: 1
3700
+ },
3701
+ {
3702
+ id: 20001,
3703
+ mass: 4800,
3704
+ type: "component",
3705
+ tier: 2
3706
+ },
3707
+ {
3708
+ id: 20002,
3709
+ mass: 4800,
3710
+ type: "component",
3711
+ tier: 2
3712
+ },
3713
+ {
3714
+ id: 20003,
3715
+ mass: 4800,
3716
+ type: "component",
3717
+ tier: 2
3718
+ },
3719
+ {
3720
+ id: 20004,
3721
+ mass: 4800,
3722
+ type: "component",
3723
+ tier: 2
3724
+ },
3725
+ {
3726
+ id: 20005,
3727
+ mass: 4800,
3728
+ type: "component",
3729
+ tier: 2
3730
+ },
3731
+ {
3732
+ id: 20006,
3733
+ mass: 4800,
3734
+ type: "component",
3735
+ tier: 2
3736
+ },
3737
+ {
3738
+ id: 20007,
3739
+ mass: 4800,
3740
+ type: "component",
3741
+ tier: 2
3742
+ },
3743
+ {
3744
+ id: 20008,
3745
+ mass: 4800,
3746
+ type: "component",
3747
+ tier: 2
3748
+ },
3749
+ {
3750
+ id: 20009,
3751
+ mass: 4800,
3752
+ type: "component",
3753
+ tier: 2
3754
+ },
3755
+ {
3756
+ id: 20010,
3757
+ mass: 4800,
3758
+ type: "component",
3759
+ tier: 2
3760
+ },
3761
+ {
3762
+ id: 20102,
3763
+ mass: 1536000,
3764
+ type: "module",
3765
+ tier: 2,
3766
+ subtype: "gatherer"
3767
+ },
3768
+ {
3769
+ id: 20106,
3770
+ mass: 1536000,
3771
+ type: "module",
3772
+ tier: 2,
3773
+ subtype: "hauler"
3774
+ },
3775
+ {
3776
+ id: 20200,
3777
+ mass: 3100000,
3778
+ type: "entity",
3779
+ tier: 2
3780
+ },
3781
+ {
3782
+ id: 20210,
3783
+ mass: 3840000,
3784
+ type: "entity",
3785
+ tier: 2
3786
+ },
3787
+ {
3788
+ id: 20211,
3789
+ mass: 3840000,
3790
+ type: "entity",
3791
+ tier: 2
3792
+ }
3793
+ ];
3794
+
3795
+ const itemMetadata = {
3796
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
3797
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
3798
+ 103: {
3799
+ name: 'Ore',
3800
+ description: 'High-grade metallic ore with exceptional density.',
3801
+ color: '#C26D3F',
3802
+ },
3803
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
3804
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
3805
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
3806
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
3807
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
3808
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
3809
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
3810
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
3811
+ 202: {
3812
+ name: 'Crystal',
3813
+ description: 'Refined resonant crystal with improved clarity.',
3814
+ color: '#4ADBFF',
3815
+ },
3816
+ 203: {
3817
+ name: 'Crystal',
3818
+ description: 'High-grade resonant crystal with exceptional purity.',
3819
+ color: '#4ADBFF',
3820
+ },
3821
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
3822
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
3823
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
3824
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
3825
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
3826
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
3827
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
3828
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B877FF' },
3829
+ 302: {
3830
+ name: 'Gas',
3831
+ description: 'Refined volatile gas with improved reactivity.',
3832
+ color: '#B877FF',
3833
+ },
3834
+ 303: {
3835
+ name: 'Gas',
3836
+ description: 'High-grade volatile gas with exceptional energy density.',
3837
+ color: '#B877FF',
3838
+ },
3839
+ 304: { name: 'Gas', description: '', color: '#B877FF' },
3840
+ 305: { name: 'Gas', description: '', color: '#B877FF' },
3841
+ 306: { name: 'Gas', description: '', color: '#B877FF' },
3842
+ 307: { name: 'Gas', description: '', color: '#B877FF' },
3843
+ 308: { name: 'Gas', description: '', color: '#B877FF' },
3844
+ 309: { name: 'Gas', description: '', color: '#B877FF' },
3845
+ 310: { name: 'Gas', description: '', color: '#B877FF' },
3846
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
3847
+ 402: {
3848
+ name: 'Regolith',
3849
+ description: 'Refined regolith with improved fineness.',
3850
+ color: '#C4A57B',
3851
+ },
3852
+ 403: {
3853
+ name: 'Regolith',
3854
+ description: 'High-grade regolith with exceptional uniformity.',
3855
+ color: '#C4A57B',
3856
+ },
3857
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
3858
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
3859
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
3860
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
3861
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
3862
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
3863
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
3864
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
3865
+ 502: {
3866
+ name: 'Biomass',
3867
+ description: 'Refined biomass with improved plasticity.',
3868
+ color: '#5A8B3E',
3869
+ },
3870
+ 503: {
3871
+ name: 'Biomass',
3872
+ description: 'High-grade biomass with exceptional saturation.',
3873
+ color: '#5A8B3E',
3874
+ },
3875
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
3876
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
3877
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
3878
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
3879
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
3880
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
3881
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
3882
+ 10001: {
3883
+ name: 'Plate',
3884
+ description: 'Structural plating formed from ore. Used in hulls, containers, and storage modules.',
3885
+ color: '#7B8D9E',
3886
+ },
3887
+ 10002: {
3888
+ name: 'Frame',
3889
+ description: 'Composite framing formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
3890
+ color: '#C4A57B',
3891
+ },
3892
+ 10003: {
3893
+ name: 'Plasma Cell',
3894
+ description: 'High-energy gaseous storage cell. Volatile gas held under controlled thermal conditions.',
3895
+ color: '#E86344',
3896
+ },
3897
+ 10004: {
3898
+ name: 'Resonator',
3899
+ description: 'Crystalline resonance lattice. Stores and releases charge through coherent oscillation.',
3900
+ color: '#4ADBFF',
3901
+ },
3902
+ 10005: {
3903
+ name: 'Beam',
3904
+ description: 'Heavy-duty structural beam machined from refined ore. Strong enough to bear load, tolerant enough to survive harsh environments.',
3905
+ color: '#7B8D9E',
3906
+ },
3907
+ 10006: {
3908
+ name: 'Sensor',
3909
+ description: 'Crystal-lattice sensing element with conductive and reflective properties. Reads signal and surface alike.',
3910
+ color: '#4ADBFF',
3911
+ },
3912
+ 10007: {
3913
+ name: 'Polymer',
3914
+ description: 'Pliable biomass-derived polymer with high insulation. Flexible, durable, electrically inert.',
3915
+ color: '#5A8B3E',
3916
+ },
3917
+ 10008: {
3918
+ name: 'Ceramic',
3919
+ description: 'Hardened fine-grained ceramic refined from regolith. Hard enough to cut, fine enough to finish.',
3920
+ color: '#C4A57B',
3921
+ },
3922
+ 10009: {
3923
+ name: 'Reactor',
3924
+ description: 'Gas-pressurized vessel for controlled reactions. Vents heat and contains volatility.',
3925
+ color: '#B877FF',
3926
+ },
3927
+ 10010: {
3928
+ name: 'Resin',
3929
+ description: 'Saturated organic binder cured from biomass. A pliable matrix for haulage and field components.',
3930
+ color: '#5A8B3E',
3931
+ },
3932
+ 10100: {
3933
+ name: 'Engine',
3934
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
3935
+ color: '#E86344',
3936
+ },
3937
+ 10101: {
3938
+ name: 'Power Core',
3939
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
3940
+ color: '#4ADBFF',
3941
+ },
3942
+ 10102: {
3943
+ name: 'Limpet Bay',
3944
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
3945
+ color: '#7B8D9E',
3946
+ },
3947
+ 10103: {
3948
+ name: 'Shuttle Bay',
3949
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
3950
+ color: '#5A8B3E',
3951
+ },
3952
+ 10104: {
3953
+ name: 'Fabricator',
3954
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
3955
+ color: '#B877FF',
3956
+ },
3957
+ 10105: {
3958
+ name: 'Cargo Hold',
3959
+ description: 'Expanded cargo storage with reinforced internal holds.',
3960
+ color: '#8B7355',
3961
+ },
3962
+ 10106: {
3963
+ name: 'Tractor Beam',
3964
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
3965
+ color: '#4ADBFF',
3966
+ },
3967
+ 10107: {
3968
+ name: 'Warp Drive',
3969
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
3970
+ color: '#9be4ff',
3971
+ },
3972
+ 10108: {
3973
+ name: 'Battery Bank',
3974
+ description: 'Stores additional charge produced by the power core.',
3975
+ color: '#4ADBFF',
3976
+ },
3977
+ 10109: {
3978
+ name: 'Drive Coil',
3979
+ description: 'Accelerates and launches cargo payloads toward a remote mass catcher.',
3980
+ color: '#E86344',
3981
+ },
3982
+ 10200: {
3983
+ name: 'Container',
3984
+ description: 'Passive floating cargo storage in space. Towed by ships.',
3985
+ color: '#7B8D9E',
3986
+ },
3987
+ 10201: {
3988
+ name: 'Roustabout',
3989
+ description: 'General-purpose vessel with 5 module slots.',
3990
+ color: '#4AE898',
3991
+ },
3992
+ 10202: {
3993
+ name: 'Warehouse',
3994
+ description: 'Massive stationary storage facility with a single loader module slot.',
3995
+ color: '#EAB308',
3996
+ },
3997
+ 10203: {
3998
+ name: 'Mining Rig',
3999
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
4000
+ color: '#D4726F',
4001
+ },
4002
+ 10204: {
4003
+ name: 'Factory',
4004
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
4005
+ color: '#7BA7D4',
4006
+ },
4007
+ 10205: {
4008
+ name: 'Mass Driver',
4009
+ description: 'Planetary launch platform with power core and drive coil module slots.',
4010
+ color: '#E86344',
4011
+ },
4012
+ 10206: {
4013
+ name: 'Mass Catcher',
4014
+ description: 'Planetary receiving platform with storage module slots; catches launched payloads.',
4015
+ color: '#4AE898',
4016
+ },
4017
+ 10207: {
4018
+ name: 'Station Hub',
4019
+ description: 'Orbital command structure. Anchors a player station cluster.',
4020
+ color: '#A0B8D0',
4021
+ },
4022
+ 20001: {
4023
+ name: 'Plate',
4024
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
4025
+ color: '#9BADB8',
4026
+ },
4027
+ 20002: {
4028
+ name: 'Frame',
4029
+ description: 'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
4030
+ color: '#C4A57B',
4031
+ },
4032
+ 20003: {
4033
+ name: 'Plasma Cell',
4034
+ description: 'Advanced high-energy gaseous storage cell reinforced with tier 2 gas.',
4035
+ color: '#E86344',
4036
+ },
4037
+ 20004: {
4038
+ name: 'Resonator',
4039
+ description: 'Advanced crystalline resonance lattice reinforced with tier 2 crystal.',
4040
+ color: '#4ADBFF',
4041
+ },
4042
+ 20005: {
4043
+ name: 'Beam',
4044
+ description: 'Advanced heavy-duty structural beam reinforced with tier 2 ore.',
4045
+ color: '#7B8D9E',
4046
+ },
4047
+ 20006: {
4048
+ name: 'Sensor',
4049
+ description: 'Advanced crystal-lattice sensing element reinforced with tier 2 crystal.',
4050
+ color: '#4ADBFF',
4051
+ },
4052
+ 20007: {
4053
+ name: 'Polymer',
4054
+ description: 'Advanced pliable biomass-derived polymer reinforced with tier 2 biomass.',
4055
+ color: '#5A8B3E',
4056
+ },
4057
+ 20008: {
4058
+ name: 'Ceramic',
4059
+ description: 'Advanced hardened ceramic reinforced with tier 2 regolith.',
4060
+ color: '#C4A57B',
4061
+ },
4062
+ 20009: {
4063
+ name: 'Reactor',
4064
+ description: 'Advanced gas-pressurized reaction vessel reinforced with tier 2 gas.',
4065
+ color: '#B877FF',
4066
+ },
4067
+ 20010: {
4068
+ name: 'Resin',
4069
+ description: 'Advanced saturated organic binder reinforced with tier 2 biomass.',
4070
+ color: '#5A8B3E',
4071
+ },
4072
+ 20102: {
4073
+ name: 'Limpet Bay',
4074
+ description: 'Advanced gathering system. Reinforced probes and conduits for deeper yield.',
4075
+ color: '#7B8D9E',
4076
+ },
4077
+ 20106: {
4078
+ name: 'Tractor Beam',
4079
+ description: 'Advanced haul beam projector reinforced with tier 2 components for greater towing capacity.',
4080
+ color: '#4ADBFF',
4081
+ },
4082
+ 20200: {
4083
+ name: 'Container',
4084
+ description: 'Advanced cargo container with improved capacity formulas.',
4085
+ color: '#9BADB8',
4086
+ },
4087
+ 20210: {
4088
+ name: 'Prospector',
4089
+ description: 'Advanced exploration vessel with tiered engine, power core, and limpet bay slots.',
4090
+ color: '#4AE898',
4091
+ },
4092
+ 20211: {
4093
+ name: 'Hauler',
4094
+ description: 'Advanced towing vessel with tiered engine, generator, and tractor beam slots.',
4095
+ color: '#4AE898',
4096
+ },
4097
+ };
4098
+ for (const item of items) {
4099
+ if (!itemMetadata[item.id]) {
4100
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
4101
+ }
4102
+ }
4103
+
4104
+ var TaskType;
4105
+ (function (TaskType) {
4106
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
4107
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
4108
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
4109
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
4110
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
4111
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
4112
+ TaskType[TaskType["WARP"] = 6] = "WARP";
4113
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
4114
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
4115
+ TaskType[TaskType["TRANSIT"] = 9] = "TRANSIT";
4116
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
4117
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
4118
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
4119
+ TaskType[TaskType["CLAIMPLOT"] = 14] = "CLAIMPLOT";
4120
+ TaskType[TaskType["BUILDPLOT"] = 15] = "BUILDPLOT";
4121
+ TaskType[TaskType["CHARGE"] = 16] = "CHARGE";
4122
+ TaskType[TaskType["UPGRADE"] = 17] = "UPGRADE";
4123
+ })(TaskType || (TaskType = {}));
4124
+ var HoldKind;
4125
+ (function (HoldKind) {
4126
+ HoldKind[HoldKind["PULL"] = 1] = "PULL";
4127
+ HoldKind[HoldKind["PUSH"] = 2] = "PUSH";
4128
+ HoldKind[HoldKind["GATHER"] = 3] = "GATHER";
4129
+ HoldKind[HoldKind["BUILD"] = 4] = "BUILD";
4130
+ HoldKind[HoldKind["UPGRADE"] = 6] = "UPGRADE";
4131
+ })(HoldKind || (HoldKind = {}));
4132
+ var LocationType;
4133
+ (function (LocationType) {
4134
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
4135
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
4136
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
4137
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
4138
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
4139
+ })(LocationType || (LocationType = {}));
4140
+ var TaskCancelable;
4141
+ (function (TaskCancelable) {
4142
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
4143
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
4144
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
4145
+ })(TaskCancelable || (TaskCancelable = {}));
4146
+ class Coordinates extends Types.coordinates {
4147
+ static from(value) {
4148
+ return super.from(value);
4149
+ }
4150
+ equals(other) {
4151
+ const coords = Coordinates.from(other);
4152
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
4153
+ }
4154
+ toLocationId() {
4155
+ return coordsToLocationId(this);
4156
+ }
4157
+ }
4158
+ function coordsToLocationId(coords) {
4159
+ const c = Coordinates.from(coords);
4160
+ const mask = BigInt(0xffffffff);
4161
+ const x = BigInt(c.x.toNumber()) & mask;
4162
+ const y = BigInt(c.y.toNumber()) & mask;
4163
+ const id = (x << BigInt(32)) | y;
4164
+ return UInt64.from(id);
4165
+ }
4166
+
4167
+ const itemsById = new Map();
4168
+ for (const raw of items) {
4169
+ const meta = itemMetadata[raw.id];
4170
+ if (!meta) {
4171
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
4172
+ }
4173
+ itemsById.set(raw.id, {
4174
+ id: raw.id,
4175
+ name: meta.name,
4176
+ description: meta.description,
4177
+ color: meta.color,
4178
+ mass: raw.mass,
4179
+ type: raw.type,
4180
+ tier: raw.tier,
4181
+ category: raw.category,
4182
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
4183
+ });
4184
+ }
4185
+ Array.from(itemsById.keys());
4186
+
4187
+ function cargoItemToStack(item) {
4188
+ return {
4189
+ item_id: UInt16.from(item.item_id),
4190
+ quantity: UInt32.from(item.quantity),
4191
+ stats: UInt64.from(item.stats),
4192
+ modules: item.modules ?? [],
4193
+ };
4194
+ }
4195
+ function statsEquals(a, b) {
4196
+ return a.equals(b);
4197
+ }
4198
+ function stackIdentityEqual(a, b) {
4199
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
4200
+ }
4201
+ function mergeStacks(stacks, add) {
4202
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
4203
+ if (idx === -1) {
4204
+ return [...stacks, { ...add }];
4205
+ }
4206
+ const result = stacks.slice();
4207
+ result[idx] = {
4208
+ ...result[idx],
4209
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
4210
+ };
4211
+ return result;
4212
+ }
4213
+
4214
+ function assertProjectionEquals(contract, sdk, options = {}) {
4215
+ const mismatches = [];
4216
+ const record = (name, c, s) => {
4217
+ if (c !== s)
4218
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
4219
+ };
4220
+ const recordStatBlock = (name, c, s) => {
4221
+ const cPresent = c !== undefined && c !== null;
4222
+ const sPresent = s !== undefined && s !== null;
4223
+ if (cPresent !== sPresent) {
4224
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
4225
+ return;
4226
+ }
4227
+ if (!cPresent)
4228
+ return;
4229
+ const cn = JSON.stringify(normaliseStatBlock(c));
4230
+ const sn = JSON.stringify(normaliseStatBlock(s));
4231
+ if (cn !== sn)
4232
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
4233
+ };
4234
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
4235
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
4236
+ record('energy', toNum(contract.energy), Number(sdk.energy));
4237
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
4238
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
4239
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
4240
+ recordStatBlock('engines', contract.engines, sdk.engines);
4241
+ recordStatBlock('generator', contract.generator, sdk.generator);
4242
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
4243
+ const normLane = (l) => Object.fromEntries(Object.entries(l)
4244
+ .filter(([k]) => k !== 'slot_index')
4245
+ .map(([k, v]) => [k, toNum(v) ?? 0]));
4246
+ const compareLanes = (name, cLanes, sLanes) => {
4247
+ if (cLanes.length !== sLanes.length) {
4248
+ mismatches.push(` ${name}.length: contract=${cLanes.length} sdk=${sLanes.length}`);
4249
+ return;
4250
+ }
4251
+ for (let i = 0; i < cLanes.length; i++) {
4252
+ const cn = JSON.stringify(normLane(cLanes[i]));
4253
+ const sn = JSON.stringify(normLane(sLanes[i]));
4254
+ if (cn !== sn)
4255
+ mismatches.push(` ${name}[${i}]: contract=${cn} sdk=${sn}`);
4256
+ }
4257
+ };
4258
+ compareLanes('gatherer_lanes', contract.gatherer_lanes, sdk.gathererLanes ?? []);
4259
+ compareLanes('crafter_lanes', contract.crafter_lanes, sdk.crafterLanes ?? []);
4260
+ compareLanes('loader_lanes', contract.loader_lanes, sdk.loaderLanes ?? []);
4261
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
4262
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
4263
+ const sdkCargo = normaliseCargo(sdk.cargo);
4264
+ if (contractCargo.length !== sdkCargo.length) {
4265
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
4266
+ }
4267
+ else {
4268
+ for (let i = 0; i < contractCargo.length; i++) {
4269
+ const c = contractCargo[i];
4270
+ const s = sdkCargo[i];
4271
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
4272
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
4273
+ }
4274
+ }
4275
+ }
4276
+ }
4277
+ if (mismatches.length > 0) {
4278
+ const header = options.step !== undefined
4279
+ ? `projection divergence at step ${options.step}:`
4280
+ : 'projection divergence:';
4281
+ throw new Error([header, ...mismatches].join('\n'));
4282
+ }
4283
+ }
4284
+ function mergeContractCargo(cargo) {
4285
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
4286
+ }
4287
+ function normaliseCargo(cargo) {
4288
+ return cargo
4289
+ .map((s) => ({
4290
+ itemId: Number(s.item_id),
4291
+ stats: BigInt(s.stats.toString()).toString(),
4292
+ quantity: BigInt(s.quantity.toString()).toString(),
4293
+ }))
4294
+ .sort(stackSort);
4295
+ }
4296
+ function stackSort(a, b) {
4297
+ if (a.itemId !== b.itemId)
4298
+ return a.itemId - b.itemId;
4299
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
4300
+ }
4301
+ function toNum(v) {
4302
+ if (v === undefined || v === null)
4303
+ return undefined;
4304
+ if (typeof v === 'number')
4305
+ return v;
4306
+ if (typeof v === 'bigint')
4307
+ return Number(v);
4308
+ if (typeof v.toNumber === 'function') {
4309
+ return v.toNumber();
4310
+ }
4311
+ return Number(v);
4312
+ }
4313
+ function fmt(v) {
4314
+ if (v === undefined)
4315
+ return 'undefined';
4316
+ if (v === null)
4317
+ return 'null';
4318
+ return String(v);
4319
+ }
4320
+ function normaliseStatBlock(block) {
4321
+ const out = {};
4322
+ const obj = block;
4323
+ for (const k of Object.keys(obj).sort()) {
4324
+ out[k] = toNum(obj[k]) ?? 0;
4325
+ }
4326
+ return out;
4327
+ }
4328
+
4329
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
4330
+ //# sourceMappingURL=testing.m.js.map