@shipload/sdk 2.0.0-rc6 → 2.0.0-rc7
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.
- package/README.md +1 -349
- package/lib/shipload.d.ts +247 -121
- package/lib/shipload.js +855 -214
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +814 -201
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/crafting.ts +18 -0
- package/src/capabilities/extraction.ts +14 -8
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/modules.ts +49 -0
- package/src/contracts/server.ts +164 -129
- package/src/data/colors.ts +28 -0
- package/src/data/items.json +4 -4
- package/src/data/recipes.ts +229 -7
- package/src/derivation/crafting.ts +41 -19
- package/src/entities/makers.ts +10 -9
- package/src/entities/ship-deploy.ts +89 -0
- package/src/entities/ship.ts +14 -6
- package/src/index-module.ts +32 -0
- package/src/managers/actions.ts +47 -6
- package/src/resolution/resolve-item.ts +242 -0
- package/src/travel/travel.ts +3 -3
- package/src/types/entity.ts +3 -3
- package/src/types.ts +1 -18
package/lib/shipload.js
CHANGED
|
@@ -213,10 +213,31 @@ var platform = /*#__PURE__*/Object.freeze({
|
|
|
213
213
|
Contract: Contract$1
|
|
214
214
|
});
|
|
215
215
|
|
|
216
|
-
const abiBlob = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDhSB2FkdmFuY2UAAgZyZXZlYWwGc3RyaW5nBmNvbW1pdAtjaGVja3N1bTI1NgZjYW5jZWwAAwtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAVjb3VudAZ1aW50NjQOY2FuY2VsX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUPY2FuY2VsbGVkX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8LZW50aXR5Z3JvdXAHdWludDY0Pw1ncm91cF9tZW1iZXJzFkJfdmVjdG9yX2VudGl0eV9yZWZfRT8KY2FyZ29faXRlbQADB2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQzMgRzZWVkB3VpbnQ2ND8JY2FyZ29fcm93AAUCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQLZW50aXR5X25hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAEA1zaGlwX2h1bGxtYXNzBnVpbnQzMg1zaGlwX2NhcGFjaXR5BnVpbnQzMgtzaGlwX2VuZXJneQZ1aW50MTYGc2hpcF96BnVpbnQxNgxzaGlwX2VuZ2luZXMObW92ZW1lbnRfc3RhdHMOc2hpcF9nZW5lcmF0b3IMZW5lcmd5X3N0YXRzDHNoaXBfbG9hZGVycwxsb2FkZXJfc3RhdHMOc2hpcF9leHRyYWN0b3IPZXh0cmFjdG9yX3N0YXRzCXNoaXBfd2FycAp3YXJwX3N0YXRzDHNoaXBfY3JhZnRlcg1jcmFmdGVyX3N0YXRzEndhcmVob3VzZV9jYXBhY2l0eQZ1aW50MzILd2FyZWhvdXNlX3oGdWludDE2EXdhcmVob3VzZV9sb2FkZXJzDGxvYWRlcl9zdGF0cxJjb250YWluZXJfaHVsbG1hc3MGdWludDMyEmNvbnRhaW5lcl9jYXBhY2l0eQZ1aW50MzILY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABcEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8GZW5lcmd5B3VpbnQxNj8IaHVsbG1hc3MHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwhjYXBhY2l0eQd1aW50MzI/CWV4dHJhY3RvchBleHRyYWN0b3Jfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPwplbnRpdHlfcmVmAAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkCnRpbWVfcG9pbnQPZW50aXR5Z3JvdXBfcm93AAICaWQGdWludDY0DHBhcnRpY2lwYW50cwxlbnRpdHlfcmVmW10HZXh0cmFjdAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0B3N0cmF0dW0GdWludDE2CHF1YW50aXR5BnVpbnQzMg9leHRyYWN0b3Jfc3RhdHMABQRyYXRlBnVpbnQxNgVkcmFpbgZ1aW50MTYKZWZmaWNpZW5jeQZ1aW50MTYFZGVwdGgGdWludDE2BWRyaWxsBnVpbnQxNgtnYW1lX2NvbmZpZwADB3ZlcnNpb24GdWludDMyCGRlZmF1bHRzD2VudGl0eV9kZWZhdWx0cwVpdGVtcwppdGVtX2RlZltdCWdldGNvbmZpZwAAC2dldGVudGl0aWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwlnZXRlbnRpdHkAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIZ2V0aXRlbXMAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0CWdldG5lYXJieQADC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhyZWNoYXJnZQRib29sCWdldHBsYXllcgABB2FjY291bnQEbmFtZQpnZXRzdGFydGVyAAAKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgQbG9jYXRpb25fZGVyaXZlZAADDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMLZXBvY2hfcHJvcHMObG9jYXRpb25fZXBvY2gEc2l6ZQZ1aW50MTYObG9jYXRpb25fZXBvY2gAAwZhY3RpdmUEYm9vbAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OA1sb2NhdGlvbl9pbmZvAAIGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sDGxvY2F0aW9uX3JvdwAGAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29faXRlbVtdCHNjaGVkdWxlCXNjaGVkdWxlPw9sb2NhdGlvbl9zdGF0aWMABQZjb29yZHMLY29vcmRpbmF0ZXMEdHlwZQ1sb2NhdGlvbl90eXBlB3N1YnR5cGUFdWludDgFc2VlZDAFdWludDgFc2VlZDEFdWludDgObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbwZub3RpZnkAAQVldmVudAp0YXNrX2V2ZW50C3BsYXllcl9pbmZvAAYFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnNoaXBfY291bnQGdWludDY0D3dhcmVob3VzZV9jb3VudAZ1aW50NjQPY29udGFpbmVyX2NvdW50BnVpbnQ2NApwbGF5ZXJfcm93AAEFb3duZXIEbmFtZQhyZWNoYXJnZQACC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0C3Jlc2VydmVfcm93AAICaWQGdWludDY0CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQIc2hpcF9yb3cADwJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwZ1aW50MzIIY2FwYWNpdHkGdWludDMyBmVuZXJneQZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzDm1vdmVtZW50X3N0YXRzCWdlbmVyYXRvcgxlbmVyZ3lfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMJZXh0cmFjdG9yEGV4dHJhY3Rvcl9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwdjcmFmdGVyDmNyYWZ0ZXJfc3RhdHM/CHNjaGVkdWxlCXNjaGVkdWxlPwpzcGF3bmNhcmdvAAMJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQMc3RhcnRlcl9pbmZvAAEEc2hpcAtlbnRpdHlfaW5mbwlzdGF0ZV9yb3cABgdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNhbHQGdWludDY0BXNoaXBzBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABAdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzIEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10IdHJhbnNmZXIABgtzb3VyY2VfdHlwZQRuYW1lCXNvdXJjZV9pZAZ1aW50NjQJZGVzdF90eXBlBG5hbWUHZGVzdF9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBnRyYXZlbAAFC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sCXR5cGVzX3JvdwAEAmlkBnVpbnQ2NBNlbnRpdHlfc3VtbWFyeV90eXBlDmVudGl0eV9zdW1tYXJ5EXN0YXJ0ZXJfaW5mb190eXBlDHN0YXJ0ZXJfaW5mbxBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnDXdhcmVob3VzZV9yb3cACAJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMgdsb2FkZXJzDGxvYWRlcl9zdGF0cwhzY2hlZHVsZQlzY2hlZHVsZT8Ed2FycAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAAx3aXBlc2VxdWVuY2UAACUAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAESFpkEGY2FuY2VsxwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQuCgotLS0AAKgb32lURAljbGVhbnJzdnAAAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdPEBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4KCi0tLQAAYDQytyZFCWNvbmZpZ2xvZwAAAAAAgLzMRQVjcmFmdADgs8tTqWzURQxjcmVhdGVlbnRpdHkAAAAAAHgaq0oGZGVwbG95AAAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQAAACAjc3NXB2V4dHJhY3ShAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBleHRyYWN0CnN1bW1hcnk6ICdFeHRyYWN0IHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXh0cmFjdCByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGV4dHJhY3RhYmxlIGxvY2F0aW9uIHR5cGVzLiBTY2hlZHVsZXMgYW4gZXh0cmFjdGlvbiB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBleHRyYWN0b3Igc3RhdHMgYW5kIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIGNvbXBvc2l0aW9uLgAAYG5NirJiCWdldGNvbmZpZwAAsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4AAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AALjKm1izYglnZXRwbGF5ZXL9Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwbGF5ZXIKc3VtbWFyeTogJ0dldCBwbGF5ZXIgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBwbGF5ZXIgaW5jbHVkaW5nIGJhbGFuY2UsIGRlYnQsIG5ldHdvcnRoLCBlbnRpdHkgY291bnRzLCBhbmQgcHJpY2luZyBmb3IgbmV4dCBwdXJjaGFzZXMuIFJldHVybnMgaXNfcGxheWVyPWZhbHNlIGlmIHRoZSBhY2NvdW50IGhhcyBub3Qgam9pbmVkIHRoZSBnYW1lLgDAVfmajLNiCmdldHN0YXJ0ZXKFAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdGFydGVyCnN1bW1hcnk6ICdHZXQgc3RhcnRlciBzaGlwIGFuZCBiYWxhbmNlIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBzdGFydGVyIHNoaXAgc3RhdHMgYW5kIGluaXRpYWwgYmFsYW5jZSBhIG5ldyBwbGF5ZXIgd291bGQgcmVjZWl2ZSB1cG9uIGpvaW5pbmcuIFVzZWQgZm9yIG9uYm9hcmRpbmcgVUkgdG8gZGlzcGxheSB3aGF0IHBsYXllcnMgd2lsbCBnZXQgYmVmb3JlIHRoZXkgcmVnaXN0ZXIuAIDU2dyMs2IKZ2V0c3RyYXR1bQCAlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaP0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4KCi0tLQAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAAACQ3XQEaW5pdPoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGluaXQKc3VtbWFyeTogJ0luaXRpYWxpemUgZ2FtZSBzZWVkJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWFsaXplIGEgdGhlIGdhbWVzIHNlZWQgYW5kIHNlZWQgdmFsdWVzIHRvIGJvb3RzdHJhcCBnYW1lIHN0YXRlLgAAAAAAMB19BGpvaW7JAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQKCi0tLQAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdl0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4KCi0tLQAAAEDtSLG6B3Jlc29sdmXVAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuCgotLS0AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAZdegyU3FCnNwYXduY2FyZ28AAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbMsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBpdGVtcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAAAAAUK/hBHdhcnAAAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0LAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAC4ajqTJ0UDaTY0AAANY29udGFpbmVyX3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAABA7auwugNpNjQAAAtyZXNlcnZlX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAXAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAAAAeBqrSgx0YXNrX3Jlc3VsdHMAAAAgI3NzVwx0YXNrX3Jlc3VsdHMAAGBuTYqyYgtnYW1lX2NvbmZpZwCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwAAAFiq7LJiCml0ZW1zX2luZm8AJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZAAA8OcaNbNiC25lYXJieV9pbmZvAAC4yptYs2ILcGxheWVyX2luZm8AwFX5moyzYgxzdGFydGVyX2luZm8AgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
216
|
+
const abiBlob = antelope.Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDhWCWFkZG1vZHVsZQAFC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgPbW9kdWxlX2NhcmdvX2lkBnVpbnQ2NA90YXJnZXRfY2FyZ29faWQGdWludDY0B2FkdmFuY2UAAgZyZXZlYWwGc3RyaW5nBmNvbW1pdAtjaGVja3N1bTI1NgVibGVuZAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BmlucHV0cwxjYXJnb19pdGVtW10GY2FuY2VsAAMLZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIEc2VlZAd1aW50NjQ/B21vZHVsZXMObW9kdWxlX2VudHJ5W10JY2FyZ29fcm93AAYCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10KY2FyZ29fc2VlZAACB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQLZW50aXR5X25hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMABhJ3YXJlaG91c2VfY2FwYWNpdHkGdWludDMyC3dhcmVob3VzZV96BnVpbnQxNhF3YXJlaG91c2VfbG9hZGVycwxsb2FkZXJfc3RhdHMSY29udGFpbmVyX2h1bGxtYXNzBnVpbnQzMhJjb250YWluZXJfY2FwYWNpdHkGdWludDMyC2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAXBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb19pdGVtW10HbG9hZGVycw1sb2FkZXJfc3RhdHM/BmVuZXJneQd1aW50MTY/CGh1bGxtYXNzB3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8IY2FwYWNpdHkHdWludDMyPwlleHRyYWN0b3IQZXh0cmFjdG9yX3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/B2NyYWZ0ZXIOY3JhZnRlcl9zdGF0cz8HaXNfaWRsZQRib29sDGN1cnJlbnRfdGFzawV0YXNrPxRjdXJyZW50X3Rhc2tfZWxhcHNlZAZ1aW50MzIWY3VycmVudF90YXNrX3JlbWFpbmluZwZ1aW50MzINcGVuZGluZ190YXNrcwZ0YXNrW10HaWRsZV9hdAt0aW1lX3BvaW50PwhzY2hlZHVsZQlzY2hlZHVsZT8KZW50aXR5X3JlZgACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NA5lbnRpdHlfc3VtbWFyeQAIBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXNfaWRsZQRib29sDnJlc29sdmVkX2NvdW50BnVpbnQzMg1wZW5kaW5nX2NvdW50BnVpbnQzMhBlbnRpdHlfdGFza19pbmZvAAQJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lCnRhc2tfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdB2V4dHJhY3QABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIPZXh0cmFjdG9yX3N0YXRzAAQEcmF0ZQZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVkcmlsbAZ1aW50MTYLZ2FtZV9jb25maWcAAwd2ZXJzaW9uBnVpbnQzMghkZWZhdWx0cw9lbnRpdHlfZGVmYXVsdHMFaXRlbXMKaXRlbV9kZWZbXQlnZXRjb25maWcAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CGdldGl0ZW1zAAALZ2V0bG9jYXRpb24AAgF4BWludDY0AXkFaW50NjQKZ2V0bG9jZGF0YQACAXgFaW50NjQBeQVpbnQ2NAlnZXRuZWFyYnkAAwtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbAlnZXRwbGF5ZXIAAQdhY2NvdW50BG5hbWUKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgQbG9jYXRpb25fZGVyaXZlZAADDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMLZXBvY2hfcHJvcHMObG9jYXRpb25fZXBvY2gEc2l6ZQZ1aW50MTYObG9jYXRpb25fZXBvY2gAAwZhY3RpdmUEYm9vbAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OA1sb2NhdGlvbl9pbmZvAAIGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sDGxvY2F0aW9uX3JvdwAGAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29faXRlbVtdCHNjaGVkdWxlCXNjaGVkdWxlPw9sb2NhdGlvbl9zdGF0aWMABQZjb29yZHMLY29vcmRpbmF0ZXMEdHlwZQ1sb2NhdGlvbl90eXBlB3N1YnR5cGUFdWludDgFc2VlZDAFdWludDgFc2VlZDEFdWludDgMbW9kdWxlX2VudHJ5AAIEdHlwZQV1aW50OAlpbnN0YWxsZWQLY2FyZ29fc2VlZD8ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbwZub3RpZnkAAQVldmVudAp0YXNrX2V2ZW50C3BsYXllcl9pbmZvAAYFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnNoaXBfY291bnQGdWludDY0D3dhcmVob3VzZV9jb3VudAZ1aW50NjQPY29udGFpbmVyX2NvdW50BnVpbnQ2NApwbGF5ZXJfcm93AAEFb3duZXIEbmFtZQhyZWNoYXJnZQACC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0C3Jlc2VydmVfcm93AAICaWQGdWludDY0CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYIcm1tb2R1bGUABAtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4D3RhcmdldF9jYXJnb19pZAZ1aW50NjQEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQIc2hpcF9yb3cAEAJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8GZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8JZXh0cmFjdG9yEGV4dHJhY3Rvcl9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwdjcmFmdGVyDmNyYWZ0ZXJfc3RhdHM/B21vZHVsZXMObW9kdWxlX2VudHJ5W10Ic2NoZWR1bGUJc2NoZWR1bGU/CnNwYXduY2FyZ28AAwllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAtzcGF3bnNlZWRlZAAECWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0CXN0YXRlX3JvdwAGB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50MzIEc2FsdAZ1aW50NjQFc2hpcHMGdWludDMyBHNlZWQLY2hlY2tzdW0yNTYGY29tbWl0C2NoZWNrc3VtMjU2DHN0cmF0dW1fZGF0YQACB3N0cmF0dW0Mc3RyYXR1bV9pbmZvBXN0YXRzDnJlc291cmNlX3N0YXRzDHN0cmF0dW1faW5mbwAEB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CHJpY2huZXNzBnVpbnQxNgdyZXNlcnZlBnVpbnQzMgR0YXNrAAgEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQxNj8KdGFza19ldmVudAAJCmV2ZW50X3R5cGUFdWludDgFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAV1aW50OAR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MTY/DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXQh0cmFuc2ZlcgAGC3NvdXJjZV90eXBlBG5hbWUJc291cmNlX2lkBnVpbnQ2NAlkZXN0X3R5cGUEbmFtZQdkZXN0X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGdHJhdmVsAAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wJdHlwZXNfcm93AAMCaWQGdWludDY0E2VudGl0eV9zdW1tYXJ5X3R5cGUOZW50aXR5X3N1bW1hcnkQZ2FtZV9jb25maWdfdHlwZQtnYW1lX2NvbmZpZw13YXJlaG91c2Vfcm93AAgCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMIY2FwYWNpdHkGdWludDMyCWNhcmdvbWFzcwZ1aW50MzIHbG9hZGVycwxsb2FkZXJfc3RhdHMIc2NoZWR1bGUJc2NoZWR1bGU/BHdhcnAABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQKd2FycF9zdGF0cwABBXJhbmdlBnVpbnQzMgR3aXBlAAAMd2lwZXNlcXVlbmNlAAAoAABQUScqUzIJYWRkbW9kdWxlAAAAAEChaXYyB2FkdmFuY2XTAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZHZhbmNlCnN1bW1hcnk6ICdBZHZhbmNlIHR1cm4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkdmFuY2UgdGhlIGdhbWUgdG8gdGhlIG5leHQgdHVybi4AAAAAgDRVPAVibGVuZAAAAAAARIWmQQZjYW5jZWzHAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjYW5jZWwKc3VtbWFyeTogJ0NhbmNlbCBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbmNlbCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSBlbmQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUuIFRhc2tzIHRoYXQgYXJlIGltbXV0YWJsZSBhbmQgaW4gcHJvZ3Jlc3MgY2Fubm90IGJlIGNhbmNlbGxlZC4KCi0tLQAAqBvfaVRECWNsZWFucnN2cAAAgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAGQnJUUGY29tbWl08QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgoKLS0tAABgNDK3JkUJY29uZmlnbG9nAAAAAACAvMxFBWNyYWZ0AOCzy1OpbNRFDGNyZWF0ZWVudGl0eQAAAAAAeBqrSgZkZXBsb3kAAAAAAKh4zFQGZW5hYmxl4gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdTZXQgZW5hYmxlZCBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhpcyBnYW1lIG9mIFNoaXBsb2FkLgoKLS0tAAAAICNzc1cHZXh0cmFjdKEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGV4dHJhY3QKc3VtbWFyeTogJ0V4dHJhY3QgcmVzb3VyY2VzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFeHRyYWN0IHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZXh0cmFjdGFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhbiBleHRyYWN0aW9uIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGV4dHJhY3RvciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnAACwctnlqbJiC2dldGVudGl0aWVzpAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXRpZXMKc3VtbWFyeTogJ0dldCBhbGwgZW50aXRpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGZ1bGwgZW50aXR5IGluZm8gZm9yIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllci4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAADw2eWpsmIJZ2V0ZW50aXR5ogItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXR5CnN1bW1hcnk6ICdHZXQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGFuIGVudGl0eSBpbmNsdWRpbmcgaWRlbnRpdHksIGNhcmdvLCBzY2hlZHVsZSBzdGF0ZSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy4AJnXZIBqzYgtnZXRsb2NhdGlvbuICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2F0aW9uCnN1bW1hcnk6ICdHZXQgbG9jYXRpb24gaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiBpbmNsdWRpbmcgd2hldGhlciBhIHN5c3RlbSBleGlzdHMsIGFuZCBmb3IgZWFjaCBpdGVtOiBwcmljZSwgc3VwcGx5LCByYXJpdHkgbXVsdGlwbGllciwgYW5kIGxvY2F0aW9uIG11bHRpcGxpZXIuAIDJJiEas2IKZ2V0bG9jZGF0Yf4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2RhdGEKc3VtbWFyeTogJ0dldCBkZXJpdmVkIGxvY2F0aW9uIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgZGVyaXZlZCBsb2NhdGlvbiBkYXRhIGluY2x1ZGluZyBzdGF0aWMgcHJvcGVydGllcyAodHlwZSwgZGlmZmljdWx0eSwgc2VlZHMpIGZyb20gdGhlIGdhbWUgc2VlZCBhbmQgZXBvY2gtc3BlY2lmaWMgcHJvcGVydGllcyAoYWN0aXZlLCBzZWVkcykgZnJvbSB0aGUgY3VycmVudCBlcG9jaCBzZWVkLgAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuAIDU2dyMs2IKZ2V0c3RyYXR1bQCAlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaP0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4KCi0tLQAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAAACQ3XQEaW5pdPoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGluaXQKc3VtbWFyeTogJ0luaXRpYWxpemUgZ2FtZSBzZWVkJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWFsaXplIGEgdGhlIGdhbWVzIHNlZWQgYW5kIHNlZWQgdmFsdWVzIHRvIGJvb3RzdHJhcCBnYW1lIHN0YXRlLgAAAAAAMB19BGpvaW7JAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQKCi0tLQAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdl0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4KCi0tLQAAAEDtSLG6B3Jlc29sdmXVAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuCgotLS0AAAAq6kSlvAhybW1vZHVsZQAAAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAZdegyU3FCnNwYXduY2FyZ28AAJJKSuHJTcULc3Bhd25zZWVkZWQAAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbMsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBpdGVtcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAAAAAUK/hBHdhcnAAAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0LAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAC4ajqTJ0UDaTY0AAANY29udGFpbmVyX3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAABA7auwugNpNjQAAAtyZXNlcnZlX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAWAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAAAAeBqrSgx0YXNrX3Jlc3VsdHMAAAAgI3NzVwx0YXNrX3Jlc3VsdHMAAGBuTYqyYgtnYW1lX2NvbmZpZwCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwAAAFiq7LJiCml0ZW1zX2luZm8AJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZAAA8OcaNbNiC25lYXJieV9pbmZvAAC4yptYs2ILcGxheWVyX2luZm8AgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
217
217
|
const abi = antelope.ABI.from(abiBlob);
|
|
218
218
|
var Types;
|
|
219
219
|
(function (Types) {
|
|
220
|
+
let addmodule = class addmodule extends antelope.Struct {
|
|
221
|
+
};
|
|
222
|
+
tslib.__decorate([
|
|
223
|
+
antelope.Struct.field(antelope.Name)
|
|
224
|
+
], addmodule.prototype, "entity_type", void 0);
|
|
225
|
+
tslib.__decorate([
|
|
226
|
+
antelope.Struct.field(antelope.UInt64)
|
|
227
|
+
], addmodule.prototype, "entity_id", void 0);
|
|
228
|
+
tslib.__decorate([
|
|
229
|
+
antelope.Struct.field(antelope.UInt8)
|
|
230
|
+
], addmodule.prototype, "module_index", void 0);
|
|
231
|
+
tslib.__decorate([
|
|
232
|
+
antelope.Struct.field(antelope.UInt64)
|
|
233
|
+
], addmodule.prototype, "module_cargo_id", void 0);
|
|
234
|
+
tslib.__decorate([
|
|
235
|
+
antelope.Struct.field(antelope.UInt64)
|
|
236
|
+
], addmodule.prototype, "target_cargo_id", void 0);
|
|
237
|
+
addmodule = tslib.__decorate([
|
|
238
|
+
antelope.Struct.type('addmodule')
|
|
239
|
+
], addmodule);
|
|
240
|
+
Types.addmodule = addmodule;
|
|
220
241
|
let advance = class advance extends antelope.Struct {
|
|
221
242
|
};
|
|
222
243
|
tslib.__decorate([
|
|
@@ -229,6 +250,63 @@ var Types;
|
|
|
229
250
|
antelope.Struct.type('advance')
|
|
230
251
|
], advance);
|
|
231
252
|
Types.advance = advance;
|
|
253
|
+
let cargo_seed = class cargo_seed extends antelope.Struct {
|
|
254
|
+
};
|
|
255
|
+
tslib.__decorate([
|
|
256
|
+
antelope.Struct.field(antelope.UInt16)
|
|
257
|
+
], cargo_seed.prototype, "item_id", void 0);
|
|
258
|
+
tslib.__decorate([
|
|
259
|
+
antelope.Struct.field(antelope.UInt64)
|
|
260
|
+
], cargo_seed.prototype, "seed", void 0);
|
|
261
|
+
cargo_seed = tslib.__decorate([
|
|
262
|
+
antelope.Struct.type('cargo_seed')
|
|
263
|
+
], cargo_seed);
|
|
264
|
+
Types.cargo_seed = cargo_seed;
|
|
265
|
+
let module_entry = class module_entry extends antelope.Struct {
|
|
266
|
+
};
|
|
267
|
+
tslib.__decorate([
|
|
268
|
+
antelope.Struct.field(antelope.UInt8)
|
|
269
|
+
], module_entry.prototype, "type", void 0);
|
|
270
|
+
tslib.__decorate([
|
|
271
|
+
antelope.Struct.field(cargo_seed, { optional: true })
|
|
272
|
+
], module_entry.prototype, "installed", void 0);
|
|
273
|
+
module_entry = tslib.__decorate([
|
|
274
|
+
antelope.Struct.type('module_entry')
|
|
275
|
+
], module_entry);
|
|
276
|
+
Types.module_entry = module_entry;
|
|
277
|
+
let cargo_item = class cargo_item extends antelope.Struct {
|
|
278
|
+
};
|
|
279
|
+
tslib.__decorate([
|
|
280
|
+
antelope.Struct.field(antelope.UInt16)
|
|
281
|
+
], cargo_item.prototype, "item_id", void 0);
|
|
282
|
+
tslib.__decorate([
|
|
283
|
+
antelope.Struct.field(antelope.UInt32)
|
|
284
|
+
], cargo_item.prototype, "quantity", void 0);
|
|
285
|
+
tslib.__decorate([
|
|
286
|
+
antelope.Struct.field(antelope.UInt64, { optional: true })
|
|
287
|
+
], cargo_item.prototype, "seed", void 0);
|
|
288
|
+
tslib.__decorate([
|
|
289
|
+
antelope.Struct.field(module_entry, { array: true })
|
|
290
|
+
], cargo_item.prototype, "modules", void 0);
|
|
291
|
+
cargo_item = tslib.__decorate([
|
|
292
|
+
antelope.Struct.type('cargo_item')
|
|
293
|
+
], cargo_item);
|
|
294
|
+
Types.cargo_item = cargo_item;
|
|
295
|
+
let blend = class blend extends antelope.Struct {
|
|
296
|
+
};
|
|
297
|
+
tslib.__decorate([
|
|
298
|
+
antelope.Struct.field(antelope.Name)
|
|
299
|
+
], blend.prototype, "entity_type", void 0);
|
|
300
|
+
tslib.__decorate([
|
|
301
|
+
antelope.Struct.field(antelope.UInt64)
|
|
302
|
+
], blend.prototype, "id", void 0);
|
|
303
|
+
tslib.__decorate([
|
|
304
|
+
antelope.Struct.field(cargo_item, { array: true })
|
|
305
|
+
], blend.prototype, "inputs", void 0);
|
|
306
|
+
blend = tslib.__decorate([
|
|
307
|
+
antelope.Struct.type('blend')
|
|
308
|
+
], blend);
|
|
309
|
+
Types.blend = blend;
|
|
232
310
|
let cancel = class cancel extends antelope.Struct {
|
|
233
311
|
};
|
|
234
312
|
tslib.__decorate([
|
|
@@ -280,21 +358,6 @@ var Types;
|
|
|
280
358
|
antelope.Struct.type('cancel_results')
|
|
281
359
|
], cancel_results);
|
|
282
360
|
Types.cancel_results = cancel_results;
|
|
283
|
-
let cargo_item = class cargo_item extends antelope.Struct {
|
|
284
|
-
};
|
|
285
|
-
tslib.__decorate([
|
|
286
|
-
antelope.Struct.field(antelope.UInt16)
|
|
287
|
-
], cargo_item.prototype, "item_id", void 0);
|
|
288
|
-
tslib.__decorate([
|
|
289
|
-
antelope.Struct.field(antelope.UInt32)
|
|
290
|
-
], cargo_item.prototype, "quantity", void 0);
|
|
291
|
-
tslib.__decorate([
|
|
292
|
-
antelope.Struct.field(antelope.UInt64, { optional: true })
|
|
293
|
-
], cargo_item.prototype, "seed", void 0);
|
|
294
|
-
cargo_item = tslib.__decorate([
|
|
295
|
-
antelope.Struct.type('cargo_item')
|
|
296
|
-
], cargo_item);
|
|
297
|
-
Types.cargo_item = cargo_item;
|
|
298
361
|
let cargo_row = class cargo_row extends antelope.Struct {
|
|
299
362
|
};
|
|
300
363
|
tslib.__decorate([
|
|
@@ -312,6 +375,9 @@ var Types;
|
|
|
312
375
|
tslib.__decorate([
|
|
313
376
|
antelope.Struct.field(antelope.UInt64)
|
|
314
377
|
], cargo_row.prototype, "seed", void 0);
|
|
378
|
+
tslib.__decorate([
|
|
379
|
+
antelope.Struct.field(module_entry, { array: true })
|
|
380
|
+
], cargo_row.prototype, "modules", void 0);
|
|
315
381
|
cargo_row = tslib.__decorate([
|
|
316
382
|
antelope.Struct.type('cargo_row')
|
|
317
383
|
], cargo_row);
|
|
@@ -352,30 +418,6 @@ var Types;
|
|
|
352
418
|
antelope.Struct.type('commit')
|
|
353
419
|
], commit);
|
|
354
420
|
Types.commit = commit;
|
|
355
|
-
let movement_stats = class movement_stats extends antelope.Struct {
|
|
356
|
-
};
|
|
357
|
-
tslib.__decorate([
|
|
358
|
-
antelope.Struct.field(antelope.UInt32)
|
|
359
|
-
], movement_stats.prototype, "thrust", void 0);
|
|
360
|
-
tslib.__decorate([
|
|
361
|
-
antelope.Struct.field(antelope.UInt16)
|
|
362
|
-
], movement_stats.prototype, "drain", void 0);
|
|
363
|
-
movement_stats = tslib.__decorate([
|
|
364
|
-
antelope.Struct.type('movement_stats')
|
|
365
|
-
], movement_stats);
|
|
366
|
-
Types.movement_stats = movement_stats;
|
|
367
|
-
let energy_stats = class energy_stats extends antelope.Struct {
|
|
368
|
-
};
|
|
369
|
-
tslib.__decorate([
|
|
370
|
-
antelope.Struct.field(antelope.UInt16)
|
|
371
|
-
], energy_stats.prototype, "capacity", void 0);
|
|
372
|
-
tslib.__decorate([
|
|
373
|
-
antelope.Struct.field(antelope.UInt16)
|
|
374
|
-
], energy_stats.prototype, "recharge", void 0);
|
|
375
|
-
energy_stats = tslib.__decorate([
|
|
376
|
-
antelope.Struct.type('energy_stats')
|
|
377
|
-
], energy_stats);
|
|
378
|
-
Types.energy_stats = energy_stats;
|
|
379
421
|
let loader_stats = class loader_stats extends antelope.Struct {
|
|
380
422
|
};
|
|
381
423
|
tslib.__decorate([
|
|
@@ -391,80 +433,8 @@ var Types;
|
|
|
391
433
|
antelope.Struct.type('loader_stats')
|
|
392
434
|
], loader_stats);
|
|
393
435
|
Types.loader_stats = loader_stats;
|
|
394
|
-
let extractor_stats = class extractor_stats extends antelope.Struct {
|
|
395
|
-
};
|
|
396
|
-
tslib.__decorate([
|
|
397
|
-
antelope.Struct.field(antelope.UInt16)
|
|
398
|
-
], extractor_stats.prototype, "rate", void 0);
|
|
399
|
-
tslib.__decorate([
|
|
400
|
-
antelope.Struct.field(antelope.UInt16)
|
|
401
|
-
], extractor_stats.prototype, "drain", void 0);
|
|
402
|
-
tslib.__decorate([
|
|
403
|
-
antelope.Struct.field(antelope.UInt16)
|
|
404
|
-
], extractor_stats.prototype, "efficiency", void 0);
|
|
405
|
-
tslib.__decorate([
|
|
406
|
-
antelope.Struct.field(antelope.UInt16)
|
|
407
|
-
], extractor_stats.prototype, "depth", void 0);
|
|
408
|
-
tslib.__decorate([
|
|
409
|
-
antelope.Struct.field(antelope.UInt16)
|
|
410
|
-
], extractor_stats.prototype, "drill", void 0);
|
|
411
|
-
extractor_stats = tslib.__decorate([
|
|
412
|
-
antelope.Struct.type('extractor_stats')
|
|
413
|
-
], extractor_stats);
|
|
414
|
-
Types.extractor_stats = extractor_stats;
|
|
415
|
-
let warp_stats = class warp_stats extends antelope.Struct {
|
|
416
|
-
};
|
|
417
|
-
tslib.__decorate([
|
|
418
|
-
antelope.Struct.field(antelope.UInt32)
|
|
419
|
-
], warp_stats.prototype, "range", void 0);
|
|
420
|
-
warp_stats = tslib.__decorate([
|
|
421
|
-
antelope.Struct.type('warp_stats')
|
|
422
|
-
], warp_stats);
|
|
423
|
-
Types.warp_stats = warp_stats;
|
|
424
|
-
let crafter_stats = class crafter_stats extends antelope.Struct {
|
|
425
|
-
};
|
|
426
|
-
tslib.__decorate([
|
|
427
|
-
antelope.Struct.field(antelope.UInt16)
|
|
428
|
-
], crafter_stats.prototype, "speed", void 0);
|
|
429
|
-
tslib.__decorate([
|
|
430
|
-
antelope.Struct.field(antelope.UInt16)
|
|
431
|
-
], crafter_stats.prototype, "drain", void 0);
|
|
432
|
-
crafter_stats = tslib.__decorate([
|
|
433
|
-
antelope.Struct.type('crafter_stats')
|
|
434
|
-
], crafter_stats);
|
|
435
|
-
Types.crafter_stats = crafter_stats;
|
|
436
436
|
let entity_defaults = class entity_defaults extends antelope.Struct {
|
|
437
437
|
};
|
|
438
|
-
tslib.__decorate([
|
|
439
|
-
antelope.Struct.field(antelope.UInt32)
|
|
440
|
-
], entity_defaults.prototype, "ship_hullmass", void 0);
|
|
441
|
-
tslib.__decorate([
|
|
442
|
-
antelope.Struct.field(antelope.UInt32)
|
|
443
|
-
], entity_defaults.prototype, "ship_capacity", void 0);
|
|
444
|
-
tslib.__decorate([
|
|
445
|
-
antelope.Struct.field(antelope.UInt16)
|
|
446
|
-
], entity_defaults.prototype, "ship_energy", void 0);
|
|
447
|
-
tslib.__decorate([
|
|
448
|
-
antelope.Struct.field(antelope.UInt16)
|
|
449
|
-
], entity_defaults.prototype, "ship_z", void 0);
|
|
450
|
-
tslib.__decorate([
|
|
451
|
-
antelope.Struct.field(movement_stats)
|
|
452
|
-
], entity_defaults.prototype, "ship_engines", void 0);
|
|
453
|
-
tslib.__decorate([
|
|
454
|
-
antelope.Struct.field(energy_stats)
|
|
455
|
-
], entity_defaults.prototype, "ship_generator", void 0);
|
|
456
|
-
tslib.__decorate([
|
|
457
|
-
antelope.Struct.field(loader_stats)
|
|
458
|
-
], entity_defaults.prototype, "ship_loaders", void 0);
|
|
459
|
-
tslib.__decorate([
|
|
460
|
-
antelope.Struct.field(extractor_stats)
|
|
461
|
-
], entity_defaults.prototype, "ship_extractor", void 0);
|
|
462
|
-
tslib.__decorate([
|
|
463
|
-
antelope.Struct.field(warp_stats)
|
|
464
|
-
], entity_defaults.prototype, "ship_warp", void 0);
|
|
465
|
-
tslib.__decorate([
|
|
466
|
-
antelope.Struct.field(crafter_stats)
|
|
467
|
-
], entity_defaults.prototype, "ship_crafter", void 0);
|
|
468
438
|
tslib.__decorate([
|
|
469
439
|
antelope.Struct.field(antelope.UInt32)
|
|
470
440
|
], entity_defaults.prototype, "warehouse_capacity", void 0);
|
|
@@ -631,6 +601,18 @@ var Types;
|
|
|
631
601
|
antelope.Struct.type('craft')
|
|
632
602
|
], craft);
|
|
633
603
|
Types.craft = craft;
|
|
604
|
+
let crafter_stats = class crafter_stats extends antelope.Struct {
|
|
605
|
+
};
|
|
606
|
+
tslib.__decorate([
|
|
607
|
+
antelope.Struct.field(antelope.UInt16)
|
|
608
|
+
], crafter_stats.prototype, "speed", void 0);
|
|
609
|
+
tslib.__decorate([
|
|
610
|
+
antelope.Struct.field(antelope.UInt16)
|
|
611
|
+
], crafter_stats.prototype, "drain", void 0);
|
|
612
|
+
crafter_stats = tslib.__decorate([
|
|
613
|
+
antelope.Struct.type('crafter_stats')
|
|
614
|
+
], crafter_stats);
|
|
615
|
+
Types.crafter_stats = crafter_stats;
|
|
634
616
|
let createentity = class createentity extends antelope.Struct {
|
|
635
617
|
};
|
|
636
618
|
tslib.__decorate([
|
|
@@ -682,6 +664,18 @@ var Types;
|
|
|
682
664
|
antelope.Struct.type('enable')
|
|
683
665
|
], enable);
|
|
684
666
|
Types.enable = enable;
|
|
667
|
+
let energy_stats = class energy_stats extends antelope.Struct {
|
|
668
|
+
};
|
|
669
|
+
tslib.__decorate([
|
|
670
|
+
antelope.Struct.field(antelope.UInt16)
|
|
671
|
+
], energy_stats.prototype, "capacity", void 0);
|
|
672
|
+
tslib.__decorate([
|
|
673
|
+
antelope.Struct.field(antelope.UInt16)
|
|
674
|
+
], energy_stats.prototype, "recharge", void 0);
|
|
675
|
+
energy_stats = tslib.__decorate([
|
|
676
|
+
antelope.Struct.type('energy_stats')
|
|
677
|
+
], energy_stats);
|
|
678
|
+
Types.energy_stats = energy_stats;
|
|
685
679
|
let entity_current_state = class entity_current_state extends antelope.Struct {
|
|
686
680
|
};
|
|
687
681
|
tslib.__decorate([
|
|
@@ -694,6 +688,45 @@ var Types;
|
|
|
694
688
|
antelope.Struct.type('entity_current_state')
|
|
695
689
|
], entity_current_state);
|
|
696
690
|
Types.entity_current_state = entity_current_state;
|
|
691
|
+
let movement_stats = class movement_stats extends antelope.Struct {
|
|
692
|
+
};
|
|
693
|
+
tslib.__decorate([
|
|
694
|
+
antelope.Struct.field(antelope.UInt32)
|
|
695
|
+
], movement_stats.prototype, "thrust", void 0);
|
|
696
|
+
tslib.__decorate([
|
|
697
|
+
antelope.Struct.field(antelope.UInt16)
|
|
698
|
+
], movement_stats.prototype, "drain", void 0);
|
|
699
|
+
movement_stats = tslib.__decorate([
|
|
700
|
+
antelope.Struct.type('movement_stats')
|
|
701
|
+
], movement_stats);
|
|
702
|
+
Types.movement_stats = movement_stats;
|
|
703
|
+
let extractor_stats = class extractor_stats extends antelope.Struct {
|
|
704
|
+
};
|
|
705
|
+
tslib.__decorate([
|
|
706
|
+
antelope.Struct.field(antelope.UInt16)
|
|
707
|
+
], extractor_stats.prototype, "rate", void 0);
|
|
708
|
+
tslib.__decorate([
|
|
709
|
+
antelope.Struct.field(antelope.UInt16)
|
|
710
|
+
], extractor_stats.prototype, "drain", void 0);
|
|
711
|
+
tslib.__decorate([
|
|
712
|
+
antelope.Struct.field(antelope.UInt16)
|
|
713
|
+
], extractor_stats.prototype, "depth", void 0);
|
|
714
|
+
tslib.__decorate([
|
|
715
|
+
antelope.Struct.field(antelope.UInt16)
|
|
716
|
+
], extractor_stats.prototype, "drill", void 0);
|
|
717
|
+
extractor_stats = tslib.__decorate([
|
|
718
|
+
antelope.Struct.type('extractor_stats')
|
|
719
|
+
], extractor_stats);
|
|
720
|
+
Types.extractor_stats = extractor_stats;
|
|
721
|
+
let warp_stats = class warp_stats extends antelope.Struct {
|
|
722
|
+
};
|
|
723
|
+
tslib.__decorate([
|
|
724
|
+
antelope.Struct.field(antelope.UInt32)
|
|
725
|
+
], warp_stats.prototype, "range", void 0);
|
|
726
|
+
warp_stats = tslib.__decorate([
|
|
727
|
+
antelope.Struct.type('warp_stats')
|
|
728
|
+
], warp_stats);
|
|
729
|
+
Types.warp_stats = warp_stats;
|
|
697
730
|
let entity_info = class entity_info extends antelope.Struct {
|
|
698
731
|
};
|
|
699
732
|
tslib.__decorate([
|
|
@@ -931,12 +964,6 @@ var Types;
|
|
|
931
964
|
antelope.Struct.type('getplayer')
|
|
932
965
|
], getplayer);
|
|
933
966
|
Types.getplayer = getplayer;
|
|
934
|
-
let getstarter = class getstarter extends antelope.Struct {
|
|
935
|
-
};
|
|
936
|
-
getstarter = tslib.__decorate([
|
|
937
|
-
antelope.Struct.type('getstarter')
|
|
938
|
-
], getstarter);
|
|
939
|
-
Types.getstarter = getstarter;
|
|
940
967
|
let getstratum = class getstratum extends antelope.Struct {
|
|
941
968
|
};
|
|
942
969
|
tslib.__decorate([
|
|
@@ -1306,6 +1333,24 @@ var Types;
|
|
|
1306
1333
|
antelope.Struct.type('resource_stats')
|
|
1307
1334
|
], resource_stats);
|
|
1308
1335
|
Types.resource_stats = resource_stats;
|
|
1336
|
+
let rmmodule = class rmmodule extends antelope.Struct {
|
|
1337
|
+
};
|
|
1338
|
+
tslib.__decorate([
|
|
1339
|
+
antelope.Struct.field(antelope.Name)
|
|
1340
|
+
], rmmodule.prototype, "entity_type", void 0);
|
|
1341
|
+
tslib.__decorate([
|
|
1342
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1343
|
+
], rmmodule.prototype, "entity_id", void 0);
|
|
1344
|
+
tslib.__decorate([
|
|
1345
|
+
antelope.Struct.field(antelope.UInt8)
|
|
1346
|
+
], rmmodule.prototype, "module_index", void 0);
|
|
1347
|
+
tslib.__decorate([
|
|
1348
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1349
|
+
], rmmodule.prototype, "target_cargo_id", void 0);
|
|
1350
|
+
rmmodule = tslib.__decorate([
|
|
1351
|
+
antelope.Struct.type('rmmodule')
|
|
1352
|
+
], rmmodule);
|
|
1353
|
+
Types.rmmodule = rmmodule;
|
|
1309
1354
|
let salt = class salt extends antelope.Struct {
|
|
1310
1355
|
};
|
|
1311
1356
|
tslib.__decorate([
|
|
@@ -1342,25 +1387,25 @@ var Types;
|
|
|
1342
1387
|
antelope.Struct.field(coordinates)
|
|
1343
1388
|
], ship_row.prototype, "coordinates", void 0);
|
|
1344
1389
|
tslib.__decorate([
|
|
1345
|
-
antelope.Struct.field(antelope.UInt32)
|
|
1390
|
+
antelope.Struct.field(antelope.UInt32, { optional: true })
|
|
1346
1391
|
], ship_row.prototype, "hullmass", void 0);
|
|
1347
1392
|
tslib.__decorate([
|
|
1348
|
-
antelope.Struct.field(antelope.UInt32)
|
|
1393
|
+
antelope.Struct.field(antelope.UInt32, { optional: true })
|
|
1349
1394
|
], ship_row.prototype, "capacity", void 0);
|
|
1350
1395
|
tslib.__decorate([
|
|
1351
|
-
antelope.Struct.field(antelope.UInt16)
|
|
1396
|
+
antelope.Struct.field(antelope.UInt16, { optional: true })
|
|
1352
1397
|
], ship_row.prototype, "energy", void 0);
|
|
1353
1398
|
tslib.__decorate([
|
|
1354
1399
|
antelope.Struct.field(antelope.UInt32)
|
|
1355
1400
|
], ship_row.prototype, "cargomass", void 0);
|
|
1356
1401
|
tslib.__decorate([
|
|
1357
|
-
antelope.Struct.field(movement_stats)
|
|
1402
|
+
antelope.Struct.field(movement_stats, { optional: true })
|
|
1358
1403
|
], ship_row.prototype, "engines", void 0);
|
|
1359
1404
|
tslib.__decorate([
|
|
1360
|
-
antelope.Struct.field(energy_stats)
|
|
1405
|
+
antelope.Struct.field(energy_stats, { optional: true })
|
|
1361
1406
|
], ship_row.prototype, "generator", void 0);
|
|
1362
1407
|
tslib.__decorate([
|
|
1363
|
-
antelope.Struct.field(loader_stats)
|
|
1408
|
+
antelope.Struct.field(loader_stats, { optional: true })
|
|
1364
1409
|
], ship_row.prototype, "loaders", void 0);
|
|
1365
1410
|
tslib.__decorate([
|
|
1366
1411
|
antelope.Struct.field(extractor_stats, { optional: true })
|
|
@@ -1371,6 +1416,9 @@ var Types;
|
|
|
1371
1416
|
tslib.__decorate([
|
|
1372
1417
|
antelope.Struct.field(crafter_stats, { optional: true })
|
|
1373
1418
|
], ship_row.prototype, "crafter", void 0);
|
|
1419
|
+
tslib.__decorate([
|
|
1420
|
+
antelope.Struct.field(module_entry, { array: true })
|
|
1421
|
+
], ship_row.prototype, "modules", void 0);
|
|
1374
1422
|
tslib.__decorate([
|
|
1375
1423
|
antelope.Struct.field(schedule, { optional: true })
|
|
1376
1424
|
], ship_row.prototype, "schedule", void 0);
|
|
@@ -1393,15 +1441,24 @@ var Types;
|
|
|
1393
1441
|
antelope.Struct.type('spawncargo')
|
|
1394
1442
|
], spawncargo);
|
|
1395
1443
|
Types.spawncargo = spawncargo;
|
|
1396
|
-
let
|
|
1444
|
+
let spawnseeded = class spawnseeded extends antelope.Struct {
|
|
1397
1445
|
};
|
|
1398
1446
|
tslib.__decorate([
|
|
1399
|
-
antelope.Struct.field(
|
|
1400
|
-
],
|
|
1401
|
-
|
|
1402
|
-
antelope.Struct.
|
|
1403
|
-
],
|
|
1404
|
-
|
|
1447
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1448
|
+
], spawnseeded.prototype, "entity_id", void 0);
|
|
1449
|
+
tslib.__decorate([
|
|
1450
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1451
|
+
], spawnseeded.prototype, "item_id", void 0);
|
|
1452
|
+
tslib.__decorate([
|
|
1453
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1454
|
+
], spawnseeded.prototype, "quantity", void 0);
|
|
1455
|
+
tslib.__decorate([
|
|
1456
|
+
antelope.Struct.field(antelope.UInt64)
|
|
1457
|
+
], spawnseeded.prototype, "seed", void 0);
|
|
1458
|
+
spawnseeded = tslib.__decorate([
|
|
1459
|
+
antelope.Struct.type('spawnseeded')
|
|
1460
|
+
], spawnseeded);
|
|
1461
|
+
Types.spawnseeded = spawnseeded;
|
|
1405
1462
|
let state_row = class state_row extends antelope.Struct {
|
|
1406
1463
|
};
|
|
1407
1464
|
tslib.__decorate([
|
|
@@ -1518,9 +1575,6 @@ var Types;
|
|
|
1518
1575
|
tslib.__decorate([
|
|
1519
1576
|
antelope.Struct.field(entity_summary)
|
|
1520
1577
|
], types_row.prototype, "entity_summary_type", void 0);
|
|
1521
|
-
tslib.__decorate([
|
|
1522
|
-
antelope.Struct.field(starter_info)
|
|
1523
|
-
], types_row.prototype, "starter_info_type", void 0);
|
|
1524
1578
|
tslib.__decorate([
|
|
1525
1579
|
antelope.Struct.field(game_config)
|
|
1526
1580
|
], types_row.prototype, "game_config_type", void 0);
|
|
@@ -1675,17 +1729,6 @@ const WAREHOUSE_ALREADY_AT_LOCATION = 'Warehouse already exists at this location
|
|
|
1675
1729
|
const WAREHOUSE_CAPACITY_EXCEEDED = 'Warehouse capacity would be exceeded.';
|
|
1676
1730
|
|
|
1677
1731
|
const PRECISION = 10000;
|
|
1678
|
-
const INITIAL_SHIP_GENERATOR_CAPACITY = 350;
|
|
1679
|
-
const INITIAL_SHIP_DRAIN = 25;
|
|
1680
|
-
const INITIAL_SHIP_ENERGY = 350;
|
|
1681
|
-
const INITIAL_SHIP_HULLMASS = 100000;
|
|
1682
|
-
const INITIAL_SHIP_CAPACITY = 500000;
|
|
1683
|
-
const INITIAL_SHIP_Z = 800;
|
|
1684
|
-
const INITIAL_SHIP_RECHARGE = 10;
|
|
1685
|
-
const INITIAL_SHIP_THRUST = 250;
|
|
1686
|
-
const INITIAL_LOADER_MASS = 1000;
|
|
1687
|
-
const INITIAL_LOADER_QUANTITY = 1;
|
|
1688
|
-
const INITIAL_LOADER_THRUST = 1;
|
|
1689
1732
|
const WAREHOUSE_Z = 500;
|
|
1690
1733
|
const INITIAL_WAREHOUSE_CAPACITY = 10000000;
|
|
1691
1734
|
const CONTAINER_Z = 300;
|
|
@@ -1694,10 +1737,7 @@ const INITIAL_CONTAINER_CAPACITY = 2000000;
|
|
|
1694
1737
|
const TRAVEL_MAX_DURATION = 86400;
|
|
1695
1738
|
const MIN_ORBITAL_ALTITUDE = 800;
|
|
1696
1739
|
const MAX_ORBITAL_ALTITUDE = 3000;
|
|
1697
|
-
const
|
|
1698
|
-
const INITIAL_EXTRACTOR_RATE = 700;
|
|
1699
|
-
const INITIAL_EXTRACTOR_DRAIN = 2500;
|
|
1700
|
-
const INITIAL_EXTRACTOR_EFFICIENCY = 5000;
|
|
1740
|
+
const BASE_ORBITAL_MASS = 100000;
|
|
1701
1741
|
exports.TaskType = void 0;
|
|
1702
1742
|
(function (TaskType) {
|
|
1703
1743
|
TaskType[TaskType["IDLE"] = 0] = "IDLE";
|
|
@@ -4313,7 +4353,7 @@ var itemsData = [
|
|
|
4313
4353
|
id: 26,
|
|
4314
4354
|
name: "Iron",
|
|
4315
4355
|
description: "A versatile metal used in hulls and structures.",
|
|
4316
|
-
mass:
|
|
4356
|
+
mass: 30000,
|
|
4317
4357
|
category: "metal",
|
|
4318
4358
|
tier: "t1",
|
|
4319
4359
|
color: "#B7410E"
|
|
@@ -4340,7 +4380,7 @@ var itemsData = [
|
|
|
4340
4380
|
id: 29,
|
|
4341
4381
|
name: "Copper",
|
|
4342
4382
|
description: "A conductive metal for electronics and wiring.",
|
|
4343
|
-
mass:
|
|
4383
|
+
mass: 40000,
|
|
4344
4384
|
category: "precious",
|
|
4345
4385
|
tier: "t1",
|
|
4346
4386
|
color: "#B87333"
|
|
@@ -4394,7 +4434,7 @@ var itemsData = [
|
|
|
4394
4434
|
id: 14,
|
|
4395
4435
|
name: "Silicon",
|
|
4396
4436
|
description: "A semiconductor used in sensors and computing.",
|
|
4397
|
-
mass:
|
|
4437
|
+
mass: 22000,
|
|
4398
4438
|
category: "mineral",
|
|
4399
4439
|
tier: "t1",
|
|
4400
4440
|
color: "#B8A9C9"
|
|
@@ -4421,7 +4461,7 @@ var itemsData = [
|
|
|
4421
4461
|
id: 6,
|
|
4422
4462
|
name: "Carbon",
|
|
4423
4463
|
description: "A versatile element for life support and coatings.",
|
|
4424
|
-
mass:
|
|
4464
|
+
mass: 15000,
|
|
4425
4465
|
category: "organic",
|
|
4426
4466
|
tier: "t1",
|
|
4427
4467
|
color: "#4A4A4A"
|
|
@@ -4469,10 +4509,10 @@ function getItems() {
|
|
|
4469
4509
|
}
|
|
4470
4510
|
|
|
4471
4511
|
function calc_orbital_altitude(mass) {
|
|
4472
|
-
if (mass <=
|
|
4512
|
+
if (mass <= BASE_ORBITAL_MASS) {
|
|
4473
4513
|
return MIN_ORBITAL_ALTITUDE;
|
|
4474
4514
|
}
|
|
4475
|
-
const ratio = mass /
|
|
4515
|
+
const ratio = mass / BASE_ORBITAL_MASS;
|
|
4476
4516
|
const capRatio = 10.0;
|
|
4477
4517
|
let scale = Math.log(ratio) / Math.log(capRatio);
|
|
4478
4518
|
scale = Math.min(scale, 1.0);
|
|
@@ -5383,6 +5423,12 @@ class Ship extends Types.entity_info {
|
|
|
5383
5423
|
isExtracting(now) {
|
|
5384
5424
|
return isExtracting(this, now);
|
|
5385
5425
|
}
|
|
5426
|
+
get hasEngines() {
|
|
5427
|
+
return this.engines !== undefined;
|
|
5428
|
+
}
|
|
5429
|
+
get hasGenerator() {
|
|
5430
|
+
return this.generator !== undefined;
|
|
5431
|
+
}
|
|
5386
5432
|
get hasExtractor() {
|
|
5387
5433
|
return this.extractor !== undefined;
|
|
5388
5434
|
}
|
|
@@ -5785,11 +5831,7 @@ class ActionsManager extends BaseManager {
|
|
|
5785
5831
|
});
|
|
5786
5832
|
}
|
|
5787
5833
|
craft(entityType, entityId, recipeId, quantity, inputs) {
|
|
5788
|
-
const cargoInputs = inputs.map((i) => Types.cargo_item.from(
|
|
5789
|
-
item_id: antelope.UInt16.from(i.itemId),
|
|
5790
|
-
quantity: antelope.UInt32.from(i.quantity),
|
|
5791
|
-
seed: i.seed !== undefined ? antelope.UInt64.from(i.seed) : null,
|
|
5792
|
-
}));
|
|
5834
|
+
const cargoInputs = inputs.map((i) => Types.cargo_item.from(i));
|
|
5793
5835
|
return this.server.action('craft', {
|
|
5794
5836
|
entity_type: entityType,
|
|
5795
5837
|
id: antelope.UInt64.from(entityId),
|
|
@@ -5798,6 +5840,14 @@ class ActionsManager extends BaseManager {
|
|
|
5798
5840
|
inputs: cargoInputs,
|
|
5799
5841
|
});
|
|
5800
5842
|
}
|
|
5843
|
+
blend(entityType, entityId, inputs) {
|
|
5844
|
+
const cargoInputs = inputs.map((i) => Types.cargo_item.from(i));
|
|
5845
|
+
return this.server.action('blend', {
|
|
5846
|
+
entity_type: entityType,
|
|
5847
|
+
id: antelope.UInt64.from(entityId),
|
|
5848
|
+
inputs: cargoInputs,
|
|
5849
|
+
});
|
|
5850
|
+
}
|
|
5801
5851
|
deploy(entityType, entityId, packedItemId, seed, entityName) {
|
|
5802
5852
|
return this.server.action('deploy', {
|
|
5803
5853
|
entity_type: entityType,
|
|
@@ -5807,6 +5857,23 @@ class ActionsManager extends BaseManager {
|
|
|
5807
5857
|
entity_name: entityName,
|
|
5808
5858
|
});
|
|
5809
5859
|
}
|
|
5860
|
+
addmodule(entityType, entityId, moduleIndex, moduleCargoId, targetCargoId = antelope.UInt64.from(0)) {
|
|
5861
|
+
return this.server.action('addmodule', {
|
|
5862
|
+
entity_type: entityType,
|
|
5863
|
+
entity_id: antelope.UInt64.from(entityId),
|
|
5864
|
+
module_index: moduleIndex,
|
|
5865
|
+
module_cargo_id: antelope.UInt64.from(moduleCargoId),
|
|
5866
|
+
target_cargo_id: antelope.UInt64.from(targetCargoId),
|
|
5867
|
+
});
|
|
5868
|
+
}
|
|
5869
|
+
rmmodule(entityType, entityId, moduleIndex, targetCargoId = antelope.UInt64.from(0)) {
|
|
5870
|
+
return this.server.action('rmmodule', {
|
|
5871
|
+
entity_type: entityType,
|
|
5872
|
+
entity_id: antelope.UInt64.from(entityId),
|
|
5873
|
+
module_index: moduleIndex,
|
|
5874
|
+
target_cargo_id: antelope.UInt64.from(targetCargoId),
|
|
5875
|
+
});
|
|
5876
|
+
}
|
|
5810
5877
|
joinGame(account, companyName) {
|
|
5811
5878
|
return [this.foundCompany(account, companyName), this.join(account)];
|
|
5812
5879
|
}
|
|
@@ -5947,26 +6014,34 @@ class Shipload {
|
|
|
5947
6014
|
}
|
|
5948
6015
|
|
|
5949
6016
|
function makeShip(state) {
|
|
5950
|
-
const
|
|
6017
|
+
const info = {
|
|
5951
6018
|
type: antelope.Name.from('ship'),
|
|
5952
6019
|
id: antelope.UInt64.from(state.id),
|
|
5953
6020
|
owner: antelope.Name.from(state.owner),
|
|
5954
6021
|
entity_name: state.name,
|
|
5955
6022
|
coordinates: Types.coordinates.from(state.coordinates),
|
|
5956
|
-
hullmass: antelope.UInt32.from(state.hullmass),
|
|
5957
|
-
capacity: antelope.UInt32.from(state.capacity),
|
|
5958
|
-
energy: antelope.UInt16.from(state.energy),
|
|
5959
6023
|
cargomass: antelope.UInt32.from(0),
|
|
5960
6024
|
cargo: state.cargo || [],
|
|
5961
6025
|
is_idle: !state.schedule,
|
|
5962
6026
|
current_task_elapsed: antelope.UInt32.from(0),
|
|
5963
6027
|
current_task_remaining: antelope.UInt32.from(0),
|
|
5964
6028
|
pending_tasks: [],
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
6029
|
+
};
|
|
6030
|
+
if (state.hullmass !== undefined)
|
|
6031
|
+
info.hullmass = antelope.UInt32.from(state.hullmass);
|
|
6032
|
+
if (state.capacity !== undefined)
|
|
6033
|
+
info.capacity = antelope.UInt32.from(state.capacity);
|
|
6034
|
+
if (state.energy !== undefined)
|
|
6035
|
+
info.energy = antelope.UInt16.from(state.energy);
|
|
6036
|
+
if (state.engines)
|
|
6037
|
+
info.engines = state.engines;
|
|
6038
|
+
if (state.generator)
|
|
6039
|
+
info.generator = state.generator;
|
|
6040
|
+
if (state.loaders)
|
|
6041
|
+
info.loaders = state.loaders;
|
|
6042
|
+
if (state.schedule)
|
|
6043
|
+
info.schedule = state.schedule;
|
|
6044
|
+
const entityInfo = Types.entity_info.from(info);
|
|
5970
6045
|
return new Ship(entityInfo);
|
|
5971
6046
|
}
|
|
5972
6047
|
function makeWarehouse(state) {
|
|
@@ -6205,9 +6280,53 @@ function resolveStats(category, stats) {
|
|
|
6205
6280
|
};
|
|
6206
6281
|
}
|
|
6207
6282
|
|
|
6283
|
+
const ITEM_ENGINE_T1 = 10006;
|
|
6284
|
+
const ITEM_GENERATOR_T1 = 10007;
|
|
6285
|
+
const ITEM_EXTRACTOR_T1 = 10014;
|
|
6286
|
+
const ITEM_LOADER_T1 = 10015;
|
|
6287
|
+
const ITEM_MANUFACTURING_T1 = 10016;
|
|
6288
|
+
const MODULE_ANY = 0;
|
|
6289
|
+
const MODULE_ENGINE = 1;
|
|
6290
|
+
const MODULE_GENERATOR = 2;
|
|
6291
|
+
const MODULE_EXTRACTOR = 3;
|
|
6292
|
+
const MODULE_LOADER = 4;
|
|
6293
|
+
const MODULE_WARP = 5;
|
|
6294
|
+
const MODULE_CRAFTER = 6;
|
|
6295
|
+
const MODULE_LAUNCHER = 7;
|
|
6296
|
+
function moduleAccepts(slotType, moduleType) {
|
|
6297
|
+
return slotType === MODULE_ANY || slotType === moduleType;
|
|
6298
|
+
}
|
|
6299
|
+
function getModuleCapabilityType(itemId) {
|
|
6300
|
+
switch (itemId) {
|
|
6301
|
+
case ITEM_ENGINE_T1:
|
|
6302
|
+
return MODULE_ENGINE;
|
|
6303
|
+
case ITEM_GENERATOR_T1:
|
|
6304
|
+
return MODULE_GENERATOR;
|
|
6305
|
+
case ITEM_EXTRACTOR_T1:
|
|
6306
|
+
return MODULE_EXTRACTOR;
|
|
6307
|
+
case ITEM_LOADER_T1:
|
|
6308
|
+
return MODULE_LOADER;
|
|
6309
|
+
case ITEM_MANUFACTURING_T1:
|
|
6310
|
+
return MODULE_CRAFTER;
|
|
6311
|
+
default:
|
|
6312
|
+
return 0xff;
|
|
6313
|
+
}
|
|
6314
|
+
}
|
|
6315
|
+
function isModuleItem(itemId) {
|
|
6316
|
+
return getModuleCapabilityType(itemId) !== 0xff;
|
|
6317
|
+
}
|
|
6318
|
+
|
|
6319
|
+
const ITEM_DRILL_SHAFT = 10009;
|
|
6320
|
+
const ITEM_EXTRACTION_PROBE = 10010;
|
|
6321
|
+
const ITEM_CARGO_ARM = 10011;
|
|
6322
|
+
const ITEM_TOOL_BIT = 10012;
|
|
6323
|
+
const ITEM_REACTION_CHAMBER = 10013;
|
|
6208
6324
|
const ITEM_HULL_PLATES = 10001;
|
|
6209
6325
|
const ITEM_CARGO_LINING = 10002;
|
|
6210
6326
|
const ITEM_CONTAINER_PACKED = 10003;
|
|
6327
|
+
const ITEM_THRUSTER_CORE = 10004;
|
|
6328
|
+
const ITEM_POWER_CELL = 10005;
|
|
6329
|
+
const ITEM_SHIP_T1_PACKED = 10008;
|
|
6211
6330
|
const components = [
|
|
6212
6331
|
{
|
|
6213
6332
|
id: ITEM_HULL_PLATES,
|
|
@@ -6219,8 +6338,8 @@ const components = [
|
|
|
6219
6338
|
{ key: 'strength', source: 'metal' },
|
|
6220
6339
|
{ key: 'density', source: 'metal' },
|
|
6221
6340
|
],
|
|
6222
|
-
recipe: [{ category: 'metal', quantity:
|
|
6223
|
-
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
6341
|
+
recipe: [{ category: 'metal', quantity: 15 }],
|
|
6342
|
+
usedIn: [{ type: 'entity', name: 'Container' }, { type: 'entity', name: 'Ship T1' }],
|
|
6224
6343
|
},
|
|
6225
6344
|
{
|
|
6226
6345
|
id: ITEM_CARGO_LINING,
|
|
@@ -6233,10 +6352,101 @@ const components = [
|
|
|
6233
6352
|
{ key: 'purity', source: 'organic' },
|
|
6234
6353
|
],
|
|
6235
6354
|
recipe: [
|
|
6236
|
-
{ category: 'precious', quantity:
|
|
6237
|
-
{ category: 'organic', quantity:
|
|
6355
|
+
{ category: 'precious', quantity: 6 },
|
|
6356
|
+
{ category: 'organic', quantity: 14 },
|
|
6238
6357
|
],
|
|
6239
|
-
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
6358
|
+
usedIn: [{ type: 'entity', name: 'Container' }, { type: 'entity', name: 'Ship T1' }],
|
|
6359
|
+
},
|
|
6360
|
+
{
|
|
6361
|
+
id: ITEM_THRUSTER_CORE,
|
|
6362
|
+
name: 'Thruster Core',
|
|
6363
|
+
description: 'High-energy propulsion component formed from volatile gases.',
|
|
6364
|
+
color: '#E86344',
|
|
6365
|
+
mass: 50000,
|
|
6366
|
+
stats: [
|
|
6367
|
+
{ key: 'volatility', source: 'gas' },
|
|
6368
|
+
{ key: 'thermal', source: 'gas' },
|
|
6369
|
+
],
|
|
6370
|
+
recipe: [{ category: 'gas', quantity: 32 }],
|
|
6371
|
+
usedIn: [{ type: 'module', name: 'Engine Module T1' }],
|
|
6372
|
+
},
|
|
6373
|
+
{
|
|
6374
|
+
id: ITEM_POWER_CELL,
|
|
6375
|
+
name: 'Power Cell',
|
|
6376
|
+
description: 'Crystalline energy storage matrix formed from resonant minerals.',
|
|
6377
|
+
color: '#7B5AE8',
|
|
6378
|
+
mass: 30000,
|
|
6379
|
+
stats: [
|
|
6380
|
+
{ key: 'resonance', source: 'mineral' },
|
|
6381
|
+
{ key: 'clarity', source: 'mineral' },
|
|
6382
|
+
],
|
|
6383
|
+
recipe: [{ category: 'mineral', quantity: 20 }],
|
|
6384
|
+
usedIn: [{ type: 'module', name: 'Generator Module T1' }],
|
|
6385
|
+
},
|
|
6386
|
+
{
|
|
6387
|
+
id: ITEM_DRILL_SHAFT,
|
|
6388
|
+
name: 'Drill Shaft',
|
|
6389
|
+
description: 'Heavy-duty metal shaft used in extraction equipment.',
|
|
6390
|
+
color: '#7B8D9E',
|
|
6391
|
+
mass: 50000,
|
|
6392
|
+
stats: [
|
|
6393
|
+
{ key: 'strength', source: 'metal' },
|
|
6394
|
+
{ key: 'tolerance', source: 'metal' },
|
|
6395
|
+
],
|
|
6396
|
+
recipe: [{ category: 'metal', quantity: 15 }],
|
|
6397
|
+
usedIn: [{ type: 'module', name: 'Extractor Module T1' }],
|
|
6398
|
+
},
|
|
6399
|
+
{
|
|
6400
|
+
id: ITEM_EXTRACTION_PROBE,
|
|
6401
|
+
name: 'Extraction Probe',
|
|
6402
|
+
description: 'Precious metal sensor array for deep resource detection.',
|
|
6403
|
+
color: '#D4A843',
|
|
6404
|
+
mass: 30000,
|
|
6405
|
+
stats: [
|
|
6406
|
+
{ key: 'conductivity', source: 'precious' },
|
|
6407
|
+
{ key: 'reflectivity', source: 'precious' },
|
|
6408
|
+
],
|
|
6409
|
+
recipe: [{ category: 'precious', quantity: 10 }],
|
|
6410
|
+
usedIn: [{ type: 'module', name: 'Extractor Module T1' }],
|
|
6411
|
+
},
|
|
6412
|
+
{
|
|
6413
|
+
id: ITEM_CARGO_ARM,
|
|
6414
|
+
name: 'Cargo Arm',
|
|
6415
|
+
description: 'Flexible organic composite arm for cargo handling.',
|
|
6416
|
+
color: '#6B8E5A',
|
|
6417
|
+
mass: 30000,
|
|
6418
|
+
stats: [
|
|
6419
|
+
{ key: 'plasticity', source: 'organic' },
|
|
6420
|
+
{ key: 'insulation', source: 'organic' },
|
|
6421
|
+
],
|
|
6422
|
+
recipe: [{ category: 'organic', quantity: 32 }],
|
|
6423
|
+
usedIn: [{ type: 'module', name: 'Loader Module T1' }],
|
|
6424
|
+
},
|
|
6425
|
+
{
|
|
6426
|
+
id: ITEM_TOOL_BIT,
|
|
6427
|
+
name: 'Tool Bit',
|
|
6428
|
+
description: 'Dense mineral cutting head for manufacturing operations.',
|
|
6429
|
+
color: '#B8A9C9',
|
|
6430
|
+
mass: 30000,
|
|
6431
|
+
stats: [
|
|
6432
|
+
{ key: 'hardness', source: 'mineral' },
|
|
6433
|
+
{ key: 'clarity', source: 'mineral' },
|
|
6434
|
+
],
|
|
6435
|
+
recipe: [{ category: 'mineral', quantity: 20 }],
|
|
6436
|
+
usedIn: [{ type: 'module', name: 'Manufacturing Module T1' }],
|
|
6437
|
+
},
|
|
6438
|
+
{
|
|
6439
|
+
id: ITEM_REACTION_CHAMBER,
|
|
6440
|
+
name: 'Reaction Chamber',
|
|
6441
|
+
description: 'Gas-pressurized vessel for controlled manufacturing reactions.',
|
|
6442
|
+
color: '#7EC8E3',
|
|
6443
|
+
mass: 50000,
|
|
6444
|
+
stats: [
|
|
6445
|
+
{ key: 'reactivity', source: 'gas' },
|
|
6446
|
+
{ key: 'thermal', source: 'gas' },
|
|
6447
|
+
],
|
|
6448
|
+
recipe: [{ category: 'gas', quantity: 32 }],
|
|
6449
|
+
usedIn: [{ type: 'module', name: 'Manufacturing Module T1' }],
|
|
6240
6450
|
},
|
|
6241
6451
|
];
|
|
6242
6452
|
const entityRecipes = [
|
|
@@ -6257,7 +6467,109 @@ const entityRecipes = [
|
|
|
6257
6467
|
{ key: 'purity', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'purity' },
|
|
6258
6468
|
],
|
|
6259
6469
|
},
|
|
6470
|
+
{
|
|
6471
|
+
id: 'ship-t1',
|
|
6472
|
+
name: 'Ship T1',
|
|
6473
|
+
description: 'General-purpose vessel with 5 module slots.',
|
|
6474
|
+
color: '#4AE898',
|
|
6475
|
+
packedItemId: ITEM_SHIP_T1_PACKED,
|
|
6476
|
+
recipe: [
|
|
6477
|
+
{ itemId: ITEM_HULL_PLATES, quantity: 8 },
|
|
6478
|
+
{ itemId: ITEM_CARGO_LINING, quantity: 4 },
|
|
6479
|
+
],
|
|
6480
|
+
stats: [
|
|
6481
|
+
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
6482
|
+
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
6483
|
+
{ key: 'ductility', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'ductility' },
|
|
6484
|
+
{ key: 'purity', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'purity' },
|
|
6485
|
+
],
|
|
6486
|
+
},
|
|
6487
|
+
];
|
|
6488
|
+
const moduleRecipes = [
|
|
6489
|
+
{
|
|
6490
|
+
id: 'engine-t1',
|
|
6491
|
+
name: 'Engine Module T1',
|
|
6492
|
+
description: 'Basic propulsion system. Converts volatile gases into thrust.',
|
|
6493
|
+
color: '#E86344',
|
|
6494
|
+
itemId: ITEM_ENGINE_T1,
|
|
6495
|
+
moduleType: MODULE_ENGINE,
|
|
6496
|
+
recipe: [{ itemId: ITEM_THRUSTER_CORE, quantity: 6 }],
|
|
6497
|
+
stats: [
|
|
6498
|
+
{ key: 'volatility', sourceComponentId: ITEM_THRUSTER_CORE, sourceStatKey: 'volatility' },
|
|
6499
|
+
{ key: 'thermal', sourceComponentId: ITEM_THRUSTER_CORE, sourceStatKey: 'thermal' },
|
|
6500
|
+
],
|
|
6501
|
+
},
|
|
6502
|
+
{
|
|
6503
|
+
id: 'generator-t1',
|
|
6504
|
+
name: 'Generator Module T1',
|
|
6505
|
+
description: 'Basic energy system. Stores and recharges energy from resonant minerals.',
|
|
6506
|
+
color: '#7B5AE8',
|
|
6507
|
+
itemId: ITEM_GENERATOR_T1,
|
|
6508
|
+
moduleType: MODULE_GENERATOR,
|
|
6509
|
+
recipe: [{ itemId: ITEM_POWER_CELL, quantity: 5 }],
|
|
6510
|
+
stats: [
|
|
6511
|
+
{ key: 'resonance', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'resonance' },
|
|
6512
|
+
{ key: 'clarity', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'clarity' },
|
|
6513
|
+
],
|
|
6514
|
+
},
|
|
6515
|
+
{
|
|
6516
|
+
id: 'extractor-t1',
|
|
6517
|
+
name: 'Extractor Module T1',
|
|
6518
|
+
description: 'Basic extraction system. Drills and probes for raw resources.',
|
|
6519
|
+
color: '#7B8D9E',
|
|
6520
|
+
itemId: ITEM_EXTRACTOR_T1,
|
|
6521
|
+
moduleType: MODULE_EXTRACTOR,
|
|
6522
|
+
recipe: [
|
|
6523
|
+
{ itemId: ITEM_DRILL_SHAFT, quantity: 4 },
|
|
6524
|
+
{ itemId: ITEM_EXTRACTION_PROBE, quantity: 3 },
|
|
6525
|
+
],
|
|
6526
|
+
stats: [
|
|
6527
|
+
{ key: 'strength', sourceComponentId: ITEM_DRILL_SHAFT, sourceStatKey: 'strength' },
|
|
6528
|
+
{ key: 'tolerance', sourceComponentId: ITEM_DRILL_SHAFT, sourceStatKey: 'tolerance' },
|
|
6529
|
+
{ key: 'reflectivity', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'reflectivity' },
|
|
6530
|
+
{ key: 'conductivity', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'conductivity' },
|
|
6531
|
+
{ key: 'reflectivity_drill', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'reflectivity' },
|
|
6532
|
+
],
|
|
6533
|
+
},
|
|
6534
|
+
{
|
|
6535
|
+
id: 'loader-t1',
|
|
6536
|
+
name: 'Loader Module T1',
|
|
6537
|
+
description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
|
|
6538
|
+
color: '#6B8E5A',
|
|
6539
|
+
itemId: ITEM_LOADER_T1,
|
|
6540
|
+
moduleType: MODULE_LOADER,
|
|
6541
|
+
recipe: [
|
|
6542
|
+
{ itemId: ITEM_CARGO_LINING, quantity: 3 },
|
|
6543
|
+
{ itemId: ITEM_CARGO_ARM, quantity: 3 },
|
|
6544
|
+
],
|
|
6545
|
+
stats: [
|
|
6546
|
+
{ key: 'ductility', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'ductility' },
|
|
6547
|
+
{ key: 'plasticity', sourceComponentId: ITEM_CARGO_ARM, sourceStatKey: 'plasticity' },
|
|
6548
|
+
],
|
|
6549
|
+
},
|
|
6550
|
+
{
|
|
6551
|
+
id: 'manufacturing-t1',
|
|
6552
|
+
name: 'Manufacturing Module T1',
|
|
6553
|
+
description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
|
|
6554
|
+
color: '#7EC8E3',
|
|
6555
|
+
itemId: ITEM_MANUFACTURING_T1,
|
|
6556
|
+
moduleType: MODULE_CRAFTER,
|
|
6557
|
+
recipe: [
|
|
6558
|
+
{ itemId: ITEM_TOOL_BIT, quantity: 3 },
|
|
6559
|
+
{ itemId: ITEM_REACTION_CHAMBER, quantity: 3 },
|
|
6560
|
+
],
|
|
6561
|
+
stats: [
|
|
6562
|
+
{ key: 'reactivity', sourceComponentId: ITEM_REACTION_CHAMBER, sourceStatKey: 'reactivity' },
|
|
6563
|
+
{ key: 'clarity', sourceComponentId: ITEM_TOOL_BIT, sourceStatKey: 'clarity' },
|
|
6564
|
+
],
|
|
6565
|
+
},
|
|
6260
6566
|
];
|
|
6567
|
+
function getModuleRecipe(id) {
|
|
6568
|
+
return moduleRecipes.find((r) => r.id === id);
|
|
6569
|
+
}
|
|
6570
|
+
function getModuleRecipeByItemId(itemId) {
|
|
6571
|
+
return moduleRecipes.find((r) => r.itemId === itemId);
|
|
6572
|
+
}
|
|
6261
6573
|
function getComponentById(id) {
|
|
6262
6574
|
return components.find((c) => c.id === id);
|
|
6263
6575
|
}
|
|
@@ -6275,6 +6587,9 @@ function getAllCraftableItems() {
|
|
|
6275
6587
|
for (const entity of entityRecipes) {
|
|
6276
6588
|
items.push({ type: 'entity', id: entity.id, name: entity.name, description: entity.description, color: entity.color });
|
|
6277
6589
|
}
|
|
6590
|
+
for (const mod of moduleRecipes) {
|
|
6591
|
+
items.push({ type: 'module', id: mod.id, name: mod.name, description: mod.description, color: mod.color });
|
|
6592
|
+
}
|
|
6278
6593
|
return items;
|
|
6279
6594
|
}
|
|
6280
6595
|
function getComponentsForCategory(category) {
|
|
@@ -6298,25 +6613,24 @@ function decodeStats(seed, count) {
|
|
|
6298
6613
|
}
|
|
6299
6614
|
return stats;
|
|
6300
6615
|
}
|
|
6616
|
+
function mapStatsToKeys(seed, statDefs) {
|
|
6617
|
+
const values = decodeStats(seed, statDefs.length);
|
|
6618
|
+
const result = {};
|
|
6619
|
+
for (let i = 0; i < statDefs.length; i++) {
|
|
6620
|
+
result[statDefs[i].key] = values[i];
|
|
6621
|
+
}
|
|
6622
|
+
return result;
|
|
6623
|
+
}
|
|
6301
6624
|
function decodeCraftedItemStats(itemId, seed) {
|
|
6302
6625
|
const comp = getComponentById(itemId);
|
|
6303
|
-
if (comp)
|
|
6304
|
-
|
|
6305
|
-
const result = {};
|
|
6306
|
-
for (let i = 0; i < comp.stats.length; i++) {
|
|
6307
|
-
result[comp.stats[i].key] = values[i];
|
|
6308
|
-
}
|
|
6309
|
-
return result;
|
|
6310
|
-
}
|
|
6626
|
+
if (comp)
|
|
6627
|
+
return mapStatsToKeys(seed, comp.stats);
|
|
6311
6628
|
const entityRecipe = entityRecipes.find((r) => r.packedItemId === itemId);
|
|
6312
|
-
if (entityRecipe)
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
}
|
|
6318
|
-
return result;
|
|
6319
|
-
}
|
|
6629
|
+
if (entityRecipe)
|
|
6630
|
+
return mapStatsToKeys(seed, entityRecipe.stats);
|
|
6631
|
+
const moduleRecipe = moduleRecipes.find((r) => r.itemId === itemId);
|
|
6632
|
+
if (moduleRecipe)
|
|
6633
|
+
return mapStatsToKeys(seed, moduleRecipe.stats);
|
|
6320
6634
|
return {};
|
|
6321
6635
|
}
|
|
6322
6636
|
function blendStacks(stacks, statKey) {
|
|
@@ -6329,7 +6643,7 @@ function blendStacks(stacks, statKey) {
|
|
|
6329
6643
|
}
|
|
6330
6644
|
if (totalQty === 0)
|
|
6331
6645
|
return 0;
|
|
6332
|
-
return Math.
|
|
6646
|
+
return Math.floor(weightedSum / totalQty);
|
|
6333
6647
|
}
|
|
6334
6648
|
function computeComponentStats(componentId, categoryStacks) {
|
|
6335
6649
|
const comp = getComponentById(componentId);
|
|
@@ -6356,7 +6670,7 @@ function blendComponentStacks(stacks) {
|
|
|
6356
6670
|
return result;
|
|
6357
6671
|
}
|
|
6358
6672
|
function computeEntityStats(entityRecipeId, componentStacks) {
|
|
6359
|
-
const recipe = getEntityRecipe(entityRecipeId);
|
|
6673
|
+
const recipe = getEntityRecipe(entityRecipeId) ?? getModuleRecipe(entityRecipeId);
|
|
6360
6674
|
if (!recipe)
|
|
6361
6675
|
return [];
|
|
6362
6676
|
const blendedByComponent = {};
|
|
@@ -6369,6 +6683,22 @@ function computeEntityStats(entityRecipeId, componentStacks) {
|
|
|
6369
6683
|
return { key: stat.key, value: Math.max(1, Math.min(999, value)) };
|
|
6370
6684
|
});
|
|
6371
6685
|
}
|
|
6686
|
+
function decodeStackStats(itemId, seed) {
|
|
6687
|
+
if (itemId >= 10000) {
|
|
6688
|
+
return decodeCraftedItemStats(itemId, BigInt(seed.toString()));
|
|
6689
|
+
}
|
|
6690
|
+
const raw = deriveResourceStats(BigInt(seed.toString()));
|
|
6691
|
+
return { stat1: raw.stat1, stat2: raw.stat2, stat3: raw.stat3 };
|
|
6692
|
+
}
|
|
6693
|
+
function blendCargoStacks(itemId, stacks) {
|
|
6694
|
+
const decoded = stacks.map((s) => ({
|
|
6695
|
+
quantity: s.quantity,
|
|
6696
|
+
stats: decodeStackStats(itemId, s.seed),
|
|
6697
|
+
}));
|
|
6698
|
+
const allKeys = Object.keys(decoded[0]?.stats ?? {});
|
|
6699
|
+
const blended = allKeys.map((key) => Math.max(1, Math.min(999, blendStacks(decoded, key))));
|
|
6700
|
+
return antelope.UInt64.from(encodeStats(blended));
|
|
6701
|
+
}
|
|
6372
6702
|
|
|
6373
6703
|
function totalCargoMass(cargo) {
|
|
6374
6704
|
return cargo.reduce((sum, c) => {
|
|
@@ -6459,16 +6789,21 @@ function calcLoadDuration(entity, cargoMass) {
|
|
|
6459
6789
|
return antelope.UInt32.from(Math.ceil(Number(cargoMass) / totalThrust));
|
|
6460
6790
|
}
|
|
6461
6791
|
|
|
6462
|
-
|
|
6792
|
+
const EXTRACTION_TIME_SCALE = 100;
|
|
6793
|
+
const DEPTH_PENALTY_DIVISOR = 5000;
|
|
6794
|
+
const DRILL_TIME_SCALE = 300;
|
|
6795
|
+
function calc_extraction_duration(extractor, itemMass, quantity, stratum, richness) {
|
|
6463
6796
|
const rate = extractor.rate.toNumber();
|
|
6464
|
-
const efficiency = extractor.efficiency.toNumber();
|
|
6465
6797
|
const drill = extractor.drill.toNumber();
|
|
6466
|
-
|
|
6467
|
-
if (rateProduct === 0)
|
|
6798
|
+
if (rate === 0 || drill === 0 || richness === 0)
|
|
6468
6799
|
return antelope.UInt32.from(0);
|
|
6469
|
-
const
|
|
6470
|
-
const
|
|
6471
|
-
|
|
6800
|
+
const massFactor = Math.sqrt(itemMass);
|
|
6801
|
+
const depthPenalty = 1 + stratum / DEPTH_PENALTY_DIVISOR;
|
|
6802
|
+
const richnessMul = richness / 1000;
|
|
6803
|
+
const extractionTime = quantity * massFactor * EXTRACTION_TIME_SCALE * depthPenalty
|
|
6804
|
+
/ (rate * richnessMul);
|
|
6805
|
+
const drillTime = DRILL_TIME_SCALE * Math.log(1 + stratum / drill);
|
|
6806
|
+
return antelope.UInt32.from(Math.floor(extractionTime + drillTime));
|
|
6472
6807
|
}
|
|
6473
6808
|
function calc_extraction_energy(extractor, duration) {
|
|
6474
6809
|
const energy = Math.floor((duration * extractor.drain.toNumber()) / PRECISION);
|
|
@@ -6478,8 +6813,287 @@ function calc_extraction_energy(extractor, duration) {
|
|
|
6478
6813
|
function capsHasCrafter(caps) {
|
|
6479
6814
|
return caps.crafter !== undefined;
|
|
6480
6815
|
}
|
|
6816
|
+
function calc_craft_duration(speed, totalInputMass, quantity) {
|
|
6817
|
+
const duration = Math.floor((totalInputMass * quantity) / speed);
|
|
6818
|
+
return antelope.UInt32.from(Math.max(duration, 1));
|
|
6819
|
+
}
|
|
6820
|
+
function calc_craft_energy(drain, duration) {
|
|
6821
|
+
return antelope.UInt16.from(Math.floor((duration * drain) / PRECISION));
|
|
6822
|
+
}
|
|
6823
|
+
|
|
6824
|
+
const categoryColors = {
|
|
6825
|
+
metal: '#7B8D9E',
|
|
6826
|
+
precious: '#D4A843',
|
|
6827
|
+
gas: '#7EC8E3',
|
|
6828
|
+
mineral: '#B8A9C9',
|
|
6829
|
+
organic: '#6B8E5A',
|
|
6830
|
+
};
|
|
6831
|
+
const tierColors = {
|
|
6832
|
+
t1: '#8b8b8b',
|
|
6833
|
+
t2: '#4ade80',
|
|
6834
|
+
t3: '#818cf8',
|
|
6835
|
+
t4: '#c084fc',
|
|
6836
|
+
t5: '#fbbf24',
|
|
6837
|
+
};
|
|
6838
|
+
const categoryIcons = {
|
|
6839
|
+
metal: '⬡',
|
|
6840
|
+
precious: '◈',
|
|
6841
|
+
gas: '◎',
|
|
6842
|
+
mineral: '◇',
|
|
6843
|
+
organic: '❋',
|
|
6844
|
+
};
|
|
6845
|
+
const componentIcon = '▣';
|
|
6846
|
+
const moduleIcon = '⬢';
|
|
6847
|
+
|
|
6848
|
+
function computeShipHullCapabilities(stats) {
|
|
6849
|
+
const density = stats.density ?? 500;
|
|
6850
|
+
const strength = stats.strength ?? 500;
|
|
6851
|
+
const ductility = stats.ductility ?? 500;
|
|
6852
|
+
const purity = stats.purity ?? 500;
|
|
6853
|
+
const hullmass = 25000 + 75 * density;
|
|
6854
|
+
const statSum = strength + ductility + purity;
|
|
6855
|
+
const exponent = statSum / 2997.0;
|
|
6856
|
+
const capacity = Math.floor(1000000 * Math.pow(10, exponent));
|
|
6857
|
+
return { hullmass, capacity };
|
|
6858
|
+
}
|
|
6859
|
+
function computeEngineCapabilities(stats) {
|
|
6860
|
+
const vol = stats.volatility ?? 500;
|
|
6861
|
+
const thm = stats.thermal ?? 500;
|
|
6862
|
+
return {
|
|
6863
|
+
thrust: 400 + Math.floor(vol * 3 / 4),
|
|
6864
|
+
drain: Math.max(16, 30 - Math.floor(thm / 70)),
|
|
6865
|
+
};
|
|
6866
|
+
}
|
|
6867
|
+
function computeGeneratorCapabilities(stats) {
|
|
6868
|
+
const res = stats.resonance ?? 500;
|
|
6869
|
+
const clr = stats.clarity ?? 500;
|
|
6870
|
+
return {
|
|
6871
|
+
capacity: 300 + Math.floor(res / 6),
|
|
6872
|
+
recharge: 5 + Math.floor(clr * 15 / 1000),
|
|
6873
|
+
};
|
|
6874
|
+
}
|
|
6875
|
+
function computeExtractorCapabilities(stats) {
|
|
6876
|
+
const str = stats.strength ?? 500;
|
|
6877
|
+
const con = stats.conductivity ?? 500;
|
|
6878
|
+
const ref = stats.reflectivity ?? 500;
|
|
6879
|
+
const tol = stats.tolerance ?? 500;
|
|
6880
|
+
return {
|
|
6881
|
+
rate: 200 + str,
|
|
6882
|
+
drain: Math.max(10, 50 - Math.floor(con / 20)),
|
|
6883
|
+
depth: 200 + Math.floor(tol * 3 / 2),
|
|
6884
|
+
drill: 100 + Math.floor(ref * 4 / 5),
|
|
6885
|
+
};
|
|
6886
|
+
}
|
|
6887
|
+
function computeLoaderCapabilities(stats) {
|
|
6888
|
+
const duc = stats.ductility ?? 500;
|
|
6889
|
+
const pla = stats.plasticity ?? 500;
|
|
6890
|
+
return {
|
|
6891
|
+
mass: Math.max(200, 2000 - Math.floor(duc * 2)),
|
|
6892
|
+
thrust: 1 + Math.floor(pla / 500),
|
|
6893
|
+
quantity: 1,
|
|
6894
|
+
};
|
|
6895
|
+
}
|
|
6896
|
+
function computeManufacturingCapabilities(stats) {
|
|
6897
|
+
const rea = stats.reactivity ?? 500;
|
|
6898
|
+
const clr = stats.clarity ?? 500;
|
|
6899
|
+
return {
|
|
6900
|
+
speed: 100 + Math.floor(rea * 4 / 5),
|
|
6901
|
+
drain: Math.max(5, 30 - Math.floor(clr / 33)),
|
|
6902
|
+
};
|
|
6903
|
+
}
|
|
6904
|
+
|
|
6905
|
+
function toNum(v) {
|
|
6906
|
+
return Number(antelope.UInt16.from(v).value.toString());
|
|
6907
|
+
}
|
|
6908
|
+
function toBigSeed(v) {
|
|
6909
|
+
return BigInt(antelope.UInt64.from(v).toString());
|
|
6910
|
+
}
|
|
6911
|
+
function resolveResource(id, seed) {
|
|
6912
|
+
const item = getItem(id);
|
|
6913
|
+
const cat = item.category;
|
|
6914
|
+
let stats;
|
|
6915
|
+
if (seed !== undefined) {
|
|
6916
|
+
const derived = deriveResourceStats(toBigSeed(seed));
|
|
6917
|
+
const defs = getStatDefinitions(cat);
|
|
6918
|
+
const values = [derived.stat1, derived.stat2, derived.stat3];
|
|
6919
|
+
stats = defs.map((d, i) => ({
|
|
6920
|
+
key: d.key,
|
|
6921
|
+
label: d.label,
|
|
6922
|
+
abbreviation: d.abbreviation,
|
|
6923
|
+
value: values[i] ?? 0,
|
|
6924
|
+
color: categoryColors[cat],
|
|
6925
|
+
category: cat,
|
|
6926
|
+
inverted: d.inverted,
|
|
6927
|
+
}));
|
|
6928
|
+
}
|
|
6929
|
+
return {
|
|
6930
|
+
itemId: id,
|
|
6931
|
+
name: String(item.name),
|
|
6932
|
+
icon: categoryIcons[cat] ?? '⬡',
|
|
6933
|
+
category: cat,
|
|
6934
|
+
tier: item.tier,
|
|
6935
|
+
mass: Number(item.mass.value.toString()),
|
|
6936
|
+
itemType: 'resource',
|
|
6937
|
+
stats,
|
|
6938
|
+
};
|
|
6939
|
+
}
|
|
6940
|
+
function resolveComponent(id, seed) {
|
|
6941
|
+
const comp = getComponentById(id);
|
|
6942
|
+
let stats;
|
|
6943
|
+
if (seed !== undefined) {
|
|
6944
|
+
const decoded = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
6945
|
+
stats = Object.entries(decoded).map(([key, value]) => {
|
|
6946
|
+
const allDefs = getStatDefinitions('metal')
|
|
6947
|
+
.concat(getStatDefinitions('precious'))
|
|
6948
|
+
.concat(getStatDefinitions('gas'))
|
|
6949
|
+
.concat(getStatDefinitions('mineral'))
|
|
6950
|
+
.concat(getStatDefinitions('organic'));
|
|
6951
|
+
const def = allDefs.find((d) => d.key === key);
|
|
6952
|
+
const statDef = comp.stats.find((s) => s.key === key);
|
|
6953
|
+
const cat = (statDef?.source ?? 'metal');
|
|
6954
|
+
return {
|
|
6955
|
+
key,
|
|
6956
|
+
label: def?.label ?? key,
|
|
6957
|
+
abbreviation: def?.abbreviation ?? key.slice(0, 3).toUpperCase(),
|
|
6958
|
+
value,
|
|
6959
|
+
color: categoryColors[cat],
|
|
6960
|
+
category: cat,
|
|
6961
|
+
inverted: def?.inverted,
|
|
6962
|
+
};
|
|
6963
|
+
});
|
|
6964
|
+
}
|
|
6965
|
+
return {
|
|
6966
|
+
itemId: id,
|
|
6967
|
+
name: comp.name,
|
|
6968
|
+
icon: componentIcon,
|
|
6969
|
+
tier: 't1',
|
|
6970
|
+
mass: comp.mass,
|
|
6971
|
+
itemType: 'component',
|
|
6972
|
+
stats,
|
|
6973
|
+
};
|
|
6974
|
+
}
|
|
6975
|
+
function computeCapabilityGroup(moduleType, stats) {
|
|
6976
|
+
switch (moduleType) {
|
|
6977
|
+
case MODULE_ENGINE: {
|
|
6978
|
+
const caps = computeEngineCapabilities(stats);
|
|
6979
|
+
return { capability: 'Engine', attributes: [
|
|
6980
|
+
{ label: 'Thrust', value: caps.thrust },
|
|
6981
|
+
{ label: 'Drain', value: caps.drain },
|
|
6982
|
+
] };
|
|
6983
|
+
}
|
|
6984
|
+
case MODULE_GENERATOR: {
|
|
6985
|
+
const caps = computeGeneratorCapabilities(stats);
|
|
6986
|
+
return { capability: 'Generator', attributes: [
|
|
6987
|
+
{ label: 'Capacity', value: caps.capacity },
|
|
6988
|
+
{ label: 'Recharge', value: caps.recharge },
|
|
6989
|
+
] };
|
|
6990
|
+
}
|
|
6991
|
+
case MODULE_EXTRACTOR: {
|
|
6992
|
+
const caps = computeExtractorCapabilities(stats);
|
|
6993
|
+
return { capability: 'Extractor', attributes: [
|
|
6994
|
+
{ label: 'Rate', value: caps.rate },
|
|
6995
|
+
{ label: 'Drain', value: caps.drain },
|
|
6996
|
+
{ label: 'Depth', value: caps.depth },
|
|
6997
|
+
{ label: 'Drill', value: caps.drill },
|
|
6998
|
+
] };
|
|
6999
|
+
}
|
|
7000
|
+
case MODULE_LOADER: {
|
|
7001
|
+
const caps = computeLoaderCapabilities(stats);
|
|
7002
|
+
return { capability: 'Loader', attributes: [
|
|
7003
|
+
{ label: 'Mass', value: caps.mass },
|
|
7004
|
+
{ label: 'Thrust', value: caps.thrust },
|
|
7005
|
+
{ label: 'Quantity', value: caps.quantity },
|
|
7006
|
+
] };
|
|
7007
|
+
}
|
|
7008
|
+
case MODULE_CRAFTER: {
|
|
7009
|
+
const caps = computeManufacturingCapabilities(stats);
|
|
7010
|
+
return { capability: 'Manufacturing', attributes: [
|
|
7011
|
+
{ label: 'Speed', value: caps.speed },
|
|
7012
|
+
{ label: 'Drain', value: caps.drain },
|
|
7013
|
+
] };
|
|
7014
|
+
}
|
|
7015
|
+
default:
|
|
7016
|
+
return undefined;
|
|
7017
|
+
}
|
|
7018
|
+
}
|
|
7019
|
+
function resolveModule(id, seed) {
|
|
7020
|
+
const recipe = getModuleRecipeByItemId(id);
|
|
7021
|
+
let attributes;
|
|
7022
|
+
if (seed !== undefined) {
|
|
7023
|
+
const stats = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
7024
|
+
const modType = getModuleCapabilityType(id);
|
|
7025
|
+
const group = computeCapabilityGroup(modType, stats);
|
|
7026
|
+
if (group)
|
|
7027
|
+
attributes = [group];
|
|
7028
|
+
}
|
|
7029
|
+
return {
|
|
7030
|
+
itemId: id,
|
|
7031
|
+
name: recipe.name,
|
|
7032
|
+
icon: moduleIcon,
|
|
7033
|
+
tier: 't1',
|
|
7034
|
+
mass: 0,
|
|
7035
|
+
itemType: 'module',
|
|
7036
|
+
attributes,
|
|
7037
|
+
};
|
|
7038
|
+
}
|
|
7039
|
+
function resolveEntity(id, seed, modules) {
|
|
7040
|
+
const recipe = getEntityRecipeByItemId(id);
|
|
7041
|
+
let attributes;
|
|
7042
|
+
if (seed !== undefined) {
|
|
7043
|
+
const stats = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
7044
|
+
attributes = [];
|
|
7045
|
+
const isShip = recipe.id === 'ship-t1';
|
|
7046
|
+
if (isShip) {
|
|
7047
|
+
const hullCaps = computeShipHullCapabilities(stats);
|
|
7048
|
+
attributes.push({ capability: 'Hull', attributes: [
|
|
7049
|
+
{ label: 'Mass', value: hullCaps.hullmass },
|
|
7050
|
+
{ label: 'Capacity', value: hullCaps.capacity },
|
|
7051
|
+
] });
|
|
7052
|
+
}
|
|
7053
|
+
else {
|
|
7054
|
+
const containerCaps = computeContainerCapabilities(stats);
|
|
7055
|
+
attributes.push({ capability: 'Hull', attributes: [
|
|
7056
|
+
{ label: 'Mass', value: containerCaps.hullmass },
|
|
7057
|
+
{ label: 'Capacity', value: containerCaps.capacity },
|
|
7058
|
+
] });
|
|
7059
|
+
}
|
|
7060
|
+
if (modules) {
|
|
7061
|
+
for (const mod of modules) {
|
|
7062
|
+
if (!mod.installed)
|
|
7063
|
+
continue;
|
|
7064
|
+
const modItemId = Number(mod.installed.item_id.value.toString());
|
|
7065
|
+
const modSeed = BigInt(mod.installed.seed.toString());
|
|
7066
|
+
const modStats = decodeCraftedItemStats(modItemId, modSeed);
|
|
7067
|
+
const modType = getModuleCapabilityType(modItemId);
|
|
7068
|
+
const group = computeCapabilityGroup(modType, modStats);
|
|
7069
|
+
if (group)
|
|
7070
|
+
attributes.push(group);
|
|
7071
|
+
}
|
|
7072
|
+
}
|
|
7073
|
+
}
|
|
7074
|
+
return {
|
|
7075
|
+
itemId: id,
|
|
7076
|
+
name: recipe.name,
|
|
7077
|
+
icon: componentIcon,
|
|
7078
|
+
tier: 't1',
|
|
7079
|
+
mass: 0,
|
|
7080
|
+
itemType: 'entity',
|
|
7081
|
+
attributes,
|
|
7082
|
+
};
|
|
7083
|
+
}
|
|
7084
|
+
function resolveItem(itemId, seed, modules) {
|
|
7085
|
+
const id = toNum(itemId);
|
|
7086
|
+
if (isModuleItem(id))
|
|
7087
|
+
return resolveModule(id, seed);
|
|
7088
|
+
if (getComponentById(id))
|
|
7089
|
+
return resolveComponent(id, seed);
|
|
7090
|
+
if (getEntityRecipeByItemId(id))
|
|
7091
|
+
return resolveEntity(id, seed, modules);
|
|
7092
|
+
return resolveResource(id, seed);
|
|
7093
|
+
}
|
|
6481
7094
|
|
|
6482
7095
|
exports.ActionsManager = ActionsManager;
|
|
7096
|
+
exports.BASE_ORBITAL_MASS = BASE_ORBITAL_MASS;
|
|
6483
7097
|
exports.COMMIT_ALREADY_SET = COMMIT_ALREADY_SET;
|
|
6484
7098
|
exports.COMMIT_CANNOT_MATCH = COMMIT_CANNOT_MATCH;
|
|
6485
7099
|
exports.COMMIT_NOT_SET = COMMIT_NOT_SET;
|
|
@@ -6506,31 +7120,29 @@ exports.GAME_SEED_NOT_SET = GAME_SEED_NOT_SET;
|
|
|
6506
7120
|
exports.GameState = GameState;
|
|
6507
7121
|
exports.INITIAL_CONTAINER_CAPACITY = INITIAL_CONTAINER_CAPACITY;
|
|
6508
7122
|
exports.INITIAL_CONTAINER_HULLMASS = INITIAL_CONTAINER_HULLMASS;
|
|
6509
|
-
exports.INITIAL_EXTRACTOR_DRAIN = INITIAL_EXTRACTOR_DRAIN;
|
|
6510
|
-
exports.INITIAL_EXTRACTOR_EFFICIENCY = INITIAL_EXTRACTOR_EFFICIENCY;
|
|
6511
|
-
exports.INITIAL_EXTRACTOR_RATE = INITIAL_EXTRACTOR_RATE;
|
|
6512
|
-
exports.INITIAL_LOADER_MASS = INITIAL_LOADER_MASS;
|
|
6513
|
-
exports.INITIAL_LOADER_QUANTITY = INITIAL_LOADER_QUANTITY;
|
|
6514
|
-
exports.INITIAL_LOADER_THRUST = INITIAL_LOADER_THRUST;
|
|
6515
|
-
exports.INITIAL_SHIP_CAPACITY = INITIAL_SHIP_CAPACITY;
|
|
6516
|
-
exports.INITIAL_SHIP_DRAIN = INITIAL_SHIP_DRAIN;
|
|
6517
|
-
exports.INITIAL_SHIP_ENERGY = INITIAL_SHIP_ENERGY;
|
|
6518
|
-
exports.INITIAL_SHIP_GENERATOR_CAPACITY = INITIAL_SHIP_GENERATOR_CAPACITY;
|
|
6519
|
-
exports.INITIAL_SHIP_HULLMASS = INITIAL_SHIP_HULLMASS;
|
|
6520
|
-
exports.INITIAL_SHIP_MASS = INITIAL_SHIP_MASS;
|
|
6521
|
-
exports.INITIAL_SHIP_RECHARGE = INITIAL_SHIP_RECHARGE;
|
|
6522
|
-
exports.INITIAL_SHIP_THRUST = INITIAL_SHIP_THRUST;
|
|
6523
|
-
exports.INITIAL_SHIP_Z = INITIAL_SHIP_Z;
|
|
6524
7123
|
exports.INITIAL_WAREHOUSE_CAPACITY = INITIAL_WAREHOUSE_CAPACITY;
|
|
6525
7124
|
exports.INSUFFICIENT_BALANCE = INSUFFICIENT_BALANCE;
|
|
6526
7125
|
exports.INSUFFICIENT_ITEM_QUANTITY = INSUFFICIENT_ITEM_QUANTITY;
|
|
6527
7126
|
exports.INSUFFICIENT_ITEM_SUPPLY = INSUFFICIENT_ITEM_SUPPLY;
|
|
6528
7127
|
exports.INVALID_AMOUNT = INVALID_AMOUNT;
|
|
7128
|
+
exports.ITEM_CARGO_ARM = ITEM_CARGO_ARM;
|
|
6529
7129
|
exports.ITEM_CARGO_LINING = ITEM_CARGO_LINING;
|
|
6530
7130
|
exports.ITEM_CONTAINER_PACKED = ITEM_CONTAINER_PACKED;
|
|
6531
7131
|
exports.ITEM_DOES_NOT_EXIST = ITEM_DOES_NOT_EXIST;
|
|
7132
|
+
exports.ITEM_DRILL_SHAFT = ITEM_DRILL_SHAFT;
|
|
7133
|
+
exports.ITEM_ENGINE_T1 = ITEM_ENGINE_T1;
|
|
7134
|
+
exports.ITEM_EXTRACTION_PROBE = ITEM_EXTRACTION_PROBE;
|
|
7135
|
+
exports.ITEM_EXTRACTOR_T1 = ITEM_EXTRACTOR_T1;
|
|
7136
|
+
exports.ITEM_GENERATOR_T1 = ITEM_GENERATOR_T1;
|
|
6532
7137
|
exports.ITEM_HULL_PLATES = ITEM_HULL_PLATES;
|
|
7138
|
+
exports.ITEM_LOADER_T1 = ITEM_LOADER_T1;
|
|
7139
|
+
exports.ITEM_MANUFACTURING_T1 = ITEM_MANUFACTURING_T1;
|
|
6533
7140
|
exports.ITEM_NOT_AVAILABLE_AT_LOCATION = ITEM_NOT_AVAILABLE_AT_LOCATION;
|
|
7141
|
+
exports.ITEM_POWER_CELL = ITEM_POWER_CELL;
|
|
7142
|
+
exports.ITEM_REACTION_CHAMBER = ITEM_REACTION_CHAMBER;
|
|
7143
|
+
exports.ITEM_SHIP_T1_PACKED = ITEM_SHIP_T1_PACKED;
|
|
7144
|
+
exports.ITEM_THRUSTER_CORE = ITEM_THRUSTER_CORE;
|
|
7145
|
+
exports.ITEM_TOOL_BIT = ITEM_TOOL_BIT;
|
|
6534
7146
|
exports.InventoryAccessor = InventoryAccessor;
|
|
6535
7147
|
exports.LOCATION_MAX_DEPTH = LOCATION_MAX_DEPTH;
|
|
6536
7148
|
exports.LOCATION_MIN_DEPTH = LOCATION_MIN_DEPTH;
|
|
@@ -6538,6 +7150,14 @@ exports.Location = Location;
|
|
|
6538
7150
|
exports.LocationsManager = LocationsManager;
|
|
6539
7151
|
exports.MAX_ORBITAL_ALTITUDE = MAX_ORBITAL_ALTITUDE;
|
|
6540
7152
|
exports.MIN_ORBITAL_ALTITUDE = MIN_ORBITAL_ALTITUDE;
|
|
7153
|
+
exports.MODULE_ANY = MODULE_ANY;
|
|
7154
|
+
exports.MODULE_CRAFTER = MODULE_CRAFTER;
|
|
7155
|
+
exports.MODULE_ENGINE = MODULE_ENGINE;
|
|
7156
|
+
exports.MODULE_EXTRACTOR = MODULE_EXTRACTOR;
|
|
7157
|
+
exports.MODULE_GENERATOR = MODULE_GENERATOR;
|
|
7158
|
+
exports.MODULE_LAUNCHER = MODULE_LAUNCHER;
|
|
7159
|
+
exports.MODULE_LOADER = MODULE_LOADER;
|
|
7160
|
+
exports.MODULE_WARP = MODULE_WARP;
|
|
6541
7161
|
exports.NO_SCHEDULE = NO_SCHEDULE;
|
|
6542
7162
|
exports.PLANET_SUBTYPE_GAS_GIANT = PLANET_SUBTYPE_GAS_GIANT;
|
|
6543
7163
|
exports.PLANET_SUBTYPE_ICY = PLANET_SUBTYPE_ICY;
|
|
@@ -6583,12 +7203,15 @@ exports.WAREHOUSE_Z = WAREHOUSE_Z;
|
|
|
6583
7203
|
exports.Warehouse = Warehouse;
|
|
6584
7204
|
exports.availableCapacity = availableCapacity$1;
|
|
6585
7205
|
exports.availableCapacityFromMass = availableCapacityFromMass;
|
|
7206
|
+
exports.blendCargoStacks = blendCargoStacks;
|
|
6586
7207
|
exports.blendComponentStacks = blendComponentStacks;
|
|
6587
7208
|
exports.blendStacks = blendStacks;
|
|
6588
7209
|
exports.calcCargoMass = calcCargoMass;
|
|
6589
7210
|
exports.calcEnergyUsage = calcEnergyUsage;
|
|
6590
7211
|
exports.calcLoadDuration = calcLoadDuration;
|
|
6591
7212
|
exports.calc_acceleration = calc_acceleration;
|
|
7213
|
+
exports.calc_craft_duration = calc_craft_duration;
|
|
7214
|
+
exports.calc_craft_energy = calc_craft_energy;
|
|
6592
7215
|
exports.calc_energyusage = calc_energyusage;
|
|
6593
7216
|
exports.calc_extraction_duration = calc_extraction_duration;
|
|
6594
7217
|
exports.calc_extraction_energy = calc_extraction_energy;
|
|
@@ -6614,10 +7237,19 @@ exports.capsHasMass = capsHasMass;
|
|
|
6614
7237
|
exports.capsHasMovement = capsHasMovement;
|
|
6615
7238
|
exports.capsHasStorage = capsHasStorage;
|
|
6616
7239
|
exports.cargoUtils = cargoUtils;
|
|
7240
|
+
exports.categoryColors = categoryColors;
|
|
7241
|
+
exports.categoryIcons = categoryIcons;
|
|
7242
|
+
exports.componentIcon = componentIcon;
|
|
6617
7243
|
exports.components = components;
|
|
6618
7244
|
exports.computeComponentStats = computeComponentStats;
|
|
6619
7245
|
exports.computeContainerCapabilities = computeContainerCapabilities;
|
|
7246
|
+
exports.computeEngineCapabilities = computeEngineCapabilities;
|
|
6620
7247
|
exports.computeEntityStats = computeEntityStats;
|
|
7248
|
+
exports.computeExtractorCapabilities = computeExtractorCapabilities;
|
|
7249
|
+
exports.computeGeneratorCapabilities = computeGeneratorCapabilities;
|
|
7250
|
+
exports.computeLoaderCapabilities = computeLoaderCapabilities;
|
|
7251
|
+
exports.computeManufacturingCapabilities = computeManufacturingCapabilities;
|
|
7252
|
+
exports.computeShipHullCapabilities = computeShipHullCapabilities;
|
|
6621
7253
|
exports.coordsToLocationId = coordsToLocationId;
|
|
6622
7254
|
exports.createInventoryAccessor = createInventoryAccessor;
|
|
6623
7255
|
exports.createProjectedEntity = createProjectedEntity;
|
|
@@ -6656,6 +7288,9 @@ exports.getItem = getItem;
|
|
|
6656
7288
|
exports.getItems = getItems;
|
|
6657
7289
|
exports.getLocationCandidates = getLocationCandidates;
|
|
6658
7290
|
exports.getLocationType = getLocationType;
|
|
7291
|
+
exports.getModuleCapabilityType = getModuleCapabilityType;
|
|
7292
|
+
exports.getModuleRecipe = getModuleRecipe;
|
|
7293
|
+
exports.getModuleRecipeByItemId = getModuleRecipeByItemId;
|
|
6659
7294
|
exports.getPositionAt = getPositionAt;
|
|
6660
7295
|
exports.getResourceTier = getResourceTier;
|
|
6661
7296
|
exports.getResourceWeight = getResourceWeight;
|
|
@@ -6677,17 +7312,23 @@ exports.hash512 = hash512;
|
|
|
6677
7312
|
exports.isExtractableLocation = isExtractableLocation;
|
|
6678
7313
|
exports.isFull = isFull$1;
|
|
6679
7314
|
exports.isFullFromMass = isFullFromMass;
|
|
7315
|
+
exports.isModuleItem = isModuleItem;
|
|
6680
7316
|
exports.itemIds = itemIds;
|
|
6681
7317
|
exports.lerp = lerp;
|
|
6682
7318
|
exports.makeContainer = makeContainer;
|
|
6683
7319
|
exports.makeShip = makeShip;
|
|
6684
7320
|
exports.makeWarehouse = makeWarehouse;
|
|
6685
7321
|
exports.maxTravelDistance = maxTravelDistance;
|
|
7322
|
+
exports.moduleAccepts = moduleAccepts;
|
|
7323
|
+
exports.moduleIcon = moduleIcon;
|
|
7324
|
+
exports.moduleRecipes = moduleRecipes;
|
|
6686
7325
|
exports.needsRecharge = needsRecharge;
|
|
6687
7326
|
exports.projectEntity = projectEntity;
|
|
6688
7327
|
exports.projectEntityAt = projectEntityAt;
|
|
7328
|
+
exports.resolveItem = resolveItem;
|
|
6689
7329
|
exports.resolveStats = resolveStats;
|
|
6690
7330
|
exports.rotation = rotation;
|
|
6691
7331
|
exports.schedule = schedule;
|
|
7332
|
+
exports.tierColors = tierColors;
|
|
6692
7333
|
exports.toLocation = toLocation;
|
|
6693
7334
|
//# sourceMappingURL=shipload.js.map
|