@layerzerolabs/onesig-stellar-sdk 0.2.41 → 0.2.43
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/dist/{E77JAAZY.mjs → 3KAC6CWV.mjs} +3 -3
- package/dist/{E77JAAZY.mjs.map → 3KAC6CWV.mjs.map} +1 -1
- package/dist/{4BTGVD44.js → H5QQRGUW.js} +2 -2
- package/dist/H5QQRGUW.js.map +1 -0
- package/dist/{GSREWZBT.js → NU6F2MXQ.js} +4 -4
- package/dist/{GSREWZBT.js.map → NU6F2MXQ.js.map} +1 -1
- package/dist/{LWB5RMS5.mjs → T56IMIRG.mjs} +2 -2
- package/dist/T56IMIRG.mjs.map +1 -0
- package/dist/generated/index.d.ts +0 -1
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +17 -17
- package/dist/generated/index.mjs +1 -1
- package/dist/index.js +19 -19
- package/dist/index.mjs +2 -2
- package/dist/leafGenerator.js +3 -3
- package/dist/leafGenerator.mjs +2 -2
- package/package.json +11 -6
- package/dist/4BTGVD44.js.map +0 -1
- package/dist/LWB5RMS5.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Client } from './
|
|
1
|
+
import { Client } from './T56IMIRG.mjs';
|
|
2
2
|
import { __name } from './YYM473VY.mjs';
|
|
3
3
|
import { Address, StrKey } from '@stellar/stellar-sdk';
|
|
4
4
|
|
|
@@ -39,5 +39,5 @@ function stellarLeafGenerator(leafs) {
|
|
|
39
39
|
__name(stellarLeafGenerator, "stellarLeafGenerator");
|
|
40
40
|
|
|
41
41
|
export { stellarLeafGenerator };
|
|
42
|
-
//# sourceMappingURL=
|
|
43
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=3KAC6CWV.mjs.map
|
|
43
|
+
//# sourceMappingURL=3KAC6CWV.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/leafGenerator.ts"],"names":["ONE_SIG_SPEC","Client","contractId","rpcUrl","networkPassphrase","allowHttp","spec","callsInput","getFunc","inputs","find","input","name","toString","Error","VEC_CALL_TYPE","type","stellarLeafGenerator","leafs","encodeAddress","address","StrKey","decodeContract","encodeCalls","calls","length","callObjects","map","call","to","Address","fromString","contractAddress","func","functionName","args","nativeToScVal","toXDR"],"mappings":";;;;AAQA,IAAMA,YAAAA,GAAe,IAAIC,MAAAA,CAAO;EAC5BC,UAAAA,EAAY,EAAA;EACZC,MAAAA,EAAQ,EAAA;EACRC,iBAAAA,EAAmB,EAAA;EACnBC,SAAAA,EAAW;AACf,CAAA,CAAA,CAAGC,IAAAA;AACH,IAAMC,UAAAA,GAAaP,YAAAA,CAAaQ,OAAAA,CAAQ,aAAA,EACnCC,MAAAA,EAAM,CACNC,IAAAA,CAAK,CAACC,UAAqCA,KAAAA,CAAMC,IAAAA,EAAI,CAAGC,QAAAA,OAAe,OAAA,CAAA;AAC5E,IAAI,CAACN,UAAAA,EAAY,MAAM,IAAIO,MAAM,wDAAA,CAAA;AACjC,IAAMC,aAAAA,GAAgBR,WAAWS,IAAAA,EAAI;AAiB9B,SAASC,qBACZC,KAAAA,EAAwB;AAExB,EAAA,OAAO;AACHA,IAAAA,KAAAA;;AAGAC,IAAAA,aAAAA,CAAcC,OAAAA,EAAe;AACzB,MAAA,IAAI;AACA,QAAA,OAAOC,MAAAA,CAAOC,eAAeF,OAAAA,CAAAA;MACjC,CAAA,CAAA,MAAQ;AACJ,QAAA,MAAM,IAAIN,KAAAA,CAAM,CAAA,iCAAA,EAAoCM,OAAAA,CAAAA,gBAAAA,CAAyB,CAAA;AACjF,MAAA;AACJ,IAAA,CAAA;;AAGAG,IAAAA,WAAAA,CAAYC,KAAAA,EAAoB;AAC5B,MAAA,IAAIA,KAAAA,CAAMC,WAAW,CAAA,EAAG;AACpB,QAAA,MAAM,IAAIX,MAAM,0CAAA,CAAA;AACpB,MAAA;AAEA,MAAA,MAAMY,WAAAA,GAAcF,KAAAA,CAAMG,GAAAA,CAAI,CAACC,IAAAA,MAAU;QACrCC,EAAAA,EAAIC,OAAAA,CAAQC,UAAAA,CAAWH,IAAAA,CAAKI,eAAe,CAAA;AAC3CC,QAAAA,IAAAA,EAAML,IAAAA,CAAKM,YAAAA;AACXC,QAAAA,IAAAA,EAAMP,IAAAA,CAAKO;OACf,CAAA,CAAA;AAEA,MAAA,OAAOnC,YAAAA,CAAaoC,aAAAA,CAAcV,WAAAA,EAAaX,aAAAA,EAAesB,KAAAA,EAAK;AACvE,IAAA;AACJ,GAAA;AACJ;AA9BgBpB,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/leafGenerator.ts"],"names":["ONE_SIG_SPEC","Client","contractId","rpcUrl","networkPassphrase","allowHttp","spec","callsInput","getFunc","inputs","find","input","name","toString","Error","VEC_CALL_TYPE","type","stellarLeafGenerator","leafs","encodeAddress","address","StrKey","decodeContract","encodeCalls","calls","length","callObjects","map","call","to","Address","fromString","contractAddress","func","functionName","args","nativeToScVal","toXDR"],"mappings":";;;;AAQA,IAAMA,YAAAA,GAAe,IAAIC,MAAAA,CAAO;EAC5BC,UAAAA,EAAY,EAAA;EACZC,MAAAA,EAAQ,EAAA;EACRC,iBAAAA,EAAmB,EAAA;EACnBC,SAAAA,EAAW;AACf,CAAA,CAAA,CAAGC,IAAAA;AACH,IAAMC,UAAAA,GAAaP,YAAAA,CAAaQ,OAAAA,CAAQ,aAAA,EACnCC,MAAAA,EAAM,CACNC,IAAAA,CAAK,CAACC,UAAqCA,KAAAA,CAAMC,IAAAA,EAAI,CAAGC,QAAAA,OAAe,OAAA,CAAA;AAC5E,IAAI,CAACN,UAAAA,EAAY,MAAM,IAAIO,MAAM,wDAAA,CAAA;AACjC,IAAMC,aAAAA,GAAgBR,WAAWS,IAAAA,EAAI;AAiB9B,SAASC,qBACZC,KAAAA,EAAwB;AAExB,EAAA,OAAO;AACHA,IAAAA,KAAAA;;AAGAC,IAAAA,aAAAA,CAAcC,OAAAA,EAAe;AACzB,MAAA,IAAI;AACA,QAAA,OAAOC,MAAAA,CAAOC,eAAeF,OAAAA,CAAAA;MACjC,CAAA,CAAA,MAAQ;AACJ,QAAA,MAAM,IAAIN,KAAAA,CAAM,CAAA,iCAAA,EAAoCM,OAAAA,CAAAA,gBAAAA,CAAyB,CAAA;AACjF,MAAA;AACJ,IAAA,CAAA;;AAGAG,IAAAA,WAAAA,CAAYC,KAAAA,EAAoB;AAC5B,MAAA,IAAIA,KAAAA,CAAMC,WAAW,CAAA,EAAG;AACpB,QAAA,MAAM,IAAIX,MAAM,0CAAA,CAAA;AACpB,MAAA;AAEA,MAAA,MAAMY,WAAAA,GAAcF,KAAAA,CAAMG,GAAAA,CAAI,CAACC,IAAAA,MAAU;QACrCC,EAAAA,EAAIC,OAAAA,CAAQC,UAAAA,CAAWH,IAAAA,CAAKI,eAAe,CAAA;AAC3CC,QAAAA,IAAAA,EAAML,IAAAA,CAAKM,YAAAA;AACXC,QAAAA,IAAAA,EAAMP,IAAAA,CAAKO;OACf,CAAA,CAAA;AAEA,MAAA,OAAOnC,YAAAA,CAAaoC,aAAAA,CAAcV,WAAAA,EAAaX,aAAAA,EAAesB,KAAAA,EAAK;AACvE,IAAA;AACJ,GAAA;AACJ;AA9BgBpB,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA","file":"3KAC6CWV.mjs","sourcesContent":["import type { xdr } from '@stellar/stellar-sdk';\nimport { Address, StrKey } from '@stellar/stellar-sdk';\n\nimport { type BaseLeafData, type GenerateLeafsResult } from '@layerzerolabs/onesig-core';\n\nimport { Client } from './generated/index';\n\n// Get the contract spec and Vec<Call> type at module load\nconst ONE_SIG_SPEC = new Client({\n contractId: '',\n rpcUrl: '',\n networkPassphrase: '',\n allowHttp: true,\n}).spec;\nconst callsInput = ONE_SIG_SPEC.getFunc('encode_leaf')\n .inputs()\n .find((input: xdr.ScSpecFunctionInputV0) => input.name().toString() === 'calls');\nif (!callsInput) throw new Error('Could not find calls parameter in encode_leaf function');\nconst VEC_CALL_TYPE = callsInput.type();\n\n/**\n * Stellar contract call data structure\n *\n * Arguments are provided as pre-encoded ScVal[] matching the contract function's parameter types.\n * The entire Call struct (to, func, args) is encoded using nativeToScVal for XDR encoding.\n */\nexport interface StellarCall {\n contractAddress: string; // Soroban contract address (C...)\n functionName: string; // Function name to call\n args: xdr.ScVal[]; // Function arguments as ScVal[] matching contract parameters\n}\n\nexport type StellarLeafData = BaseLeafData<string, StellarCall>;\n\n/** Generates Stellar leaf data for OneSig Merkle tree */\nexport function stellarLeafGenerator(\n leafs: StellarLeafData[],\n): GenerateLeafsResult<StellarLeafData> {\n return {\n leafs,\n\n /** Encode OneSig contract address (C...) to 32-byte buffer */\n encodeAddress(address: string): Buffer {\n try {\n return StrKey.decodeContract(address);\n } catch {\n throw new Error(`Invalid OneSig contract address: ${address}. Expected: C...`);\n }\n },\n\n /** Encode Stellar contract calls to XDR buffer using Vec<Call> encoding */\n encodeCalls(calls: StellarCall[]): Buffer {\n if (calls.length === 0) {\n throw new Error('Stellar leaf must have at least one call');\n }\n\n const callObjects = calls.map((call) => ({\n to: Address.fromString(call.contractAddress),\n func: call.functionName,\n args: call.args,\n }));\n\n return ONE_SIG_SPEC.nativeToScVal(callObjects, VEC_CALL_TYPE).toXDR();\n },\n };\n}\n"]}
|
|
@@ -317,5 +317,5 @@ Object.keys(stellarSdk).forEach(function (k) {
|
|
|
317
317
|
get: function () { return stellarSdk[k]; }
|
|
318
318
|
});
|
|
319
319
|
});
|
|
320
|
-
//# sourceMappingURL=
|
|
321
|
-
//# sourceMappingURL=
|
|
320
|
+
//# sourceMappingURL=H5QQRGUW.js.map
|
|
321
|
+
//# sourceMappingURL=H5QQRGUW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/index.ts"],"names":["WASM_BASE64","WASM_HASH","getWasmBuffer","Buffer","from","OneSigError","message","BufferReaderError","BufferWriterError","TtlConfigurableError","OwnableError","BytesExtError","UpgradeableError","MultiSigError","AuthError","RbacError","Client","ContractClient","deploy","onesig_id","seed","signers","threshold","executors","executor_required","options","ContractSpec","fromJSON","set_executor","txFromJSON","set_executor_required","get_executors","is_executor","total_executors","set_seed","verify_merkle_root","verify_transaction_proof","encode_leaf","can_execute_transaction","nonce","version","leaf_encoding_version","authorizer","set_signer","set_threshold","get_signers","total_signers","is_signer","verify_signatures","verify_n_signatures","extend_instance_ttl","set_ttl_configs","ttl_configs","freeze_ttl_configs","is_ttl_configs_frozen"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCO,IAAMA,WAAAA,GAAc;AAMpB,IAAMC,SAAAA,GAAY;AAMlB,SAASC,aAAAA,GAAAA;AACd,EAAA,OAAOC,aAAAA,CAAOC,IAAAA,CAAKJ,WAAAA,EAAa,QAAA,CAAA;AAClC;AAFgBE,kBAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA;AAQT,IAAMG,WAAAA,GAAc;EACzB,CAAA,EAAG;IAACC,OAAAA,EAAQ;AAAuB,GAAA;EACnC,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAA4B,GAAA;EACxC,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAAkB,GAAA;EAC9B,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAAqB,GAAA;EACjC,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAAmB,GAAA;EAC/B,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAAmB,GAAA;EAC/B,CAAA,EAAG;IAACA,OAAAA,EAAQ;AAAsB;AACpC;AA+EO,IAAMC,iBAAAA,GAAoB;EAC/B,GAAA,EAAM;IAACD,OAAAA,EAAQ;AAAe,GAAA;EAC9B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAuB;AACxC;AAKO,IAAME,iBAAAA,GAAoB;EAC/B,IAAA,EAAM;IAACF,OAAAA,EAAQ;AAAuB;AACxC;AAKO,IAAMG,oBAAAA,GAAuB;EAClC,IAAA,EAAM;IAACH,OAAAA,EAAQ;AAAkB,GAAA;EACjC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAiB,GAAA;EAChC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAwB;AACzC;AAKO,IAAMI,YAAAA,GAAe;EAC1B,IAAA,EAAM;IAACJ,OAAAA,EAAQ;AAAmB,GAAA;EAClC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAqB,GAAA;EACpC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAY,GAAA;EAC3B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAmB,GAAA;EAClC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAiB,GAAA;EAChC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAa,GAAA;EAC5B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAoB;AACrC;AAKO,IAAMK,aAAAA,GAAgB;EAC3B,IAAA,EAAM;IAACL,OAAAA,EAAQ;AAAgB;AACjC;AAKO,IAAMM,gBAAAA,GAAmB;EAC9B,IAAA,EAAM;IAACN,OAAAA,EAAQ;AAAsB,GAAA;EACrC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAqB;AACtC;AAKO,IAAMO,aAAAA,GAAgB;EAC3B,IAAA,EAAM;IAACP,OAAAA,EAAQ;AAAoB,GAAA;EACnC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAmB,GAAA;EAClC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAe,GAAA;EAC9B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAgB,GAAA;EAC/B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAqB,GAAA;EACpC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAgB,GAAA;EAC/B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAA+B,GAAA;EAC9C,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAiB,GAAA;EAChC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAe;AAChC;AAKO,IAAMQ,SAAAA,GAAY;EACvB,IAAA,EAAM;IAACR,OAAAA,EAAQ;AAAoB;AACrC;AAKO,IAAMS,SAAAA,GAAY;EACvB,IAAA,EAAM;IAACT,OAAAA,EAAQ;AAAmB,GAAA;EAClC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAkB,GAAA;EACjC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAkB,GAAA;EACjC,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAa,GAAA;EAC5B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAc,GAAA;EAC7B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAa,GAAA;EAC5B,IAAA,EAAM;IAACA,OAAAA,EAAQ;AAAc;AAC/B;AAiPO,IAAMU,MAAAA,GAAN,cAAqBC,eAAAA,CAAAA;EA9c5B;;;;EA+cE,aAAaC,MAAAA,CAEP,EAACC,SAAAA,EAAWC,IAAAA,EAAMC,SAASC,SAAAA,EAAWC,SAAAA,EAAWC,iBAAAA,EAAiB,EAEtEC,OAAAA,EASkC;AAClC,IAAA,OAAOR,gBAAeC,MAAAA,CAAO;AAACC,MAAAA,SAAAA;AAAWC,MAAAA,IAAAA;AAAMC,MAAAA,OAAAA;AAASC,MAAAA,SAAAA;AAAWC,MAAAA,SAAAA;AAAWC,MAAAA;AAAiB,KAAA,EAAGC,OAAAA,CAAAA;AACpG,EAAA;AACA,EAAA,WAAA,CAA4BA,OAAAA,EAAgC;AAC1D,IAAA,KAAA,CACE,IAAIC,aAAAA,CAAa;AAAE,MAAA,kKAAA;AACjB,MAAA,8OAAA;AACA,MAAA,0NAAA;AACA,MAAA,8MAAA;AACA,MAAA,kWAAA;AACA,MAAA,8cAAA;AACA,MAAA,kZAAA;AACA,MAAA,0uBAAA;AACA,MAAA,0sBAAA;AACA,MAAA,8dAAA;AACA,MAAA,kLAAA;AACA,MAAA,kKAAA;AACA,MAAA,kIAAA;AACA,MAAA,8JAAA;AACA,MAAA,8HAAA;AACA,MAAA,kIAAA;AACA,MAAA,0OAAA;AACA,MAAA,0KAAA;AACA,MAAA,0QAAA;AACA,MAAA,8QAAA;AACA,MAAA,0SAAA;AACA,MAAA,kPAAA;AACA,MAAA,kIAAA;AACA,MAAA,kGAAA;AACA,MAAA,kIAAA;AACA,MAAA,8FAAA;AACA,MAAA,kKAAA;AACA,MAAA,87BAAA;AACA,MAAA,0DAAA;AACA,MAAA,8MAAA;AACA,MAAA,8KAAA;AACA,MAAA,0GAAA;AACA,MAAA,0HAAA;AACA,MAAA,8IAAA;AACA,MAAA,0HAAA;AACA,MAAA,8MAAA;AACA,MAAA,kOAAA;AACA,MAAA,0VAAA;AACA,MAAA,0rBAAA;AACA,MAAA,0NAAA;AACA,MAAA,0WAAA;AACA,MAAA,0HAAA;AACA,MAAA,kMAAA;AACA,MAAA,kLAAA;AACA,MAAA,8IAAA;AACA,MAAA,8NAAA;AACA,MAAA,8VAAA;AACA,MAAA,0HAAA;AACA,MAAA,8KAAA;AACA,MAAA,0cAAA;AACA,MAAA,kHAAA;AACA,MAAA,8TAAA;AACA,MAAA,kNAAA;AACA,MAAA,kMAAA;AACA,MAAA,8GAAA;AACA,MAAA,0SAAA;AACA,MAAA,kSAAA;AACA,MAAA,8RAAA;AACA,MAAA,kMAAA;AACA,MAAA,8GAAA;AACA,MAAA,8NAAA;AACA,MAAA,8NAAA;AACA,MAAA,0RAAA;AACA,MAAA,0SAAA;AACA,MAAA,8UAAA;AACA,MAAA,0QAAA;AACA,MAAA,0JAAA;AACA,MAAA,0IAAA;AACA,MAAA;KAA4F,CAAA,EAC9FD,OAAAA,CAAAA,EAAAA,IAAAA,CAvEwBA,OAAAA,GAAAA,OAAAA;AAyE5B,EAAA;EACgBE,QAAAA,GAAW;AACzBC,IAAAA,YAAAA,EAAc,IAAA,CAAKC,UAAAA;AACfC,IAAAA,qBAAAA,EAAuB,IAAA,CAAKD,UAAAA;AAC5BE,IAAAA,aAAAA,EAAe,IAAA,CAAKF,UAAAA;AACpBG,IAAAA,WAAAA,EAAa,IAAA,CAAKH,UAAAA;AAClBI,IAAAA,eAAAA,EAAiB,IAAA,CAAKJ,UAAAA;AACtBL,IAAAA,iBAAAA,EAAmB,IAAA,CAAKK,UAAAA;AACxBK,IAAAA,QAAAA,EAAU,IAAA,CAAKL,UAAAA;AACfM,IAAAA,kBAAAA,EAAoB,IAAA,CAAKN,UAAAA;AACzBO,IAAAA,wBAAAA,EAA0B,IAAA,CAAKP,UAAAA;AAC/BQ,IAAAA,WAAAA,EAAa,IAAA,CAAKR,UAAAA;AAClBS,IAAAA,uBAAAA,EAAyB,IAAA,CAAKT,UAAAA;AAC9BV,IAAAA,SAAAA,EAAW,IAAA,CAAKU,UAAAA;AAChBU,IAAAA,KAAAA,EAAO,IAAA,CAAKV,UAAAA;AACZT,IAAAA,IAAAA,EAAM,IAAA,CAAKS,UAAAA;AACXW,IAAAA,OAAAA,EAAS,IAAA,CAAKX,UAAAA;AACdY,IAAAA,qBAAAA,EAAuB,IAAA,CAAKZ,UAAAA;AAC5Ba,IAAAA,UAAAA,EAAY,IAAA,CAAKb,UAAAA;AACjBc,IAAAA,UAAAA,EAAY,IAAA,CAAKd,UAAAA;AACjBe,IAAAA,aAAAA,EAAe,IAAA,CAAKf,UAAAA;AACpBgB,IAAAA,WAAAA,EAAa,IAAA,CAAKhB,UAAAA;AAClBiB,IAAAA,aAAAA,EAAe,IAAA,CAAKjB,UAAAA;AACpBkB,IAAAA,SAAAA,EAAW,IAAA,CAAKlB,UAAAA;AAChBP,IAAAA,SAAAA,EAAW,IAAA,CAAKO,UAAAA;AAChBmB,IAAAA,iBAAAA,EAAmB,IAAA,CAAKnB,UAAAA;AACxBoB,IAAAA,mBAAAA,EAAqB,IAAA,CAAKpB,UAAAA;AAC1BqB,IAAAA,mBAAAA,EAAqB,IAAA,CAAKrB,UAAAA;AAC1BsB,IAAAA,eAAAA,EAAiB,IAAA,CAAKtB,UAAAA;AACtBuB,IAAAA,WAAAA,EAAa,IAAA,CAAKvB,UAAAA;AAClBwB,IAAAA,kBAAAA,EAAoB,IAAA,CAAKxB,UAAAA;AACzByB,IAAAA,qBAAAA,EAAuB,IAAA,CAAKzB;AAClC,GAAA;AACF","file":"H5QQRGUW.js","sourcesContent":["import { Buffer } from \"buffer\";\nimport { Address } from '@stellar/stellar-sdk';\nimport {\n AssembledTransaction,\n AssembledTransactionOptions,\n Client as ContractClient,\n ClientOptions as ContractClientOptions,\n MethodOptions,\n Result,\n Spec as ContractSpec,\n} from '@stellar/stellar-sdk/contract';\nimport type {\n u32,\n i32,\n u64,\n i64,\n u128,\n i128,\n u256,\n i256,\n Option,\n Typepoint,\n Duration,\n} from '@stellar/stellar-sdk/contract';\nexport * from '@stellar/stellar-sdk'\nexport * as contract from '@stellar/stellar-sdk/contract'\nexport * as rpc from '@stellar/stellar-sdk/rpc'\n\n/**\n * Embedded WASM bytecode (base64-encoded)\n * Size: 29114 bytes (28.43 KB)\n */\nexport const WASM_BASE64 = \"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gIAAQoCAgIBwg0KAgICAkAhSDQAgACABNwMIQgAhAgsgACACNwMACzABAX4gACkDACECIAAgAiACEIOAgIAAQoCAgIBwg0IEhCABQSAQsoCAgAA3AwAgAAseACAAIAEgAq1CIIZCBIQgA61CIIZCBIQQoICAgAALTQIBfwF+ELSAgIAAQQAhAAJAQQAQtYCAgAAiAUICEK2AgIAARQ0AQQEhAAJAAkAgAUICEIGAgIAAp0H/AXEOAgECAAsAC0EAIQALIAALSAEBfyOAgICAAEEQayIAJICAgIAAIABBBGoQmIGAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEJKBgIAACyAAQRBqJICAgIAAC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHChsCAAEEGEMiAgIAAIAEoAgANAyABIAEpAwgQyYCAgAAMAgsgAUHIhsCAAEEIEMiAgIAAIAEoAgANAiABIAEpAwgQyYCAgAAMAQsgAUHQhsCAAEEKEMiAgIAAIAEoAgANASABIAEpAwgQyYCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtmAgF/An4jgICAgABBEGsiACSAgICAACAAQQRqELeAgIAAAkAgACgCBEEBRw0AIAA1AgwhASAANQIIIQJBABCsgICAACACQiCGQgSEIAFCIIZCBIQQuICAgAALIABBEGokgICAgAALDAAgAEECEKGBgIAACxEAIABCASABIAIQp4CAgAAaC00BAX8jgICAgABBEGsiACSAgICAACAAELqAgIAAAkAgACgCAA0AQoOAgIDghQEQu4CAgAAACyAAKQMIEISAgIAAGiAAQRBqJICAgIAACyABAX4QtICAgAAQhYCAgAAhASAAQgE3AwAgACABNwMICwsAIAAQpYCAgAAaC24CAX8BfiOAgICAAEEQayIAJICAgIAAEIWAgIAAIQEgABC6gICAAAJAAkAgACgCAEEBRw0AIAEgACkDCBCGgICAAFANAQtCg4CAgNCEARC7gICAAAALEIWAgIAAEISAgIAAGiAAQRBqJICAgIAACxgAELSAgIAAIAAgARC+gICAABC/gICAAAtGAgF/AX5BACEAAkACQEEBEIKBgIAAIgFCAhCtgICAAEUNACABQgIQgYCAgAAiAUL/AYNCBFINASABQiCIpyEACyAADwsAC4sDAgF/BX4jgICAgABBMGsiAySAgICAABC0gICAAAJAAkACQAJAAkACQCACRQ0AIAIgARCHgICAAEIgiKdLDQEQwICAgAAhBCABEIeAgIAAQiCIIQVCACEGQQAhAgNAIAYgBVENBCADQSBqIAEgBkIghkIEhBCIgICAABCwgICAACAGQv////8PUQ0DIAMpAyBQRQ0DIAAgAykDKBDBgICAACEHAkAgAkEBcUUNACAHIAgQwoCAgABBGHRBGHVBAEwNBgsgBBCHgICAACEIIANBADYCCCADIAQ3AwAgAyAIQiCIPgIMA0AgA0EgaiADEMOAgIAAIANBEGogAykDICADKQMoEMSAgIAAIAMoAhBBAUcNByADKQMYIAcQxYCAgABFDQALIAZCAXwhBkEBIQIgByEIDAALC0KDgICAwIUBELuAgIAAAAtCg4CAgPCEARC7gICAAAALEMaAgIAAAAsgA0EwaiSAgICAAA8LQoOAgICwhQEQu4CAgAAAC0KDgICAkIUBELuAgIAAAAtGAQF+AkACQEEAEIKBgIAAIgBCARCtgICAAEUNACAAQgEQgYCAgAAiAEL/AYNCywBSDQEQhIGAgAAgAA8LEI+AgIAADwsAC/wBAwF/AX4CfyOAgICAAEEQayICJICAgIAAAkACQCABEIOAgIAAQv////+PCFgNACABQoSAgICACBCogICAACEDIAFCBEKEgICAgAgQmICAgAAiARCDgICAAEKAgICAcINCgICAgIAIUg0BIAIgACABIANCIIinIgRBZWoiBSAEIAVB/wFxQQRJG61C/wGDQiCGQgSEEKmAgIAAQoSAgIAQQoSAgICQCBCYgICAABCWgICAAEKEgICAwAFChICAgIAEEJiAgIAAEKOBgIAAIAIoAgBBAUYNASACKQMIIQEgAkEQaiSAgICAACABDwsQ/oCAgAAACxDGgICAAAALFwAgACABEIaAgIAAIgFCAFUgAUIAU2sLkQECAn8BfiOAgICAAEEQayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgI3AwAMAQsgAiABKQMAIAOtQiCGQgSEEIiAgIAAEO+AgIAAAkAgA0EBaiIDRQ0AIAIpAwAhBCAAIAIpAwg3AwggACAENwMAIAEgAzYCCAwBCxDGgICAAAALIAJBEGokgICAgAALNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LEMaAgIAAAAsRACAAIAEQwoCAgABB/wFxRQsJABCdgYCAAAALmwEDAX8CfgF/I4CAgIAAQTBrIgEkgICAgAAQtICAgAAQwICAgAAiAhCHgICAACEDIAFBADYCCCABIAI3AwAgASADQiCIPgIMAkADQCABQSBqIAEQw4CAgAAgAUEQaiABKQMgIAEpAygQxICAgAAgASgCECIEQQFHDQEgASkDGCAAEMWAgIAARQ0ACwsgAUEwaiSAgICAACAEQQFxC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEJ6BgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARCagYCAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAuRAQICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQiICAgAAQy4CAgAACQCADQQFqIgNFDQAgAikDACEEIAAgAikDCDcDCCAAIAQ3AwAgASADNgIIDAELEMaAgIAAAAsgAkEQaiSAgICAAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARD9gICAAAtiAQF/I4CAgIAAQRBrIgIkgICAgABBiIHAgABBDBDNgICAACAAEM6AgIAAIQAgAiABrUL/AYM3AwggAEGohcCAAEEBIAJBCGpBARDPgICAABCKgICAABogAkEQaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARCegYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLlAEBAn8jgICAgABBIGsiAiSAgICAACACIAE3AwggAiAANwMAQQAhAwN+AkAgA0EQRw0AQQAhAwJAA0AgA0EQRg0BIAJBEGogA2ogAiADaikDADcDACADQQhqIQMMAAsLIAJBEGpBAhCagYCAACEBIAJBIGokgICAgAAgAQ8LIAJBEGogA2pCAjcDACADQQhqIQMMAAsLLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBChgICAAAtEAQF+AkAQ0YCAgAAiASAAEIuAgIAAQgJSDQAgASAAEIyAgIAAENKAgIAAIABBARDMgICAAA8LQoOAgIAQELuAgIAAAAtGAQF+AkACQEEAEKyAgIAAIgBCARCtgICAAEUNACAAQgEQgYCAgAAiAEL/AYNCywBSDQEQtoCAgAAgAA8LEI+AgIAADwsACxsAQQAQrICAgAAgAEIBEIKAgIAAGhC2gICAAAtzAgF/An4jgICAgABBEGsiASSAgICAAEEBEKyAgIAAIACtIgJCAhCCgICAABpBlIHAgABBFRDNgICAABDUgICAACEDIAEgAjcDCCADQbSBwIAAQQEgAUEIakEBEM+AgIAAEIqAgIAAGiABQRBqJICAgIAAC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCagYCAACEAIAFBEGokgICAgAAgAAuNAgECfyOAgICAAEEgayICJICAgIAAIAJBEGogABDLgICAAAJAAkACQCACKAIQQQFGDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAikDGCEAELmAgIAAELSAgIAAAkACQCADQQFxDQAgAkEIahDRgICAACIBIAAQi4CAgAAQ1oCAgAAgAigCCCIDQQJGDQMgA0EBcUUNBAJAIAIoAgwiAyABEIeAgIAAQiCIp08NACABIAOtQiCGQgSEEI2AgIAAIQELIAEQ0oCAgAAgAEEAEMyAgIAADAELIAAQ0ICAgAALIAJBIGokgICAgABCAg8LAAsQxoCAgAAAC0KDgICAMBC7gICAAAALPQECfwJAAkAgAUICUg0AQQAhAgwBC0EBQQIgAUL/AYNCBFEbIQIgAUIgiKchAwsgACADNgIEIAAgAjYCAAs/AQF/AkBBASAAp0H/AXEiAUEAR0EBdCABQQFGGyIBQQJHDQAACxC5gICAABC0gICAACABQQFxENOAgIAAQgILCAAQ2YCAgAALDgAQtICAgAAQ0YCAgAALSAECfyOAgICAAEEQayIBJICAgIAAIAEgABDLgICAAAJAIAEoAgBBAUcNAAALIAEpAwgQ24CAgAAhAiABQRBqJICAgIAAIAKtCxkAELSAgIAAENmAgIAAIAAQi4CAgABCAlILHgAQtICAgAAQ2YCAgAAQh4CAgABCgICAgHCDQgSECwkAEN6AgIAArQtJAgF/AX4QtICAgABBASEAAkACQEEBEKyAgIAAIgFCAhCtgICAAEUNAAJAIAFCAhCBgICAAKdB/wFxDgIBAgALAAtBACEACyAAC70PBwF/AX4BfwV+AX8BfgF/I4CAgIAAQdAAayIDJICAgIAAIANBCGogABDLgICAAAJAIAMoAghBAUYNACADKQMQIQRBACEFAkADQCAFQShGDQEgA0EIaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUGQgsCAAEEFIANBCGpBBRDggICAACADQcAAaiADKQMIEKqAgIAAIAMoAkANACADKQNIIQYgA0HAAGogAykDEBDLgICAACADKAJADQAgAykDGCIHQv8Bg0LLAFINACADKQMgIgFC/wGDQssAUg0AIAMpA0ghCCABEIeAgIAAIQAgA0EANgI4IAMgATcDMCADIABCIIg+AjwgA0HAAGogA0EwahDhgICAACADKQNAIgFCAlENACABp0EBcQ0AAkAgAykDSCIBp0H/AXEiBUHKAEYNACAFQQ5HDQELAkACQAJAAkAgAUHUgsCAAEEDEOKAgIAAQiCIpyIFDgMAAQIECyADKAI4IAMoAjwQ44CAgABBAUsNAyADQcAAaiADQTBqEOGAgIAAIAMpA0AiAUICUQ0DIAGnQQFxDQMgA0HAAGogAykDSBCwgICAACADKAJADQMgAykDSCEBDAILIAMoAjggAygCPBDjgICAAEECSw0CIANBwABqIANBMGoQ4YCAgAAgAykDQCIBQgJRDQIgAadBAXENAiADQcAAaiADKQNIEMuAgIAAIAMoAkANAiADKQNIIQEgA0HAAGogA0EwahDhgICAACADKQNAIgBCAlENAiAAp0EBcQ0CIAMpA0giCUL/AYNCyABSDQIgCRCDgICAAEKAgICAcINCgICAgIAIUQ0BDAILIAMoAjggAygCPBDjgICAAA0BCyADKQMoIgBC/wGDQssAUg0AIAJC/wGDQssAUg0AELSAgIAAAkACQAJAAkACQAJAIAUOAwABAgALIAQg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IQEgAyABIAEQg4CAgABCgICAgHCDQgSEQZyDwIAAQQIQsoCAgAA3AwggA0EIakGeg8CAABCxgICAACEFIANBMGpBGGoiBkIANwMAIANBMGpBEGoiB0IANwMAIANBMGpBCGoiCEIANwMAIANCADcDMCAEIANBMGoQ+YCAgAAgA0EQakEYaiAGKQMANwMAIANBEGpBEGogBykDADcDACADQRBqQQhqIAgpAwA3AwAgAyADKQMwNwMQIAUgA0EQahCxgICAACkDABCWgICAACACEL2AgIAAIANB0ABqJICAgIAAC7MCAwF/AX4BfyOAgICAAEEgayICJICAgIAAAkACQCABQv8Bg0LLAFENACAAQgE3AwAMAQsgARCHgICAACEDIAJBADYCCCACIAE3AwAgAiADQiCIPgIMIAJBEGogAhDhgICAAAJAIAIpAxAiAUICUQ0AIAGnQQFxDQACQCACKQMYIgGnQf8BcSIEQcoARg0AIARBDkcNAQsCQCABQfyEwIAAQQEQ4oCAgABC/////w9WDQAgAigCCCACKAIMEOOAgIAAQQFLDQAgAkEQaiACEOGAgIAAIAIpAxAiAUICUQ0AIAGnQQFxDQAgAkEQaiACKQMYEMuAgIAAIAIoAhANACACKQMYIQEgAEIANwMAIAAgATcDCAwCCyAAQgE3AwAMAQsgAEIBNwMACyACQSBqJICAgIAAC+gBAwF/AX4BfyOAgICAAEEwayIDJICAgIAAELSAgIAAEOeAgIAAIAEQ7YCAgAAhASACEIeAgIAAIQQgA0EANgIIIAMgAjcDACADIARCIIg+AgwCQANAIANBIGogAxDKgICAACADQRBqIAMpAyAgAykDKBDEgICAACADKAIQQQFHDQEgAykDGCECIAEgAiABIAIQwoCAgABBGHRBGHVBAEgiBRsgAiABIAUbEJOAgIAAEJaAgIAAIQEMAAsLAkAgASAAEMKAgIAAQf8BcUUNAEKDgICAwAAQu4CAgAAACyADQTBqJICAgIAAC0cCAn8BfiOAgICAAEEQayIAJICAgIAAELSAgIAAIABBBBCrgICAACAAKAIAIQEgACkDCCECIABBEGokgICAgAAgAkIAIAEbC4sBAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQy4CAgAACQCABKAIAQQFHDQAACyABKQMIIQAQuYCAgAAQtICAgAAgABDpgICAAEKO8qq8kNWq8QAQ1ICAgAAhAiABIAA3AwAgAkHMgMCAAEEBIAFBARDPgICAABCKgICAABogAUEQaiSAgICAAEICCxUAQQMQrICAgAAgAEICEIKAgIAAGgtxAQF/I4CAgIAAQRBrIgMkgICAgAAgAyAAEMuAgIAAAkAgAygCAEEBRg0AIAMpAwghACADIAEQqoCAgAAgAygCAEEBRg0AIAJC/wGDQssAUg0AIAAgAykDCCACEOSAgIAAIANBEGokgICAgABCAg8LAAu2AQICfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAEMuAgIAAAkAgAigCAEEBRg0AIAIpAwghAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALCyABQv8Bg0LMAFINACABQeiBwIAAQQIgAkECEOCAgIAAIAIpAwAiAUL/AYNCywBSDQAgAikDCCIEQv8Bg0LLAFINACAAIAEgBBDmgICAACACQRBqJICAgIAAQgIPCwALVgEBfyOAgICAAEEQayICJICAgIAAIAIgABCqgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQ7YCAgAAhASACQRBqJICAgIAAIAEPCwALjwQFAX8BfgF/AX4BfyOAgICAAEEgayICJICAgIAAELSAgIAAEJKAgIAAIQMgAkEBOgAQIAIgAyADEIOAgIAAQoCAgIBwg0IEhCACQRBqQQEQsoCAgAA3AwggAkEIahDxgICAABD6gICAACEEEIWAgIAAEJeAgIAAIQMgAkEQaiADQoSAgIDAACADEIOAgIAAQoCAgIBwg0IEhBCYgICAACIDQgRChICAgMAAEJiAgIAAEPuAgIAAAkAgAigCEEEBRg0AIAIpAxghBSACQQA2AhAgBSACQRBqQQQQ/ICAgAACQCACKAIQIgZB////B3ENAAJAAkACQCAGQRh2DgIAAQMLIAJBEGogA0KEgICAwABChICAgIABEJiAgIAAEPuAgIAAIAIoAhBBAUYNAyACKQMYIQUgAkEANgIQIAUgAkEQakEEEPyAgIAAIAIoAhANAiACQRBqIANChICAgIABQoSAgICABRCYgICAABD9gICAACACKAIQQQFHDQEMAwsgAkEQaiADQoSAgIDAAEKEgICAwAQQmICAgAAQ/YCAgAAgAigCEEEBRg0CCyAEIAIpAxgQ94CAgAAgABD6gICAACEGIAEQl4CAgAAhAyAGIAYpAwAgAxCTgICAACIDNwMAIAMQloCAgAAQloCAgAAhAyACQSBqJICAgIAAIAMPC0KDgICAoP4AELuAgIAAAAsAC6MDAwF/AX4CfyOAgICAAEEgayIBJICAgIAAAkACQAJAIABC/wGDQssAUg0AIAAQh4CAgAAhAiABQQA2AgggASAANwMAIAEgAkIgiD4CDCABQRBqIAEQ4YCAgAAgASkDECIAQgJRDQAgAKdBAXENAAJAIAEpAxgiAKdB/wFxIgNBygBGDQAgA0EORw0BCwJAAkACQCAAQeyCwIAAQQIQ4oCAgABCIIinDgIBAAMLIAEoAgggASgCDBDjgICAAEEBSw0CIAFBEGogARDhgICAACABKQMQIgBCAlENAkEBIQQgAKdBAXENAiABQRBqIAEpAxgQy4CAgAAgASgCEEEBRg0CIAEpAxghAAwBCyABKAIIIAEoAgwQ44CAgABBAUsNASABQRBqIAEQ4YCAgAAgASkDECIAQgJRDQEgAKdBAXENASABQRBqIAEpAxgQ74CAgAAgASgCEA0BIAEpAxghAEEAIQQLELSAgIAAQQEhAxDegICAAEUNAiAERQ0BIAAQ24CAgAAhAwwCCwALIAAQx4CAgAAhAwsgAUEgaiSAgICAACADrQsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARCjgYCAAAsOABDxgICAABCvgICAAAtMAgF/AX4jgICAgABBEGsiACSAgICAABC0gICAACAAQQIQq4CAgAACQCAAKAIADQAQ/oCAgAAACyAAKQMIIQEgAEEQaiSAgICAACABCw4AEOeAgIAAEK+AgIAACwgAEPSAgIAAC3ACAX8BfiOAgICAAEEQayIAJICAgIAAELSAgIAAAkACQEEDEKyAgIAAIgFCAhCtgICAAEUNACAAIAFCAhCBgICAABDLgICAACAAKAIAQQFHDQEACxD+gICAAAALIAApAwghASAAQRBqJICAgIAAIAELIgAQtICAgABBvoPAgACtQiCGQgSEQoSAgIDQABCQgICAAAsOABC0gICAAEKEgICAEAvAAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqEPmAgIAAIAJBGGogAykDADcDACACQRBqIAQpAwA3AwAgAkEIaiAFKQMANwMAIAIgAikDIDcDACAAKQMAIQEgACABIAEQg4CAgABCgICAgHCDQgSEIAJBIBCygICAADcDACACQcAAaiSAgICAACAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJyAgIAACw4AIAAgAUEgEPyAgIAAC6cBAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISENwMIIAApAwAhASAAIAEgARCDgICAAEKAgICAcINCBIQgAkEIakEIELKAgIAANwMAIAJBEGokgICAgAAgAAs2AQF+QgEhAgJAIAEQg4CAgABCgICAgHCDQoCAgIDAAFINACAAIAE3AwhCACECCyAAIAI3AwALHwAgAEIEIAGtQiCGQgSEIAKtQiCGQgSEEJuAgIAAGgs2AQF+QgEhAgJAIAEQg4CAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALCQAQxoCAgAAAC4EEAQN/I4CAgIAAQTBrIgYkgICAgAAgBkEgaiAAEKqAgIAAAkAgBigCIEEBRg0AIAYpAyghACAGQSBqIAEQy4CAgAAgBigCIEEBRg0AIAJC/wGDQssAUg0AIANC/wGDQgRSDQAgBEL/AYNCywBSDQBBASAFp0H/AXEiB0EAR0EBdCAHQQFGGyIHQQJGDQAgBikDKCEBQYDLHkGA0h8QgIGAgABBgMseQYDSHxCBgYCAAAJAAkBBABCCgYCAAEIBEK2AgIAADQAgA0IgiKchCCACEIeAgIAAIQMgBkEANgIIIAYgAjcDACAGIANCIIg+AgwDQCAGQSBqIAYQw4CAgAAgBkEQaiAGKQMgIAYpAygQxICAgAAgBigCEEEBRw0CIAYpAxgQg4GAgAAMAAsLEISBgIAAQoOAgIDAhAEQu4CAgAAACyAIEIWBgIAAAkACQEEAEKyAgIAAQgEQrYCAgAANACAEEIeAgIAAIQIgBkEANgIIIAYgBDcDACAGIAJCIIg+AgwDQCAGQSBqIAYQyoCAgAAgBkEQaiAGKQMgIAYpAygQxICAgAAgBigCEEEBRw0CIAYpAxgQ0ICAgAAMAAsLELaAgIAAQoOAgIAgELuAgIAAAAsgB0EBcRDTgICAAEECIAAQroCAgAAgARDpgICAACAGQTBqJICAgIAAQgIPCwALDgBBASAAIAEQooGAgAALDgBBAiAAIAEQooGAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQdeFwIAAQQkQyICAgAAgASgCAA0CIAEgASkDCBDJgICAAAwBCyABQdCFwIAAQQcQyICAgAAgASgCAA0BIAEgASkDCBDJgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC98BAgF/An4jgICAgABBMGsiASSAgICAAAJAAkAgAEGEhcCAAEEUEPiAgIAAEMWAgIAADQAQwICAgAAiAhCHgICAACEDIAFBADYCCCABIAI3AwAgASADQiCIPgIMA0AgAUEgaiABEMOAgIAAIAFBEGogASkDICABKQMoEMSAgIAAIAEoAhBBAUcNAiABKQMYIAAQxYCAgABFDQALQoOAgICAhQEQu4CAgAAAC0KDgICA4IQBELuAgIAAAAsgAiAAEIyAgIAAEIiBgIAAIABBARCJgYCAACABQTBqJICAgIAAC2YCAX8CfiOAgICAAEEQayIAJICAgIAAIABBBGoQt4CAgAACQCAAKAIEQQFHDQAgADUCDCEBIAA1AgghAkEAEIKBgIAAIAJCIIZCBIQgAUIghkIEhBC4gICAAAsgAEEQaiSAgICAAAu4AQIBfwJ+I4CAgIAAQRBrIgEkgICAgAACQAJAIABFDQAgABDAgICAABCHgICAAEIgiKdLDQFBARCCgYCAACAArUIghkIEhCICQgIQgoCAgAAaQbCFwIAAQQ0QzYCAgAAQ1ICAgAAhAyABIAI3AwggA0HIhcCAAEEBIAFBCGpBARDPgICAABCKgICAABogAUEQaiSAgICAAA8LQoOAgIDAhQEQu4CAgAAAC0KDgICAoIUBELuAgIAAAAs/AgJ/AX4jgICAgABBEGsiACSAgICAACAAELqAgIAAIAAoAgAhASAAKQMIIQIgAEEQaiSAgICAACACQgIgARsLuQICAn8BfiOAgICAAEEgayICJICAgIAAIAJBEGogABDvgICAAAJAAkACQAJAIAIoAhBBAUYNAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACKQMYIQAQtICAgAAQvICAgAACQAJAIANBAXENACACQQhqEMCAgIAAIgEgABCLgICAABDWgICAACACKAIIIgNBAkYNAyADRQ0EAkAgAigCDCIDIAEQh4CAgABCIIinTw0AIAEgA61CIIZCBIQQjYCAgAAhAQsgARCHgICAACEEEL6AgIAAIARCIIinSw0FIAEQiIGAgAAgAEEAEImBgIAADAELIAAQg4GAgAALIAJBIGokgICAgABCAg8LAAsQxoCAgAAAC0KDgICAkIUBELuAgIAAAAtCg4CAgKCFARC7gICAAAALGwBBABCCgYCAACAAQgEQgoCAgAAaEISBgIAAC2IBAX8jgICAgABBEGsiAiSAgICAAEGYhcCAAEEKEM2AgIAAIAAQzoCAgAAhACACIAGtQv8BgzcDCCAAQaiFwIAAQQEgAkEIakEBEM+AgIAAEIqAgIAAGiACQRBqJICAgIAACysAAkAgAEL/AYNCBFENAAALELSAgIAAELyAgIAAIABCIIinEIWBgIAAQgILDgAQtICAgAAQwICAgAALHgAQtICAgAAQwICAgAAQh4CAgABCgICAgHCDQgSEC0gBAn8jgICAgABBEGsiASSAgICAACABIAAQ74CAgAACQCABKAIAQQFHDQAACyABKQMIEMeAgIAAIQIgAUEQaiSAgICAACACrQsVABC0gICAABC+gICAAK1CIIZCBIQLVAEBfyOAgICAAEEQayICJICAgIAAIAIgABDLgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQvYCAgAAgAkEQaiSAgICAAEICDwsAC2UBAX8jgICAgABBEGsiAySAgICAACADIAAQy4CAgAACQCADKAIAQQFGDQAgAUL/AYNCywBSDQAgAkL/AYNCBFINACADKQMIIAEgAkIgiKcQv4CAgAAgA0EQaiSAgICAAEICDwsACzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEJKBgIAAQgIPCwALGwAgAK1CIIZCBIQgAa1CIIZCBIQQpICAgAAaC94EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABCUgYCAAAJAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQlIGAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxgQuYCAgAAQtICAgAACQAJAAkAQs4CAgAANABCZgICAACEAEJqAgIAAQiCIIgEgAEIgiCIAVA0EIAGnIACnayIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABC7gICAAAALQoOAgIDA/wAQu4CAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBCAgYCAAAwBC0EBELWAgIAAEJWBgIAACwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBCBgYCAAAwBC0ECELWAgIAAEJWBgIAACyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRB/IXAgABBDxDNgICAABDUgICAACEAIAJBKGoQloGAgAAhASACIAJBNGoQloGAgAA3A0ggAiABNwNAIABBoIbAgABBAiACQcAAakECEM+AgIAAEIqAgIAAGiACQdAAaiSAgICAAEICDwsACxDGgICAAAALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEJ+BgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALDQAgAEICEKaAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQmYGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC6ABAgJ/AX4jgICAgABBwABrIgAkgICAgAAQtICAgAAgAEEIahCYgYCAACAAQRRqIgEQt4CAgAAgAEEwaiAAQQhqEJmBgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARCZgYCAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQmoGAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARChgYCAAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCggYCAAA8LIABCADcDACAAQgI3AwgLGgAgAK1CIIZCBIQgAa1CIIZCBIQQooCAgAALiAEBAX8jgICAgABBEGsiACSAgICAABC5gICAABC0gICAAAJAELOAgIAARQ0AQoOAgIDg/wAQu4CAgAAAC0EAELWAgIAAQgFCAhCCgICAABpBsIbAgABBEhDNgICAABDUgICAAEEEQQAgAEEIakEAEM+AgIAAEIqAgIAAGiAAQRBqJICAgIAAQgILCQAQs4CAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCfgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQeyFwIAAQQIgAkECEOCAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBB7IXAgABBAiADQQIQz4CAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABELWAgIAAIgRCAhCtgICAAEUNACACQQRqIARCAhCBgICAABCfgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABC1gICAACEEIAMgASACEKCBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgoCAgAAaIANBEGokgICAgAALNgEBfkIBIQICQCABEIOAgIAAQoCAgIBwg0KAgICAwAJSDQAgACABNwMIQgAhAgsgACACNwMACwvkBgEAQYCAwAAL2gZDcmVhdGVDb250cmFjdEhvc3RGbkNyZWF0ZUNvbnRyYWN0V2l0aEN0b3JIb3N0Rm7tARAACAAAAAAAEAAUAAAAFAAQABwAAABzZWVkSAAQAAQAAAB0cmFuc2FjdGlvbl9leGVjdXRlZG1lcmtsZV9yb290bm9uY2VoABAACwAAAHMAEAAFAAAAZXhlY3V0b3Jfc2V0ZXhlY3V0b3JfcmVxdWlyZWRfc2V0cmVxdWlyZWQAAACpABAACAAAAGZ1bmN0bwAACQIQAAQAAAC8ABAABAAAAMAAEAACAAAAY2FsbHNwcm9vZgAA3AAQAAUAAADhABAABQAAAGV4cGlyeXNlbmRlcnNpZ25hdHVyZXMAAPgAEAAGAAAAaAAQAAsAAADhABAABQAAAP4AEAAGAAAABAEQAAoAAABTaWduZXJFeGVjdXRvclBlcm1pc3Npb25sZXNzOAEQAAYAAAA+ARAACAAAAEYBEAAOAAAAOAEQAAYAAAA+ARAACAAAAGQu1dK3e8fMuY4Q2kwC182CMSKNpCIqn4ioDBVUUHTtGQGUwomJFw603DE1kXS5EVwRao+vpnta2sxXDKWD65bWVzAuMC4xRXhlY3V0b3JzRXhlY3V0b3JSZXF1aXJlZE9uZVNpZ0lkU2VlZE5vbmNlQ29udHJhY3QAAAAAAAAAAAAAAAAAAAAAV2FzbWFyZ3Njb250cmFjdGZuX25hbWUJAhAABAAAAA0CEAAIAAAAFQIQAAcAAABleGVjdXRhYmxlc2FsdAAANAIQAAoAAAA+AhAABAAAAGNvbnN0cnVjdG9yX2FyZ3NUAhAAEAAAADQCEAAKAAAAPgIQAAQAAAAFAhAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc2lnbmVyX3NldGFjdGl2ZaICEAAGAAAAdGhyZXNob2xkX3NldHRocmVzaG9sZAAAvQIQAAkAAABTaWduZXJzVGhyZXNob2xkZXh0ZW5kX3RvAAAA4AIQAAkAAAC9AhAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAAsDEAAIAAAAEwMQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnQAp2IOY29udHJhY3RzcGVjdjAAAAAFAAAAL0V2ZW50IHB1Ymxpc2hlZCB3aGVuIHRoZSBzZWVkIGlzIHNldCBvciB1cGRhdGVkAAAAAAAAAAAHU2VlZFNldAAAAAABAAAACHNlZWRfc2V0AAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAIAAAAFAAAALkV2ZW50IHB1Ymxpc2hlZCB3aGVuIGEgdHJhbnNhY3Rpb24gaXMgZXhlY3V0ZWQAAAAAAAAAAAATVHJhbnNhY3Rpb25FeGVjdXRlZAAAAAABAAAAFHRyYW5zYWN0aW9uX2V4ZWN1dGVkAAAAAgAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAAAAAAAAVub25jZQAAAAAAAAYAAAAAAAAAAgAAAAUAAAA0RXZlbnQgcHVibGlzaGVkIHdoZW4gYW4gZXhlY3V0b3IgaXMgYWRkZWQgb3IgcmVtb3ZlZAAAAAAAAAALRXhlY3V0b3JTZXQAAAAAAQAAAAxleGVjdXRvcl9zZXQAAAACAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANEV2ZW50IHB1Ymxpc2hlZCB3aGVuIGV4ZWN1dG9yIHJlcXVpcmVtZW50IGlzIHRvZ2dsZWQAAAAAAAAAE0V4ZWN1dG9yUmVxdWlyZWRTZXQAAAAAAQAAABVleGVjdXRvcl9yZXF1aXJlZF9zZXQAAAAAAAABAAAAAAAAAAhyZXF1aXJlZAAAAAEAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAtPbmVTaWdFcnJvcgAAAAAHAAAAAAAAABVFeGVjdXRvckFscmVhZHlFeGlzdHMAAAAAAAABAAAAAAAAABpFeGVjdXRvckFscmVhZHlJbml0aWFsaXplZAAAAAAAAgAAAAAAAAAQRXhlY3V0b3JOb3RGb3VuZAAAAAMAAAAAAAAAE0ludmFsaWRQcm9vZk9yTm9uY2UAAAAABAAAAAAAAAARTWVya2xlUm9vdEV4cGlyZWQAAAAAAAAFAAAAAAAAABFOb25Db250cmFjdEludm9rZQAAAAAAAAYAAAAAAAAAFE9ubHlFeGVjdXRvck9yU2lnbmVyAAAABwAAAAEAAABZQSBzaW5nbGUgU29yb2JhbiBpbnZvY2F0aW9uIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBhdG9taWNhbGx5IGluc2lkZSBhIE9uZVNpZyB0cmFuc2FjdGlvbi4AAAAAAAAAAAAABENhbGwAAAADAAAANUFCSS1lbmNvZGVkIGFyZ3VtZW50cyBmb3J3YXJkZWQgdG8gdGhlIHRhcmdldCBtZXRob2QuAAAAAAAABGFyZ3MAAAPqAAAAAAAAAC5NZXRob2QgaWRlbnRpZmllciB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGB0b2AuAAAAAAAEZnVuYwAAABEAAABIVGFyZ2V0IGNvbnRyYWN0IGFkZHJlc3MgKG1pcnJvcnMgYGludm9rZV9jb250cmFjdGAncyBgY29udHJhY3RBZGRyZXNzYCkuAAAAAnRvAAAAAAATAAAAAQAAAEhBIG1lcmtsZSBsZWFmIGRlc2NyaWJpbmcgdGhlIGV4YWN0IHNldCBvZiBjYWxscyB0aGF0IHNob3VsZCBiZSBleGVjdXRlZC4AAAAAAAAAC1RyYW5zYWN0aW9uAAAAAAIAAAA5T3JkZXJlZCBsaXN0IG9mIGludm9jYXRpb25zIHRoYXQgbXVzdCBzdWNjZWVkIGF0b21pY2FsbHkuAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAExNZXJrbGUgcHJvb2YgKHNpYmxpbmcgaGFzaGVzKSBwcm92aW5nIGBjYWxsc2AgYmVsb25ncyB0byBhbiBhdXRob3Jpc2VkIHJvb3QuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAAAQAAAExBY2NvdW50IEFic3RyYWN0aW9uIHBheWxvYWQgdXNlZCBieSBgX19jaGVja19hdXRoYCB0byB2YWxpZGF0ZSBhbiBleGVjdXRpb24uAAAAAAAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAUAAAA5VW5peCB0aW1lc3RhbXAgKHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSByb290IGlzIGludmFsaWQuAAAAAAAABmV4cGlyeQAAAAAABgAAAC5BcHByb3ZlZCBtZXJrbGUgcm9vdCBjb3ZlcmluZyB0aGUgdHJhbnNhY3Rpb24uAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAwTWVya2xlIHByb29mIGJpbmRpbmcgdGhlIGNhbGxzIHRvIGBtZXJrbGVfcm9vdGAuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAASEVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoc2lnbmVyLCBleGVjdXRvciwgb3IgcGVybWlzc2lvbmxlc3MpLgAAAAZzZW5kZXIAAAAAB9AAAAAGU2VuZGVyAAAAAABFVGhyZXNob2xkIHNpZ25hdHVyZXMgKHLigJZz4oCWdikgY292ZXJpbmcgYG1lcmtsZV9yb290YCBhbmQgYGV4cGlyeWAuAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAIAAABIUmVwcmVzZW50cyB0aGUgZW50aXR5IHRoYXQgaXMgYXV0aG9yaXNpbmcgdGhlIGBfX2NoZWNrX2F1dGhgIGludm9jYXRpb24uAAAAAAAAAAZTZW5kZXIAAAAAAAMAAAABAAAAY0EgbXVsdGlzaWcgc2lnbmVyIChzZWNwMjU2azEpIHN1Ym1pdHRpbmcgdGhlIHRyYW5zYWN0aW9uLiBDb250YWlucyB0aGUgNjUtYnl0ZSBy4oCWc+KAlnYgc2lnbmF0dXJlLgAAAAAGU2lnbmVyAAAAAAABAAAD7gAAAEEAAAABAAAAkkEgcmVnaXN0ZXJlZCBleGVjdXRvciAoZWQyNTUxOSkgc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb24uClRoZSB0dXBsZSBpcyBgKHB1YmxpY19rZXksIHNpZ25hdHVyZSlgIHdoZXJlIHRoZSBzaWduYXR1cmUgY292ZXJzIHRoZSBTb3JvYmFuIHBheWxvYWQuAAAAAAAIRXhlY3V0b3IAAAACAAAD7gAAACAAAAPuAAAAQAAAAAAAAABSUGVybWlzc2lvbmxlc3MgZXhlY3V0aW9uIChhbnlvbmUgbWF5IHN1Ym1pdCB3aGVuIGBleGVjdXRvcl9yZXF1aXJlZGAgaXMgZGlzYWJsZWQpLgAAAAAADlBlcm1pc3Npb25sZXNzAAAAAAACAAAAmklkZW50aWZpZXIgdXNlZCBieSBgY2FuX2V4ZWN1dGVfdHJhbnNhY3Rpb25gIHRvIGRlc2NyaWJlIHRoZSBjYWxsZXIuClNpZ25lcnMgdXNlIEV0aGVyZXVtLXN0eWxlIDIwLWJ5dGUgYWRkcmVzc2VzIHdoaWxlIGV4ZWN1dG9ycyB1c2UgZWQyNTUxOSBwdWJsaWMga2V5cy4AAAAAAAAAAAAJU2VuZGVyS2V5AAAAAAAAAgAAAAEAAAA5QW4gRXRoZXJldW0tc3R5bGUgc2lnbmVyIGFkZHJlc3MgKDIwIGJ5dGVzLCBsZWZ0LXBhZGRlZCkuAAAAAAAABlNpZ25lcgAAAAAAAQAAA+4AAAAUAAAAAQAAACpBbiBlZDI1NTE5IGV4ZWN1dG9yIHB1YmxpYyBrZXkgKDMyIGJ5dGVzKS4AAAAAAAhFeGVjdXRvcgAAAAEAAAPuAAAAIAAAAAAAAAA3QWRkcyBvciByZW1vdmVzIGFuIGV4ZWN1dG9yIGJhc2VkIG9uIHRoZSBgYWN0aXZlYCBmbGFnLgAAAAAMc2V0X2V4ZWN1dG9yAAAAAgAAAAAAAAAIZXhlY3V0b3IAAAPuAAAAIAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAA2U2V0cyB3aGV0aGVyIGFuIGV4ZWN1dG9yIGlzIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbnMuAAAAAAAVc2V0X2V4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAQAAAAAAAAAIcmVxdWlyZWQAAAABAAAAAAAAAAAAAAAtUmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAADWdldF9leGVjdXRvcnMAAAAAAAAAAAAAAQAAA+oAAAPuAAAAIAAAAAAAAAA4Q2hlY2tzIHdoZXRoZXIgYSBnaXZlbiBhZGRyZXNzIGlzIGEgcmVnaXN0ZXJlZCBleGVjdXRvci4AAAALaXNfZXhlY3V0b3IAAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAPuAAAAIAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAAD3RvdGFsX2V4ZWN1dG9ycwAAAAAAAAAAAQAAAAQAAAAAAAAAMlJldHVybnMgd2hldGhlciBhbiBleGVjdXRvciBzaWduYXR1cmUgaXMgcmVxdWlyZWQuAAAAAAARZXhlY3V0b3JfcmVxdWlyZWQAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAxfX2NoZWNrX2F1dGgAAAADAAAAAAAAABFzaWduYXR1cmVfcGF5bG9hZAAAAAAAA+4AAAAgAAAAAAAAAAlhdXRoX2RhdGEAAAAAAAfQAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAAAAAAAA1hdXRoX2NvbnRleHRzAAAAAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAAAIAAAADAAAAAAAAAElVcGRhdGVzIHRoZSBzZWVkIHVzZWQgZm9yIEVJUC03MTIgZGlnZXN0IGNvbnN0cnVjdGlvbiBhbmQgZW1pdHMgYW4gZXZlbnQuAAAAAAAACHNldF9zZWVkAAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAAAAABMVmVyaWZpZXMgYSBtZXJrbGUgcm9vdCBieSBjaGVja2luZyBleHBpcnkgYW5kIHZhbGlkYXRpbmcgRUlQLTcxMiBzaWduYXR1cmVzLgAAABJ2ZXJpZnlfbWVya2xlX3Jvb3QAAAAAAAMAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAZleHBpcnkAAAAAAAYAAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAAAAAAAAAAAVVZlcmlmaWVzIGEgdHJhbnNhY3Rpb24ncyBtZXJrbGUgcHJvb2YgYWdhaW5zdCB0aGUgZ2l2ZW4gcm9vdCB1c2luZyB0aGUgY3VycmVudCBub25jZS4AAAAAAAAYdmVyaWZ5X3RyYW5zYWN0aW9uX3Byb29mAAAAAgAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAAC3RyYW5zYWN0aW9uAAAAB9AAAAALVHJhbnNhY3Rpb24AAAAAAAAAAAAAAAB+RW5jb2RlcyBhIGxlYWYgbm9kZSBieSBzZXJpYWxpemluZyB2ZXJzaW9uLCBvbmVzaWcgSUQsIGNvbnRyYWN0IGFkZHJlc3MsIG5vbmNlLCBhbmQgY2FsbHMsIHRoZW4gZG91YmxlLWhhc2hpbmcgd2l0aCBrZWNjYWsyNTYuAAAAAAALZW5jb2RlX2xlYWYAAAAAAgAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAAAAAAVjYWxscwAAAAAAA+oAAAfQAAAABENhbGwAAAABAAAD7gAAACAAAAAAAAAAX0NoZWNrcyBpZiB0aGUgc2VuZGVyIGlzIGF1dGhvcml6ZWQgdG8gZXhlY3V0ZSBhIHRyYW5zYWN0aW9uIChleGVjdXRvciBvciBzaWduZXIgd2hlbiByZXF1aXJlZCkuAAAAABdjYW5fZXhlY3V0ZV90cmFuc2FjdGlvbgAAAAABAAAAAAAAAAZzZW5kZXIAAAAAB9AAAAAJU2VuZGVyS2V5AAAAAAAAAQAAAAEAAAAAAAAAOVJldHVybnMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIE9uZVNpZyBkZXBsb3ltZW50LgAAAAAAAAlvbmVzaWdfaWQAAAAAAAAAAAAAAQAAAAYAAAAAAAAAJlJldHVybnMgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gbm9uY2UuAAAAAAAFbm9uY2UAAAAAAAAAAAAAAQAAAAYAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgc2VlZCB1c2VkIGZvciBFSVAtNzEyIGRpZ2VzdCBjb25zdHJ1Y3Rpb24uAAAAAAAEc2VlZAAAAAAAAAABAAAD7gAAACAAAAAAAAAAJFJldHVybnMgdGhlIGNvbnRyYWN0IHZlcnNpb24gc3RyaW5nLgAAAAd2ZXJzaW9uAAAAAAAAAAABAAAAEAAAAAAAAABFUmV0dXJucyB0aGUgbGVhZiBlbmNvZGluZyB2ZXJzaW9uIHVzZWQgZm9yIG1lcmtsZSBwcm9vZiBjb25zdHJ1Y3Rpb24uAAAAAAAAFWxlYWZfZW5jb2RpbmdfdmVyc2lvbgAAAAAAAAAAAAABAAAABAAAAAAAAAIFQ29uc3RydWN0b3IgdG8gaW5pdGlhbGl6ZSB0aGUgT25lU2lnIGNvbnRyYWN0IHdpdGggaW5pdGlhbCBzdGF0ZQoKIyBBcmd1bWVudHMKKiBgb25lc2lnX2lkYCAtIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIE9uZVNpZyBkZXBsb3ltZW50CiogYHNlZWRgIC0gSW5pdGlhbCBzZWVkIHZhbHVlIGZvciBtZXJrbGUgcm9vdCB2ZXJpZmljYXRpb24KKiBgc2lnbmVyc2AgLSBBcnJheSBvZiBpbml0aWFsIHNpZ25lciBhZGRyZXNzZXMgKDMyIGJ5dGVzIGVhY2gsIEV0aGVyZXVtIGFkZHJlc3NlcyBwYWRkZWQpCiogYHRocmVzaG9sZGAgLSBOdW1iZXIgb2Ygc2lnbmF0dXJlcyByZXF1aXJlZCBmb3IgdHJhbnNhY3Rpb24gZXhlY3V0aW9uCiogYGV4ZWN1dG9yc2AgLSBBcnJheSBvZiBpbml0aWFsIGV4ZWN1dG9yIHB1YmxpYyBrZXlzIChCeXRlc048MzI+KQoqIGBleGVjdXRvcl9yZXF1aXJlZGAgLSBXaGV0aGVyIGV4ZWN1dG9yIHBlcm1pc3Npb24gaXMgcmVxdWlyZWQgZm9yIHRyYW5zYWN0aW9uIGV4ZWN1dGlvbgAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABgAAAAAAAAAJb25lc2lnX2lkAAAAAAAABgAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAdzaWduZXJzAAAAA+oAAAPuAAAAFAAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXhlY3V0b3JzAAAAAAAD6gAAA+4AAAAgAAAAAAAAABFleGVjdXRvcl9yZXF1aXJlZAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABJQWRkcyBvciByZW1vdmVzIGEgc2lnbmVyIGZyb20gdGhlIG11bHRpc2lnLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAAAAAApzZXRfc2lnbmVyAAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAAAAAAH1JldHVybnMgYWxsIHJlZ2lzdGVyZWQgc2lnbmVycy4AAAAAC2dldF9zaWduZXJzAAAAAAAAAAABAAAD6gAAA+4AAAAUAAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABAAAAAAAAAAsQ2hlY2tzIGlmIGFuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIHNpZ25lci4AAAAJaXNfc2lnbmVyAAAAAAAAAQAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABAAAAAAAAAA1VmVyaWZpZXMgc2lnbmF0dXJlcyBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4AAAAAAAARdmVyaWZ5X3NpZ25hdHVyZXMAAAAAAAACAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAAAAANT25lU2lnU3RvcmFnZQAAAAAAAAUAAAAAAAAAAAAAAAlFeGVjdXRvcnMAAAAAAAAAAAAAAAAAABBFeGVjdXRvclJlcXVpcmVkAAAAAAAAAAAAAAAIT25lU2lnSWQAAAAAAAAAAAAAAARTZWVkAAAAAAAAAAAAAAAFTm9uY2UAAAAAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAwAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQuAAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4AAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgaXMgcmV2b2tlZC4AAAAAAAAAAAAAC1JvbGVSZXZva2VkAAAAAAEAAAAMcm9sZV9yZXZva2VkAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAAAdhY2NvdW50AAAAABMAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAgAAAAUAAAArRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBhZG1pbiBpcyBjaGFuZ2VkLgAAAAAAAAAAEFJvbGVBZG1pbkNoYW5nZWQAAAABAAAAEnJvbGVfYWRtaW5fY2hhbmdlZAAAAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAABNwcmV2aW91c19hZG1pbl9yb2xlAAAAA+gAAAARAAAAAAAAAAAAAAAObmV3X2FkbWluX3JvbGUAAAAAA+gAAAARAAAAAAAAAAIAAAACAAAAAAAAAAAAAAALUmJhY1N0b3JhZ2UAAAAABQAAAAAAAAAAAAAADUV4aXN0aW5nUm9sZXMAAAAAAAABAAAAAAAAABJSb2xlSW5kZXhUb0FjY291bnQAAAAAAAIAAAARAAAABAAAAAEAAAAAAAAAElJvbGVBY2NvdW50VG9JbmRleAAAAAAAAgAAABEAAAATAAAAAQAAAAAAAAARUm9sZUFjY291bnRzQ291bnQAAAAAAAABAAAAEQAAAAEAAAAAAAAACVJvbGVBZG1pbgAAAAAAAAEAAAARAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMSM5NGMyYTNiM2E1ZGVkNmI5Y2Y5Y2VmMGMyMDdiZjg4MDRmM2ViMjk0AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4xLjAjYTA0OGE1N2E3NTc2MjQ1OGI0ODcwNTJlMDAyMWVhNzA0YTkyNmJlZQA=\";\n\n/**\n * Pre-computed WASM hash (SHA-256)\n * Use this when the WASM is already uploaded on-chain\n */\nexport const WASM_HASH = \"2a773e00246ff1365ffccb0310cf42f70db9e4b3064df9ffd902d930d8debf4f\";\n\n/**\n * Get the WASM bytecode as a Buffer\n * Use this to upload the WASM to the network\n */\nexport function getWasmBuffer(): Buffer {\n return Buffer.from(WASM_BASE64, 'base64');\n}\n\n\n\n\n\nexport const OneSigError = {\n 1: {message:\"ExecutorAlreadyExists\"},\n 2: {message:\"ExecutorAlreadyInitialized\"},\n 3: {message:\"ExecutorNotFound\"},\n 4: {message:\"InvalidProofOrNonce\"},\n 5: {message:\"MerkleRootExpired\"},\n 6: {message:\"NonContractInvoke\"},\n 7: {message:\"OnlyExecutorOrSigner\"}\n}\n\n\n/**\n * A single Soroban invocation that will be executed atomically inside a OneSig transaction.\n */\nexport interface Call {\n /**\n * ABI-encoded arguments forwarded to the target method.\n */\nargs: Array<any>;\n /**\n * Method identifier that will be called on `to`.\n */\nfunc: string;\n /**\n * Target contract address (mirrors `invoke_contract`'s `contractAddress`).\n */\nto: string;\n}\n\n\n/**\n * A merkle leaf describing the exact set of calls that should be executed.\n */\nexport interface Transaction {\n /**\n * Ordered list of invocations that must succeed atomically.\n */\ncalls: Array<Call>;\n /**\n * Merkle proof (sibling hashes) proving `calls` belongs to an authorised root.\n */\nproof: Array<Buffer>;\n}\n\n\n/**\n * Account Abstraction payload used by `__check_auth` to validate an execution.\n */\nexport interface TransactionAuthData {\n /**\n * Unix timestamp (seconds) after which the root is invalid.\n */\nexpiry: u64;\n /**\n * Approved merkle root covering the transaction.\n */\nmerkle_root: Buffer;\n /**\n * Merkle proof binding the calls to `merkle_root`.\n */\nproof: Array<Buffer>;\n /**\n * Entity submitting the transaction (signer, executor, or permissionless).\n */\nsender: Sender;\n /**\n * Threshold signatures (r‖s‖v) covering `merkle_root` and `expiry`.\n */\nsignatures: Array<Buffer>;\n}\n\n/**\n * Represents the entity that is authorising the `__check_auth` invocation.\n */\nexport type Sender = {tag: \"Signer\", values: readonly [Buffer]} | {tag: \"Executor\", values: readonly [Buffer, Buffer]} | {tag: \"Permissionless\", values: void};\n\n/**\n * Identifier used by `can_execute_transaction` to describe the caller.\n * Signers use Ethereum-style 20-byte addresses while executors use ed25519 public keys.\n */\nexport type SenderKey = {tag: \"Signer\", values: readonly [Buffer]} | {tag: \"Executor\", values: readonly [Buffer]};\n\nexport type OneSigStorage = {tag: \"Executors\", values: void} | {tag: \"ExecutorRequired\", values: void} | {tag: \"OneSigId\", values: void} | {tag: \"Seed\", values: void} | {tag: \"Nonce\", values: void};\n\n/**\n * BufferReaderError: 1000-1009\n */\nexport const BufferReaderError = {\n 1000: {message:\"InvalidLength\"},\n 1001: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * BufferWriterError: 1010-1019\n */\nexport const BufferWriterError = {\n 1010: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * TtlConfigurableError: 1020-1029\n */\nexport const TtlConfigurableError = {\n 1020: {message:\"InvalidTtlConfig\"},\n 1021: {message:\"TtlConfigFrozen\"},\n 1022: {message:\"TtlConfigAlreadyFrozen\"}\n}\n\n/**\n * OwnableError: 1030-1039\n */\nexport const OwnableError = {\n 1030: {message:\"InvalidAuthorizer\"},\n 1031: {message:\"InvalidPendingOwner\"},\n 1032: {message:\"InvalidTtl\"},\n 1033: {message:\"NoPendingTransfer\"},\n 1034: {message:\"OwnerAlreadySet\"},\n 1035: {message:\"OwnerNotSet\"},\n 1036: {message:\"TransferInProgress\"}\n}\n\n/**\n * BytesExtError: 1040-1049\n */\nexport const BytesExtError = {\n 1040: {message:\"LengthMismatch\"}\n}\n\n/**\n * UpgradeableError: 1050-1059\n */\nexport const UpgradeableError = {\n 1050: {message:\"InvalidMigrationData\"},\n 1051: {message:\"MigrationNotAllowed\"}\n}\n\n/**\n * MultiSigError: 1060-1069\n */\nexport const MultiSigError = {\n 1060: {message:\"AlreadyInitialized\"},\n 1061: {message:\"InvalidAuthorizer\"},\n 1062: {message:\"InvalidSigner\"},\n 1063: {message:\"SignatureError\"},\n 1064: {message:\"SignerAlreadyExists\"},\n 1065: {message:\"SignerNotFound\"},\n 1066: {message:\"TotalSignersLessThanThreshold\"},\n 1067: {message:\"UnsortedSigners\"},\n 1068: {message:\"ZeroThreshold\"}\n}\n\n/**\n * AuthError: 1070-1079\n */\nexport const AuthError = {\n 1070: {message:\"AuthorizerNotFound\"}\n}\n\n/**\n * RbacError: 1080-1089\n */\nexport const RbacError = {\n 1080: {message:\"AdminRoleNotFound\"},\n 1081: {message:\"IndexOutOfBounds\"},\n 1082: {message:\"MaxRolesExceeded\"},\n 1083: {message:\"RoleIsEmpty\"},\n 1084: {message:\"RoleNotFound\"},\n 1085: {message:\"RoleNotHeld\"},\n 1086: {message:\"Unauthorized\"}\n}\n\n\n\nexport type MultiSigStorage = {tag: \"Signers\", values: void} | {tag: \"Threshold\", values: void};\n\n\n\n\n\nexport type OwnableStorage = {tag: \"Owner\", values: void} | {tag: \"PendingOwner\", values: void};\n\n\n\n\nexport type RbacStorage = {tag: \"ExistingRoles\", values: void} | {tag: \"RoleIndexToAccount\", values: readonly [string, u32]} | {tag: \"RoleAccountToIndex\", values: readonly [string, string]} | {tag: \"RoleAccountsCount\", values: readonly [string]} | {tag: \"RoleAdmin\", values: readonly [string]};\n\n\n/**\n * TTL configuration: threshold (when to extend) and extend_to (target TTL).\n */\nexport interface TtlConfig {\n /**\n * Target TTL after extension (in ledgers).\n */\nextend_to: u32;\n /**\n * TTL threshold that triggers extension (in ledgers).\n */\nthreshold: u32;\n}\n\n\n\nexport type TtlConfigStorage = {tag: \"Frozen\", values: void} | {tag: \"Instance\", values: void} | {tag: \"Persistent\", values: void};\n\nexport type UpgradeableStorage = {tag: \"Migrating\", values: void};\n\nexport interface Client {\n /**\n * Construct and simulate a set_executor transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Adds or removes an executor based on the `active` flag.\n */\n set_executor: ({executor, active}: {executor: Buffer, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_executor_required transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets whether an executor is required for transactions.\n */\n set_executor_required: ({required}: {required: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a get_executors transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the list of all registered executors.\n */\n get_executors: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>\n\n /**\n * Construct and simulate a is_executor transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks whether a given address is a registered executor.\n */\n is_executor: ({executor}: {executor: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a total_executors transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the total number of registered executors.\n */\n total_executors: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a executor_required transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns whether an executor signature is required.\n */\n executor_required: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a set_seed transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Updates the seed used for EIP-712 digest construction and emits an event.\n */\n set_seed: ({seed}: {seed: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_merkle_root transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies a merkle root by checking expiry and validating EIP-712 signatures.\n */\n verify_merkle_root: ({merkle_root, expiry, signatures}: {merkle_root: Buffer, expiry: u64, signatures: Array<Buffer>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_transaction_proof transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies a transaction's merkle proof against the given root using the current nonce.\n */\n verify_transaction_proof: ({merkle_root, transaction}: {merkle_root: Buffer, transaction: Transaction}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a encode_leaf transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Encodes a leaf node by serializing version, onesig ID, contract address, nonce, and calls, then double-hashing with keccak256.\n */\n encode_leaf: ({nonce, calls}: {nonce: u64, calls: Array<Call>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>\n\n /**\n * Construct and simulate a can_execute_transaction transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks if the sender is authorized to execute a transaction (executor or signer when required).\n */\n can_execute_transaction: ({sender}: {sender: SenderKey}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a onesig_id transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the unique identifier for this OneSig deployment.\n */\n onesig_id: (options?: MethodOptions) => Promise<AssembledTransaction<u64>>\n\n /**\n * Construct and simulate a nonce transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current transaction nonce.\n */\n nonce: (options?: MethodOptions) => Promise<AssembledTransaction<u64>>\n\n /**\n * Construct and simulate a seed transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current seed used for EIP-712 digest construction.\n */\n seed: (options?: MethodOptions) => Promise<AssembledTransaction<Buffer>>\n\n /**\n * Construct and simulate a version transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the contract version string.\n */\n version: (options?: MethodOptions) => Promise<AssembledTransaction<string>>\n\n /**\n * Construct and simulate a leaf_encoding_version transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the leaf encoding version used for merkle proof construction.\n */\n leaf_encoding_version: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n */\n authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a set_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Adds or removes a signer from the multisig. Requires owner authorization.\n */\n set_signer: ({signer, active}: {signer: Buffer, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets the signature threshold (quorum). Requires owner authorization.\n */\n set_threshold: ({threshold}: {threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a get_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns all registered signers.\n */\n get_signers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>\n\n /**\n * Construct and simulate a total_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the total number of registered signers.\n */\n total_signers: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a is_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks if an address is a registered signer.\n */\n is_signer: ({signer}: {signer: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current signature threshold (quorum).\n */\n threshold: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a verify_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies signatures against the configured threshold.\n */\n verify_signatures: ({digest, signatures}: {digest: Buffer, signatures: Array<Buffer>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_n_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies signatures against a custom threshold.\n */\n verify_n_signatures: ({digest, signatures, threshold}: {digest: Buffer, signatures: Array<Buffer>, threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Extends the instance TTL.\n * \n * # Arguments\n * \n * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).\n * * `extend_to` - The TTL to extend to.\n */\n extend_instance_ttl: ({threshold, extend_to}: {threshold: u32, extend_to: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets TTL configs for instance and persistent storage.\n * \n * - `None` values remove the corresponding config (disables auto-extension for that type)\n * - Validates that `threshold <= extend_to <= MAX_TTL`\n * \n * # Arguments\n * - `instance` - TTL config for instance storage\n * - `persistent` - TTL config for persistent storage\n * \n * # Panics\n * - `TtlConfigFrozen` if configs are frozen\n * - `InvalidTtlConfig` if validation fails\n */\n set_ttl_configs: ({instance, persistent}: {instance: Option<TtlConfig>, persistent: Option<TtlConfig>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current TTL configs as (instance_config, persistent_config).\n */\n ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>\n\n /**\n * Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Permanently freezes TTL configs, preventing any future modifications.\n * \n * This is irreversible and provides immutability guarantees to users.\n * Emits `TtlConfigsFrozen` event.\n * \n * # Panics\n * - `TtlConfigAlreadyFrozen` if already frozen\n */\n freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns whether TTL configs are frozen.\n */\n is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n}\nexport class Client extends ContractClient {\n static async deploy<T = Client>(\n /** Constructor/Initialization Args for the contract's `__constructor` method */\n {onesig_id, seed, signers, threshold, executors, executor_required}: {onesig_id: u64, seed: Buffer, signers: Array<Buffer>, threshold: u32, executors: Array<Buffer>, executor_required: boolean},\n /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */\n options: MethodOptions &\n Omit<ContractClientOptions, \"contractId\"> & {\n /** The hash of the Wasm blob, which must already be installed on-chain. */\n wasmHash: Buffer | string;\n /** Salt used to generate the contract's ID. Passed through to {@link Operation.createCustomContract}. Default: random. */\n salt?: Buffer | Uint8Array;\n /** The format used to decode `wasmHash`, if it's provided as a string. */\n format?: \"hex\" | \"base64\";\n }\n ): Promise<AssembledTransaction<T>> {\n return ContractClient.deploy({onesig_id, seed, signers, threshold, executors, executor_required}, options)\n }\n constructor(public readonly options: ContractClientOptions) {\n super(\n new ContractSpec([ \"AAAABQAAAC9FdmVudCBwdWJsaXNoZWQgd2hlbiB0aGUgc2VlZCBpcyBzZXQgb3IgdXBkYXRlZAAAAAAAAAAAB1NlZWRTZXQAAAAAAQAAAAhzZWVkX3NldAAAAAEAAAAAAAAABHNlZWQAAAPuAAAAIAAAAAAAAAAC\",\n \"AAAABQAAAC5FdmVudCBwdWJsaXNoZWQgd2hlbiBhIHRyYW5zYWN0aW9uIGlzIGV4ZWN1dGVkAAAAAAAAAAAAE1RyYW5zYWN0aW9uRXhlY3V0ZWQAAAAAAQAAABR0cmFuc2FjdGlvbl9leGVjdXRlZAAAAAIAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAAAAAAI=\",\n \"AAAABQAAADRFdmVudCBwdWJsaXNoZWQgd2hlbiBhbiBleGVjdXRvciBpcyBhZGRlZCBvciByZW1vdmVkAAAAAAAAAAtFeGVjdXRvclNldAAAAAABAAAADGV4ZWN1dG9yX3NldAAAAAIAAAAAAAAACGV4ZWN1dG9yAAAD7gAAACAAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAg==\",\n \"AAAABQAAADRFdmVudCBwdWJsaXNoZWQgd2hlbiBleGVjdXRvciByZXF1aXJlbWVudCBpcyB0b2dnbGVkAAAAAAAAABNFeGVjdXRvclJlcXVpcmVkU2V0AAAAAAEAAAAVZXhlY3V0b3JfcmVxdWlyZWRfc2V0AAAAAAAAAQAAAAAAAAAIcmVxdWlyZWQAAAABAAAAAAAAAAI=\",\n \"AAAABAAAAAAAAAAAAAAAC09uZVNpZ0Vycm9yAAAAAAcAAAAAAAAAFUV4ZWN1dG9yQWxyZWFkeUV4aXN0cwAAAAAAAAEAAAAAAAAAGkV4ZWN1dG9yQWxyZWFkeUluaXRpYWxpemVkAAAAAAACAAAAAAAAABBFeGVjdXRvck5vdEZvdW5kAAAAAwAAAAAAAAATSW52YWxpZFByb29mT3JOb25jZQAAAAAEAAAAAAAAABFNZXJrbGVSb290RXhwaXJlZAAAAAAAAAUAAAAAAAAAEU5vbkNvbnRyYWN0SW52b2tlAAAAAAAABgAAAAAAAAAUT25seUV4ZWN1dG9yT3JTaWduZXIAAAAH\",\n \"AAAAAQAAAFlBIHNpbmdsZSBTb3JvYmFuIGludm9jYXRpb24gdGhhdCB3aWxsIGJlIGV4ZWN1dGVkIGF0b21pY2FsbHkgaW5zaWRlIGEgT25lU2lnIHRyYW5zYWN0aW9uLgAAAAAAAAAAAAAEQ2FsbAAAAAMAAAA1QUJJLWVuY29kZWQgYXJndW1lbnRzIGZvcndhcmRlZCB0byB0aGUgdGFyZ2V0IG1ldGhvZC4AAAAAAAAEYXJncwAAA+oAAAAAAAAALk1ldGhvZCBpZGVudGlmaWVyIHRoYXQgd2lsbCBiZSBjYWxsZWQgb24gYHRvYC4AAAAAAARmdW5jAAAAEQAAAEhUYXJnZXQgY29udHJhY3QgYWRkcmVzcyAobWlycm9ycyBgaW52b2tlX2NvbnRyYWN0YCdzIGBjb250cmFjdEFkZHJlc3NgKS4AAAACdG8AAAAAABM=\",\n \"AAAAAQAAAEhBIG1lcmtsZSBsZWFmIGRlc2NyaWJpbmcgdGhlIGV4YWN0IHNldCBvZiBjYWxscyB0aGF0IHNob3VsZCBiZSBleGVjdXRlZC4AAAAAAAAAC1RyYW5zYWN0aW9uAAAAAAIAAAA5T3JkZXJlZCBsaXN0IG9mIGludm9jYXRpb25zIHRoYXQgbXVzdCBzdWNjZWVkIGF0b21pY2FsbHkuAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAExNZXJrbGUgcHJvb2YgKHNpYmxpbmcgaGFzaGVzKSBwcm92aW5nIGBjYWxsc2AgYmVsb25ncyB0byBhbiBhdXRob3Jpc2VkIHJvb3QuAAAABXByb29mAAAAAAAD6gAAA+4AAAAg\",\n \"AAAAAQAAAExBY2NvdW50IEFic3RyYWN0aW9uIHBheWxvYWQgdXNlZCBieSBgX19jaGVja19hdXRoYCB0byB2YWxpZGF0ZSBhbiBleGVjdXRpb24uAAAAAAAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAUAAAA5VW5peCB0aW1lc3RhbXAgKHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSByb290IGlzIGludmFsaWQuAAAAAAAABmV4cGlyeQAAAAAABgAAAC5BcHByb3ZlZCBtZXJrbGUgcm9vdCBjb3ZlcmluZyB0aGUgdHJhbnNhY3Rpb24uAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAwTWVya2xlIHByb29mIGJpbmRpbmcgdGhlIGNhbGxzIHRvIGBtZXJrbGVfcm9vdGAuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAASEVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoc2lnbmVyLCBleGVjdXRvciwgb3IgcGVybWlzc2lvbmxlc3MpLgAAAAZzZW5kZXIAAAAAB9AAAAAGU2VuZGVyAAAAAABFVGhyZXNob2xkIHNpZ25hdHVyZXMgKHLigJZz4oCWdikgY292ZXJpbmcgYG1lcmtsZV9yb290YCBhbmQgYGV4cGlyeWAuAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQ==\",\n \"AAAAAgAAAEhSZXByZXNlbnRzIHRoZSBlbnRpdHkgdGhhdCBpcyBhdXRob3Jpc2luZyB0aGUgYF9fY2hlY2tfYXV0aGAgaW52b2NhdGlvbi4AAAAAAAAABlNlbmRlcgAAAAAAAwAAAAEAAABjQSBtdWx0aXNpZyBzaWduZXIgKHNlY3AyNTZrMSkgc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb24uIENvbnRhaW5zIHRoZSA2NS1ieXRlIHLigJZz4oCWdiBzaWduYXR1cmUuAAAAAAZTaWduZXIAAAAAAAEAAAPuAAAAQQAAAAEAAACSQSByZWdpc3RlcmVkIGV4ZWN1dG9yIChlZDI1NTE5KSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbi4KVGhlIHR1cGxlIGlzIGAocHVibGljX2tleSwgc2lnbmF0dXJlKWAgd2hlcmUgdGhlIHNpZ25hdHVyZSBjb3ZlcnMgdGhlIFNvcm9iYW4gcGF5bG9hZC4AAAAAAAhFeGVjdXRvcgAAAAIAAAPuAAAAIAAAA+4AAABAAAAAAAAAAFJQZXJtaXNzaW9ubGVzcyBleGVjdXRpb24gKGFueW9uZSBtYXkgc3VibWl0IHdoZW4gYGV4ZWN1dG9yX3JlcXVpcmVkYCBpcyBkaXNhYmxlZCkuAAAAAAAOUGVybWlzc2lvbmxlc3MAAA==\",\n \"AAAAAgAAAJpJZGVudGlmaWVyIHVzZWQgYnkgYGNhbl9leGVjdXRlX3RyYW5zYWN0aW9uYCB0byBkZXNjcmliZSB0aGUgY2FsbGVyLgpTaWduZXJzIHVzZSBFdGhlcmV1bS1zdHlsZSAyMC1ieXRlIGFkZHJlc3NlcyB3aGlsZSBleGVjdXRvcnMgdXNlIGVkMjU1MTkgcHVibGljIGtleXMuAAAAAAAAAAAACVNlbmRlcktleQAAAAAAAAIAAAABAAAAOUFuIEV0aGVyZXVtLXN0eWxlIHNpZ25lciBhZGRyZXNzICgyMCBieXRlcywgbGVmdC1wYWRkZWQpLgAAAAAAAAZTaWduZXIAAAAAAAEAAAPuAAAAFAAAAAEAAAAqQW4gZWQyNTUxOSBleGVjdXRvciBwdWJsaWMga2V5ICgzMiBieXRlcykuAAAAAAAIRXhlY3V0b3IAAAABAAAD7gAAACA=\",\n \"AAAAAAAAADdBZGRzIG9yIHJlbW92ZXMgYW4gZXhlY3V0b3IgYmFzZWQgb24gdGhlIGBhY3RpdmVgIGZsYWcuAAAAAAxzZXRfZXhlY3V0b3IAAAACAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAA\",\n \"AAAAAAAAADZTZXRzIHdoZXRoZXIgYW4gZXhlY3V0b3IgaXMgcmVxdWlyZWQgZm9yIHRyYW5zYWN0aW9ucy4AAAAAABVzZXRfZXhlY3V0b3JfcmVxdWlyZWQAAAAAAAABAAAAAAAAAAhyZXF1aXJlZAAAAAEAAAAA\",\n \"AAAAAAAAAC1SZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCByZWdpc3RlcmVkIGV4ZWN1dG9ycy4AAAAAAAANZ2V0X2V4ZWN1dG9ycwAAAAAAAAAAAAABAAAD6gAAA+4AAAAg\",\n \"AAAAAAAAADhDaGVja3Mgd2hldGhlciBhIGdpdmVuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIGV4ZWN1dG9yLgAAAAtpc19leGVjdXRvcgAAAAABAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAQAAAAE=\",\n \"AAAAAAAAADFSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAAD3RvdGFsX2V4ZWN1dG9ycwAAAAAAAAAAAQAAAAQ=\",\n \"AAAAAAAAADJSZXR1cm5zIHdoZXRoZXIgYW4gZXhlY3V0b3Igc2lnbmF0dXJlIGlzIHJlcXVpcmVkLgAAAAAAEWV4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAAAAAAEAAAAB\",\n \"AAAAAAAAAAAAAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAARc2lnbmF0dXJlX3BheWxvYWQAAAAAAAPuAAAAIAAAAAAAAAAJYXV0aF9kYXRhAAAAAAAH0AAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAAAAAANYXV0aF9jb250ZXh0cwAAAAAAA+oAAAfQAAAAB0NvbnRleHQAAAAAAQAAA+kAAAACAAAAAw==\",\n \"AAAAAAAAAElVcGRhdGVzIHRoZSBzZWVkIHVzZWQgZm9yIEVJUC03MTIgZGlnZXN0IGNvbnN0cnVjdGlvbiBhbmQgZW1pdHMgYW4gZXZlbnQuAAAAAAAACHNldF9zZWVkAAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAA==\",\n \"AAAAAAAAAExWZXJpZmllcyBhIG1lcmtsZSByb290IGJ5IGNoZWNraW5nIGV4cGlyeSBhbmQgdmFsaWRhdGluZyBFSVAtNzEyIHNpZ25hdHVyZXMuAAAAEnZlcmlmeV9tZXJrbGVfcm9vdAAAAAAAAwAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAABmV4cGlyeQAAAAAABgAAAAAAAAAKc2lnbmF0dXJlcwAAAAAD6gAAA+4AAABBAAAAAA==\",\n \"AAAAAAAAAFVWZXJpZmllcyBhIHRyYW5zYWN0aW9uJ3MgbWVya2xlIHByb29mIGFnYWluc3QgdGhlIGdpdmVuIHJvb3QgdXNpbmcgdGhlIGN1cnJlbnQgbm9uY2UuAAAAAAAAGHZlcmlmeV90cmFuc2FjdGlvbl9wcm9vZgAAAAIAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAt0cmFuc2FjdGlvbgAAAAfQAAAAC1RyYW5zYWN0aW9uAAAAAAA=\",\n \"AAAAAAAAAH5FbmNvZGVzIGEgbGVhZiBub2RlIGJ5IHNlcmlhbGl6aW5nIHZlcnNpb24sIG9uZXNpZyBJRCwgY29udHJhY3QgYWRkcmVzcywgbm9uY2UsIGFuZCBjYWxscywgdGhlbiBkb3VibGUtaGFzaGluZyB3aXRoIGtlY2NhazI1Ni4AAAAAAAtlbmNvZGVfbGVhZgAAAAACAAAAAAAAAAVub25jZQAAAAAAAAYAAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAAEAAAPuAAAAIA==\",\n \"AAAAAAAAAF9DaGVja3MgaWYgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIHRvIGV4ZWN1dGUgYSB0cmFuc2FjdGlvbiAoZXhlY3V0b3Igb3Igc2lnbmVyIHdoZW4gcmVxdWlyZWQpLgAAAAAXY2FuX2V4ZWN1dGVfdHJhbnNhY3Rpb24AAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAfQAAAACVNlbmRlcktleQAAAAAAAAEAAAAB\",\n \"AAAAAAAAADlSZXR1cm5zIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBPbmVTaWcgZGVwbG95bWVudC4AAAAAAAAJb25lc2lnX2lkAAAAAAAAAAAAAAEAAAAG\",\n \"AAAAAAAAACZSZXR1cm5zIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG5vbmNlLgAAAAAABW5vbmNlAAAAAAAAAAAAAAEAAAAG\",\n \"AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IHNlZWQgdXNlZCBmb3IgRUlQLTcxMiBkaWdlc3QgY29uc3RydWN0aW9uLgAAAAAABHNlZWQAAAAAAAAAAQAAA+4AAAAg\",\n \"AAAAAAAAACRSZXR1cm5zIHRoZSBjb250cmFjdCB2ZXJzaW9uIHN0cmluZy4AAAAHdmVyc2lvbgAAAAAAAAAAAQAAABA=\",\n \"AAAAAAAAAEVSZXR1cm5zIHRoZSBsZWFmIGVuY29kaW5nIHZlcnNpb24gdXNlZCBmb3IgbWVya2xlIHByb29mIGNvbnN0cnVjdGlvbi4AAAAAAAAVbGVhZl9lbmNvZGluZ192ZXJzaW9uAAAAAAAAAAAAAAEAAAAE\",\n \"AAAAAAAAAgVDb25zdHJ1Y3RvciB0byBpbml0aWFsaXplIHRoZSBPbmVTaWcgY29udHJhY3Qgd2l0aCBpbml0aWFsIHN0YXRlCgojIEFyZ3VtZW50cwoqIGBvbmVzaWdfaWRgIC0gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgT25lU2lnIGRlcGxveW1lbnQKKiBgc2VlZGAgLSBJbml0aWFsIHNlZWQgdmFsdWUgZm9yIG1lcmtsZSByb290IHZlcmlmaWNhdGlvbgoqIGBzaWduZXJzYCAtIEFycmF5IG9mIGluaXRpYWwgc2lnbmVyIGFkZHJlc3NlcyAoMzIgYnl0ZXMgZWFjaCwgRXRoZXJldW0gYWRkcmVzc2VzIHBhZGRlZCkKKiBgdGhyZXNob2xkYCAtIE51bWJlciBvZiBzaWduYXR1cmVzIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbiBleGVjdXRpb24KKiBgZXhlY3V0b3JzYCAtIEFycmF5IG9mIGluaXRpYWwgZXhlY3V0b3IgcHVibGljIGtleXMgKEJ5dGVzTjwzMj4pCiogYGV4ZWN1dG9yX3JlcXVpcmVkYCAtIFdoZXRoZXIgZXhlY3V0b3IgcGVybWlzc2lvbiBpcyByZXF1aXJlZCBmb3IgdHJhbnNhY3Rpb24gZXhlY3V0aW9uAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAAGAAAAAAAAAAlvbmVzaWdfaWQAAAAAAAAGAAAAAAAAAARzZWVkAAAD7gAAACAAAAAAAAAAB3NpZ25lcnMAAAAD6gAAA+4AAAAUAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleGVjdXRvcnMAAAAAAAPqAAAD7gAAACAAAAAAAAAAEWV4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAQAAAAA=\",\n \"AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEw==\",\n \"AAAAAAAAAElBZGRzIG9yIHJlbW92ZXMgYSBzaWduZXIgZnJvbSB0aGUgbXVsdGlzaWcuIFJlcXVpcmVzIG93bmVyIGF1dGhvcml6YXRpb24uAAAAAAAACnNldF9zaWduZXIAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAA=\",\n \"AAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAA=\",\n \"AAAAAAAAAB9SZXR1cm5zIGFsbCByZWdpc3RlcmVkIHNpZ25lcnMuAAAAAAtnZXRfc2lnbmVycwAAAAAAAAAAAQAAA+oAAAPuAAAAFA==\",\n \"AAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABA==\",\n \"AAAAAAAAACxDaGVja3MgaWYgYW4gYWRkcmVzcyBpcyBhIHJlZ2lzdGVyZWQgc2lnbmVyLgAAAAlpc19zaWduZXIAAAAAAAABAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAE=\",\n \"AAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABA==\",\n \"AAAAAAAAADVWZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgdGhlIGNvbmZpZ3VyZWQgdGhyZXNob2xkLgAAAAAAABF2ZXJpZnlfc2lnbmF0dXJlcwAAAAAAAAIAAAAAAAAABmRpZ2VzdAAAAAAD7gAAACAAAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAA=\",\n \"AAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAA\",\n \"AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==\",\n \"AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==\",\n \"AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==\",\n \"AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==\",\n \"AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==\",\n \"AAAAAgAAAAAAAAAAAAAADU9uZVNpZ1N0b3JhZ2UAAAAAAAAFAAAAAAAAAAAAAAAJRXhlY3V0b3JzAAAAAAAAAAAAAAAAAAAQRXhlY3V0b3JSZXF1aXJlZAAAAAAAAAAAAAAACE9uZVNpZ0lkAAAAAAAAAAAAAAAEU2VlZAAAAAAAAAAAAAAABU5vbmNlAAAA\",\n \"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp\",\n \"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=\",\n \"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=\",\n \"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAw=\",\n \"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==\",\n \"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBs=\",\n \"AAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELA==\",\n \"AAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQu\",\n \"AAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4=\",\n \"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC\",\n \"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=\",\n \"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==\",\n \"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC\",\n \"AAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIHJldm9rZWQuAAAAAAAAAAAAAAtSb2xlUmV2b2tlZAAAAAABAAAADHJvbGVfcmV2b2tlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACtFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGFkbWluIGlzIGNoYW5nZWQuAAAAAAAAAAAQUm9sZUFkbWluQ2hhbmdlZAAAAAEAAAAScm9sZV9hZG1pbl9jaGFuZ2VkAAAAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAE3ByZXZpb3VzX2FkbWluX3JvbGUAAAAD6AAAABEAAAAAAAAAAAAAAA5uZXdfYWRtaW5fcm9sZQAAAAAD6AAAABEAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAC1JiYWNTdG9yYWdlAAAAAAUAAAAAAAAAAAAAAA1FeGlzdGluZ1JvbGVzAAAAAAAAAQAAAAAAAAASUm9sZUluZGV4VG9BY2NvdW50AAAAAAACAAAAEQAAAAQAAAABAAAAAAAAABJSb2xlQWNjb3VudFRvSW5kZXgAAAAAAAIAAAARAAAAEwAAAAEAAAAAAAAAEVJvbGVBY2NvdW50c0NvdW50AAAAAAAAAQAAABEAAAABAAAAAAAAAAlSb2xlQWRtaW4AAAAAAAABAAAAEQ==\",\n \"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=\",\n \"AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==\",\n \"AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA==\" ]),\n options\n )\n }\n public readonly fromJSON = {\n set_executor: this.txFromJSON<null>,\n set_executor_required: this.txFromJSON<null>,\n get_executors: this.txFromJSON<Array<Buffer>>,\n is_executor: this.txFromJSON<boolean>,\n total_executors: this.txFromJSON<u32>,\n executor_required: this.txFromJSON<boolean>,\n set_seed: this.txFromJSON<null>,\n verify_merkle_root: this.txFromJSON<null>,\n verify_transaction_proof: this.txFromJSON<null>,\n encode_leaf: this.txFromJSON<Buffer>,\n can_execute_transaction: this.txFromJSON<boolean>,\n onesig_id: this.txFromJSON<u64>,\n nonce: this.txFromJSON<u64>,\n seed: this.txFromJSON<Buffer>,\n version: this.txFromJSON<string>,\n leaf_encoding_version: this.txFromJSON<u32>,\n authorizer: this.txFromJSON<Option<string>>,\n set_signer: this.txFromJSON<null>,\n set_threshold: this.txFromJSON<null>,\n get_signers: this.txFromJSON<Array<Buffer>>,\n total_signers: this.txFromJSON<u32>,\n is_signer: this.txFromJSON<boolean>,\n threshold: this.txFromJSON<u32>,\n verify_signatures: this.txFromJSON<null>,\n verify_n_signatures: this.txFromJSON<null>,\n extend_instance_ttl: this.txFromJSON<null>,\n set_ttl_configs: this.txFromJSON<null>,\n ttl_configs: this.txFromJSON<readonly [Option<TtlConfig>, Option<TtlConfig>]>,\n freeze_ttl_configs: this.txFromJSON<null>,\n is_ttl_configs_frozen: this.txFromJSON<boolean>\n }\n}"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var H5QQRGUW_js = require('./H5QQRGUW.js');
|
|
4
4
|
var VUOMXK5T_js = require('./VUOMXK5T.js');
|
|
5
5
|
var stellarSdk = require('@stellar/stellar-sdk');
|
|
6
6
|
|
|
7
|
-
var ONE_SIG_SPEC = new
|
|
7
|
+
var ONE_SIG_SPEC = new H5QQRGUW_js.Client({
|
|
8
8
|
contractId: "",
|
|
9
9
|
rpcUrl: "",
|
|
10
10
|
networkPassphrase: "",
|
|
@@ -41,5 +41,5 @@ function stellarLeafGenerator(leafs) {
|
|
|
41
41
|
VUOMXK5T_js.__name(stellarLeafGenerator, "stellarLeafGenerator");
|
|
42
42
|
|
|
43
43
|
exports.stellarLeafGenerator = stellarLeafGenerator;
|
|
44
|
-
//# sourceMappingURL=
|
|
45
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=NU6F2MXQ.js.map
|
|
45
|
+
//# sourceMappingURL=NU6F2MXQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/leafGenerator.ts"],"names":["ONE_SIG_SPEC","Client","contractId","rpcUrl","networkPassphrase","allowHttp","spec","callsInput","getFunc","inputs","find","input","name","toString","Error","VEC_CALL_TYPE","type","stellarLeafGenerator","leafs","encodeAddress","address","StrKey","decodeContract","encodeCalls","calls","length","callObjects","map","call","to","Address","fromString","contractAddress","func","functionName","args","nativeToScVal","toXDR"],"mappings":";;;;;;AAQA,IAAMA,YAAAA,GAAe,IAAIC,
|
|
1
|
+
{"version":3,"sources":["../src/leafGenerator.ts"],"names":["ONE_SIG_SPEC","Client","contractId","rpcUrl","networkPassphrase","allowHttp","spec","callsInput","getFunc","inputs","find","input","name","toString","Error","VEC_CALL_TYPE","type","stellarLeafGenerator","leafs","encodeAddress","address","StrKey","decodeContract","encodeCalls","calls","length","callObjects","map","call","to","Address","fromString","contractAddress","func","functionName","args","nativeToScVal","toXDR"],"mappings":";;;;;;AAQA,IAAMA,YAAAA,GAAe,IAAIC,kBAAAA,CAAO;EAC5BC,UAAAA,EAAY,EAAA;EACZC,MAAAA,EAAQ,EAAA;EACRC,iBAAAA,EAAmB,EAAA;EACnBC,SAAAA,EAAW;AACf,CAAA,CAAA,CAAGC,IAAAA;AACH,IAAMC,UAAAA,GAAaP,YAAAA,CAAaQ,OAAAA,CAAQ,aAAA,EACnCC,MAAAA,EAAM,CACNC,IAAAA,CAAK,CAACC,UAAqCA,KAAAA,CAAMC,IAAAA,EAAI,CAAGC,QAAAA,OAAe,OAAA,CAAA;AAC5E,IAAI,CAACN,UAAAA,EAAY,MAAM,IAAIO,MAAM,wDAAA,CAAA;AACjC,IAAMC,aAAAA,GAAgBR,WAAWS,IAAAA,EAAI;AAiB9B,SAASC,qBACZC,KAAAA,EAAwB;AAExB,EAAA,OAAO;AACHA,IAAAA,KAAAA;;AAGAC,IAAAA,aAAAA,CAAcC,OAAAA,EAAe;AACzB,MAAA,IAAI;AACA,QAAA,OAAOC,iBAAAA,CAAOC,eAAeF,OAAAA,CAAAA;MACjC,CAAA,CAAA,MAAQ;AACJ,QAAA,MAAM,IAAIN,KAAAA,CAAM,CAAA,iCAAA,EAAoCM,OAAAA,CAAAA,gBAAAA,CAAyB,CAAA;AACjF,MAAA;AACJ,IAAA,CAAA;;AAGAG,IAAAA,WAAAA,CAAYC,KAAAA,EAAoB;AAC5B,MAAA,IAAIA,KAAAA,CAAMC,WAAW,CAAA,EAAG;AACpB,QAAA,MAAM,IAAIX,MAAM,0CAAA,CAAA;AACpB,MAAA;AAEA,MAAA,MAAMY,WAAAA,GAAcF,KAAAA,CAAMG,GAAAA,CAAI,CAACC,IAAAA,MAAU;QACrCC,EAAAA,EAAIC,kBAAAA,CAAQC,UAAAA,CAAWH,IAAAA,CAAKI,eAAe,CAAA;AAC3CC,QAAAA,IAAAA,EAAML,IAAAA,CAAKM,YAAAA;AACXC,QAAAA,IAAAA,EAAMP,IAAAA,CAAKO;OACf,CAAA,CAAA;AAEA,MAAA,OAAOnC,YAAAA,CAAaoC,aAAAA,CAAcV,WAAAA,EAAaX,aAAAA,EAAesB,KAAAA,EAAK;AACvE,IAAA;AACJ,GAAA;AACJ;AA9BgBpB,kBAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA","file":"NU6F2MXQ.js","sourcesContent":["import type { xdr } from '@stellar/stellar-sdk';\nimport { Address, StrKey } from '@stellar/stellar-sdk';\n\nimport { type BaseLeafData, type GenerateLeafsResult } from '@layerzerolabs/onesig-core';\n\nimport { Client } from './generated/index';\n\n// Get the contract spec and Vec<Call> type at module load\nconst ONE_SIG_SPEC = new Client({\n contractId: '',\n rpcUrl: '',\n networkPassphrase: '',\n allowHttp: true,\n}).spec;\nconst callsInput = ONE_SIG_SPEC.getFunc('encode_leaf')\n .inputs()\n .find((input: xdr.ScSpecFunctionInputV0) => input.name().toString() === 'calls');\nif (!callsInput) throw new Error('Could not find calls parameter in encode_leaf function');\nconst VEC_CALL_TYPE = callsInput.type();\n\n/**\n * Stellar contract call data structure\n *\n * Arguments are provided as pre-encoded ScVal[] matching the contract function's parameter types.\n * The entire Call struct (to, func, args) is encoded using nativeToScVal for XDR encoding.\n */\nexport interface StellarCall {\n contractAddress: string; // Soroban contract address (C...)\n functionName: string; // Function name to call\n args: xdr.ScVal[]; // Function arguments as ScVal[] matching contract parameters\n}\n\nexport type StellarLeafData = BaseLeafData<string, StellarCall>;\n\n/** Generates Stellar leaf data for OneSig Merkle tree */\nexport function stellarLeafGenerator(\n leafs: StellarLeafData[],\n): GenerateLeafsResult<StellarLeafData> {\n return {\n leafs,\n\n /** Encode OneSig contract address (C...) to 32-byte buffer */\n encodeAddress(address: string): Buffer {\n try {\n return StrKey.decodeContract(address);\n } catch {\n throw new Error(`Invalid OneSig contract address: ${address}. Expected: C...`);\n }\n },\n\n /** Encode Stellar contract calls to XDR buffer using Vec<Call> encoding */\n encodeCalls(calls: StellarCall[]): Buffer {\n if (calls.length === 0) {\n throw new Error('Stellar leaf must have at least one call');\n }\n\n const callObjects = calls.map((call) => ({\n to: Address.fromString(call.contractAddress),\n func: call.functionName,\n args: call.args,\n }));\n\n return ONE_SIG_SPEC.nativeToScVal(callObjects, VEC_CALL_TYPE).toXDR();\n },\n };\n}\n"]}
|
|
@@ -276,5 +276,5 @@ var Client = class extends Client$1 {
|
|
|
276
276
|
};
|
|
277
277
|
|
|
278
278
|
export { AuthError, BufferReaderError, BufferWriterError, BytesExtError, Client, MultiSigError, OneSigError, OwnableError, RbacError, TtlConfigurableError, UpgradeableError, WASM_BASE64, WASM_HASH, getWasmBuffer };
|
|
279
|
-
//# sourceMappingURL=
|
|
280
|
-
//# sourceMappingURL=
|
|
279
|
+
//# sourceMappingURL=T56IMIRG.mjs.map
|
|
280
|
+
//# sourceMappingURL=T56IMIRG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/index.ts"],"names":["WASM_BASE64","WASM_HASH","getWasmBuffer","Buffer","from","OneSigError","message","BufferReaderError","BufferWriterError","TtlConfigurableError","OwnableError","BytesExtError","UpgradeableError","MultiSigError","AuthError","RbacError","Client","ContractClient","deploy","onesig_id","seed","signers","threshold","executors","executor_required","options","ContractSpec","fromJSON","set_executor","txFromJSON","set_executor_required","get_executors","is_executor","total_executors","set_seed","verify_merkle_root","verify_transaction_proof","encode_leaf","can_execute_transaction","nonce","version","leaf_encoding_version","authorizer","set_signer","set_threshold","get_signers","total_signers","is_signer","verify_signatures","verify_n_signatures","extend_instance_ttl","set_ttl_configs","ttl_configs","freeze_ttl_configs","is_ttl_configs_frozen"],"mappings":"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","file":"T56IMIRG.mjs","sourcesContent":["import { Buffer } from \"buffer\";\nimport { Address } from '@stellar/stellar-sdk';\nimport {\n AssembledTransaction,\n AssembledTransactionOptions,\n Client as ContractClient,\n ClientOptions as ContractClientOptions,\n MethodOptions,\n Result,\n Spec as ContractSpec,\n} from '@stellar/stellar-sdk/contract';\nimport type {\n u32,\n i32,\n u64,\n i64,\n u128,\n i128,\n u256,\n i256,\n Option,\n Typepoint,\n Duration,\n} from '@stellar/stellar-sdk/contract';\nexport * from '@stellar/stellar-sdk'\nexport * as contract from '@stellar/stellar-sdk/contract'\nexport * as rpc from '@stellar/stellar-sdk/rpc'\n\n/**\n * Embedded WASM bytecode (base64-encoded)\n * Size: 29114 bytes (28.43 KB)\n */\nexport const WASM_BASE64 = \"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gIAAQoCAgIBwg0KAgICAkAhSDQAgACABNwMIQgAhAgsgACACNwMACzABAX4gACkDACECIAAgAiACEIOAgIAAQoCAgIBwg0IEhCABQSAQsoCAgAA3AwAgAAseACAAIAEgAq1CIIZCBIQgA61CIIZCBIQQoICAgAALTQIBfwF+ELSAgIAAQQAhAAJAQQAQtYCAgAAiAUICEK2AgIAARQ0AQQEhAAJAAkAgAUICEIGAgIAAp0H/AXEOAgECAAsAC0EAIQALIAALSAEBfyOAgICAAEEQayIAJICAgIAAIABBBGoQmIGAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEJKBgIAACyAAQRBqJICAgIAAC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHChsCAAEEGEMiAgIAAIAEoAgANAyABIAEpAwgQyYCAgAAMAgsgAUHIhsCAAEEIEMiAgIAAIAEoAgANAiABIAEpAwgQyYCAgAAMAQsgAUHQhsCAAEEKEMiAgIAAIAEoAgANASABIAEpAwgQyYCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtmAgF/An4jgICAgABBEGsiACSAgICAACAAQQRqELeAgIAAAkAgACgCBEEBRw0AIAA1AgwhASAANQIIIQJBABCsgICAACACQiCGQgSEIAFCIIZCBIQQuICAgAALIABBEGokgICAgAALDAAgAEECEKGBgIAACxEAIABCASABIAIQp4CAgAAaC00BAX8jgICAgABBEGsiACSAgICAACAAELqAgIAAAkAgACgCAA0AQoOAgIDghQEQu4CAgAAACyAAKQMIEISAgIAAGiAAQRBqJICAgIAACyABAX4QtICAgAAQhYCAgAAhASAAQgE3AwAgACABNwMICwsAIAAQpYCAgAAaC24CAX8BfiOAgICAAEEQayIAJICAgIAAEIWAgIAAIQEgABC6gICAAAJAAkAgACgCAEEBRw0AIAEgACkDCBCGgICAAFANAQtCg4CAgNCEARC7gICAAAALEIWAgIAAEISAgIAAGiAAQRBqJICAgIAACxgAELSAgIAAIAAgARC+gICAABC/gICAAAtGAgF/AX5BACEAAkACQEEBEIKBgIAAIgFCAhCtgICAAEUNACABQgIQgYCAgAAiAUL/AYNCBFINASABQiCIpyEACyAADwsAC4sDAgF/BX4jgICAgABBMGsiAySAgICAABC0gICAAAJAAkACQAJAAkACQCACRQ0AIAIgARCHgICAAEIgiKdLDQEQwICAgAAhBCABEIeAgIAAQiCIIQVCACEGQQAhAgNAIAYgBVENBCADQSBqIAEgBkIghkIEhBCIgICAABCwgICAACAGQv////8PUQ0DIAMpAyBQRQ0DIAAgAykDKBDBgICAACEHAkAgAkEBcUUNACAHIAgQwoCAgABBGHRBGHVBAEwNBgsgBBCHgICAACEIIANBADYCCCADIAQ3AwAgAyAIQiCIPgIMA0AgA0EgaiADEMOAgIAAIANBEGogAykDICADKQMoEMSAgIAAIAMoAhBBAUcNByADKQMYIAcQxYCAgABFDQALIAZCAXwhBkEBIQIgByEIDAALC0KDgICAwIUBELuAgIAAAAtCg4CAgPCEARC7gICAAAALEMaAgIAAAAsgA0EwaiSAgICAAA8LQoOAgICwhQEQu4CAgAAAC0KDgICAkIUBELuAgIAAAAtGAQF+AkACQEEAEIKBgIAAIgBCARCtgICAAEUNACAAQgEQgYCAgAAiAEL/AYNCywBSDQEQhIGAgAAgAA8LEI+AgIAADwsAC/wBAwF/AX4CfyOAgICAAEEQayICJICAgIAAAkACQCABEIOAgIAAQv////+PCFgNACABQoSAgICACBCogICAACEDIAFCBEKEgICAgAgQmICAgAAiARCDgICAAEKAgICAcINCgICAgIAIUg0BIAIgACABIANCIIinIgRBZWoiBSAEIAVB/wFxQQRJG61C/wGDQiCGQgSEEKmAgIAAQoSAgIAQQoSAgICQCBCYgICAABCWgICAAEKEgICAwAFChICAgIAEEJiAgIAAEKOBgIAAIAIoAgBBAUYNASACKQMIIQEgAkEQaiSAgICAACABDwsQ/oCAgAAACxDGgICAAAALFwAgACABEIaAgIAAIgFCAFUgAUIAU2sLkQECAn8BfiOAgICAAEEQayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgI3AwAMAQsgAiABKQMAIAOtQiCGQgSEEIiAgIAAEO+AgIAAAkAgA0EBaiIDRQ0AIAIpAwAhBCAAIAIpAwg3AwggACAENwMAIAEgAzYCCAwBCxDGgICAAAALIAJBEGokgICAgAALNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LEMaAgIAAAAsRACAAIAEQwoCAgABB/wFxRQsJABCdgYCAAAALmwEDAX8CfgF/I4CAgIAAQTBrIgEkgICAgAAQtICAgAAQwICAgAAiAhCHgICAACEDIAFBADYCCCABIAI3AwAgASADQiCIPgIMAkADQCABQSBqIAEQw4CAgAAgAUEQaiABKQMgIAEpAygQxICAgAAgASgCECIEQQFHDQEgASkDGCAAEMWAgIAARQ0ACwsgAUEwaiSAgICAACAEQQFxC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEJ6BgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARCagYCAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAuRAQICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQiICAgAAQy4CAgAACQCADQQFqIgNFDQAgAikDACEEIAAgAikDCDcDCCAAIAQ3AwAgASADNgIIDAELEMaAgIAAAAsgAkEQaiSAgICAAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARD9gICAAAtiAQF/I4CAgIAAQRBrIgIkgICAgABBiIHAgABBDBDNgICAACAAEM6AgIAAIQAgAiABrUL/AYM3AwggAEGohcCAAEEBIAJBCGpBARDPgICAABCKgICAABogAkEQaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARCegYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLlAEBAn8jgICAgABBIGsiAiSAgICAACACIAE3AwggAiAANwMAQQAhAwN+AkAgA0EQRw0AQQAhAwJAA0AgA0EQRg0BIAJBEGogA2ogAiADaikDADcDACADQQhqIQMMAAsLIAJBEGpBAhCagYCAACEBIAJBIGokgICAgAAgAQ8LIAJBEGogA2pCAjcDACADQQhqIQMMAAsLLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBChgICAAAtEAQF+AkAQ0YCAgAAiASAAEIuAgIAAQgJSDQAgASAAEIyAgIAAENKAgIAAIABBARDMgICAAA8LQoOAgIAQELuAgIAAAAtGAQF+AkACQEEAEKyAgIAAIgBCARCtgICAAEUNACAAQgEQgYCAgAAiAEL/AYNCywBSDQEQtoCAgAAgAA8LEI+AgIAADwsACxsAQQAQrICAgAAgAEIBEIKAgIAAGhC2gICAAAtzAgF/An4jgICAgABBEGsiASSAgICAAEEBEKyAgIAAIACtIgJCAhCCgICAABpBlIHAgABBFRDNgICAABDUgICAACEDIAEgAjcDCCADQbSBwIAAQQEgAUEIakEBEM+AgIAAEIqAgIAAGiABQRBqJICAgIAAC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCagYCAACEAIAFBEGokgICAgAAgAAuNAgECfyOAgICAAEEgayICJICAgIAAIAJBEGogABDLgICAAAJAAkACQCACKAIQQQFGDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAikDGCEAELmAgIAAELSAgIAAAkACQCADQQFxDQAgAkEIahDRgICAACIBIAAQi4CAgAAQ1oCAgAAgAigCCCIDQQJGDQMgA0EBcUUNBAJAIAIoAgwiAyABEIeAgIAAQiCIp08NACABIAOtQiCGQgSEEI2AgIAAIQELIAEQ0oCAgAAgAEEAEMyAgIAADAELIAAQ0ICAgAALIAJBIGokgICAgABCAg8LAAsQxoCAgAAAC0KDgICAMBC7gICAAAALPQECfwJAAkAgAUICUg0AQQAhAgwBC0EBQQIgAUL/AYNCBFEbIQIgAUIgiKchAwsgACADNgIEIAAgAjYCAAs/AQF/AkBBASAAp0H/AXEiAUEAR0EBdCABQQFGGyIBQQJHDQAACxC5gICAABC0gICAACABQQFxENOAgIAAQgILCAAQ2YCAgAALDgAQtICAgAAQ0YCAgAALSAECfyOAgICAAEEQayIBJICAgIAAIAEgABDLgICAAAJAIAEoAgBBAUcNAAALIAEpAwgQ24CAgAAhAiABQRBqJICAgIAAIAKtCxkAELSAgIAAENmAgIAAIAAQi4CAgABCAlILHgAQtICAgAAQ2YCAgAAQh4CAgABCgICAgHCDQgSECwkAEN6AgIAArQtJAgF/AX4QtICAgABBASEAAkACQEEBEKyAgIAAIgFCAhCtgICAAEUNAAJAIAFCAhCBgICAAKdB/wFxDgIBAgALAAtBACEACyAAC70PBwF/AX4BfwV+AX8BfgF/I4CAgIAAQdAAayIDJICAgIAAIANBCGogABDLgICAAAJAIAMoAghBAUYNACADKQMQIQRBACEFAkADQCAFQShGDQEgA0EIaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUGQgsCAAEEFIANBCGpBBRDggICAACADQcAAaiADKQMIEKqAgIAAIAMoAkANACADKQNIIQYgA0HAAGogAykDEBDLgICAACADKAJADQAgAykDGCIHQv8Bg0LLAFINACADKQMgIgFC/wGDQssAUg0AIAMpA0ghCCABEIeAgIAAIQAgA0EANgI4IAMgATcDMCADIABCIIg+AjwgA0HAAGogA0EwahDhgICAACADKQNAIgFCAlENACABp0EBcQ0AAkAgAykDSCIBp0H/AXEiBUHKAEYNACAFQQ5HDQELAkACQAJAAkAgAUHUgsCAAEEDEOKAgIAAQiCIpyIFDgMAAQIECyADKAI4IAMoAjwQ44CAgABBAUsNAyADQcAAaiADQTBqEOGAgIAAIAMpA0AiAUICUQ0DIAGnQQFxDQMgA0HAAGogAykDSBCwgICAACADKAJADQMgAykDSCEBDAILIAMoAjggAygCPBDjgICAAEECSw0CIANBwABqIANBMGoQ4YCAgAAgAykDQCIBQgJRDQIgAadBAXENAiADQcAAaiADKQNIEMuAgIAAIAMoAkANAiADKQNIIQEgA0HAAGogA0EwahDhgICAACADKQNAIgBCAlENAiAAp0EBcQ0CIAMpA0giCUL/AYNCyABSDQIgCRCDgICAAEKAgICAcINCgICAgIAIUQ0BDAILIAMoAjggAygCPBDjgICAAA0BCyADKQMoIgBC/wGDQssAUg0AIAJC/wGDQssAUg0AELSAgIAAAkACQAJAAkACQAJAIAUOAwABAgALIAQg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IQEgAyABIAEQg4CAgABCgICAgHCDQgSEQZyDwIAAQQIQsoCAgAA3AwggA0EIakGeg8CAABCxgICAACEFIANBMGpBGGoiBkIANwMAIANBMGpBEGoiB0IANwMAIANBMGpBCGoiCEIANwMAIANCADcDMCAEIANBMGoQ+YCAgAAgA0EQakEYaiAGKQMANwMAIANBEGpBEGogBykDADcDACADQRBqQQhqIAgpAwA3AwAgAyADKQMwNwMQIAUgA0EQahCxgICAACkDABCWgICAACACEL2AgIAAIANB0ABqJICAgIAAC7MCAwF/AX4BfyOAgICAAEEgayICJICAgIAAAkACQCABQv8Bg0LLAFENACAAQgE3AwAMAQsgARCHgICAACEDIAJBADYCCCACIAE3AwAgAiADQiCIPgIMIAJBEGogAhDhgICAAAJAIAIpAxAiAUICUQ0AIAGnQQFxDQACQCACKQMYIgGnQf8BcSIEQcoARg0AIARBDkcNAQsCQCABQfyEwIAAQQEQ4oCAgABC/////w9WDQAgAigCCCACKAIMEOOAgIAAQQFLDQAgAkEQaiACEOGAgIAAIAIpAxAiAUICUQ0AIAGnQQFxDQAgAkEQaiACKQMYEMuAgIAAIAIoAhANACACKQMYIQEgAEIANwMAIAAgATcDCAwCCyAAQgE3AwAMAQsgAEIBNwMACyACQSBqJICAgIAAC+gBAwF/AX4BfyOAgICAAEEwayIDJICAgIAAELSAgIAAEOeAgIAAIAEQ7YCAgAAhASACEIeAgIAAIQQgA0EANgIIIAMgAjcDACADIARCIIg+AgwCQANAIANBIGogAxDKgICAACADQRBqIAMpAyAgAykDKBDEgICAACADKAIQQQFHDQEgAykDGCECIAEgAiABIAIQwoCAgABBGHRBGHVBAEgiBRsgAiABIAUbEJOAgIAAEJaAgIAAIQEMAAsLAkAgASAAEMKAgIAAQf8BcUUNAEKDgICAwAAQu4CAgAAACyADQTBqJICAgIAAC0cCAn8BfiOAgICAAEEQayIAJICAgIAAELSAgIAAIABBBBCrgICAACAAKAIAIQEgACkDCCECIABBEGokgICAgAAgAkIAIAEbC4sBAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQy4CAgAACQCABKAIAQQFHDQAACyABKQMIIQAQuYCAgAAQtICAgAAgABDpgICAAEKO8qq8kNWq8QAQ1ICAgAAhAiABIAA3AwAgAkHMgMCAAEEBIAFBARDPgICAABCKgICAABogAUEQaiSAgICAAEICCxUAQQMQrICAgAAgAEICEIKAgIAAGgtxAQF/I4CAgIAAQRBrIgMkgICAgAAgAyAAEMuAgIAAAkAgAygCAEEBRg0AIAMpAwghACADIAEQqoCAgAAgAygCAEEBRg0AIAJC/wGDQssAUg0AIAAgAykDCCACEOSAgIAAIANBEGokgICAgABCAg8LAAu2AQICfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAEMuAgIAAAkAgAigCAEEBRg0AIAIpAwghAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALCyABQv8Bg0LMAFINACABQeiBwIAAQQIgAkECEOCAgIAAIAIpAwAiAUL/AYNCywBSDQAgAikDCCIEQv8Bg0LLAFINACAAIAEgBBDmgICAACACQRBqJICAgIAAQgIPCwALVgEBfyOAgICAAEEQayICJICAgIAAIAIgABCqgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQ7YCAgAAhASACQRBqJICAgIAAIAEPCwALjwQFAX8BfgF/AX4BfyOAgICAAEEgayICJICAgIAAELSAgIAAEJKAgIAAIQMgAkEBOgAQIAIgAyADEIOAgIAAQoCAgIBwg0IEhCACQRBqQQEQsoCAgAA3AwggAkEIahDxgICAABD6gICAACEEEIWAgIAAEJeAgIAAIQMgAkEQaiADQoSAgIDAACADEIOAgIAAQoCAgIBwg0IEhBCYgICAACIDQgRChICAgMAAEJiAgIAAEPuAgIAAAkAgAigCEEEBRg0AIAIpAxghBSACQQA2AhAgBSACQRBqQQQQ/ICAgAACQCACKAIQIgZB////B3ENAAJAAkACQCAGQRh2DgIAAQMLIAJBEGogA0KEgICAwABChICAgIABEJiAgIAAEPuAgIAAIAIoAhBBAUYNAyACKQMYIQUgAkEANgIQIAUgAkEQakEEEPyAgIAAIAIoAhANAiACQRBqIANChICAgIABQoSAgICABRCYgICAABD9gICAACACKAIQQQFHDQEMAwsgAkEQaiADQoSAgIDAAEKEgICAwAQQmICAgAAQ/YCAgAAgAigCEEEBRg0CCyAEIAIpAxgQ94CAgAAgABD6gICAACEGIAEQl4CAgAAhAyAGIAYpAwAgAxCTgICAACIDNwMAIAMQloCAgAAQloCAgAAhAyACQSBqJICAgIAAIAMPC0KDgICAoP4AELuAgIAAAAsAC6MDAwF/AX4CfyOAgICAAEEgayIBJICAgIAAAkACQAJAIABC/wGDQssAUg0AIAAQh4CAgAAhAiABQQA2AgggASAANwMAIAEgAkIgiD4CDCABQRBqIAEQ4YCAgAAgASkDECIAQgJRDQAgAKdBAXENAAJAIAEpAxgiAKdB/wFxIgNBygBGDQAgA0EORw0BCwJAAkACQCAAQeyCwIAAQQIQ4oCAgABCIIinDgIBAAMLIAEoAgggASgCDBDjgICAAEEBSw0CIAFBEGogARDhgICAACABKQMQIgBCAlENAkEBIQQgAKdBAXENAiABQRBqIAEpAxgQy4CAgAAgASgCEEEBRg0CIAEpAxghAAwBCyABKAIIIAEoAgwQ44CAgABBAUsNASABQRBqIAEQ4YCAgAAgASkDECIAQgJRDQEgAKdBAXENASABQRBqIAEpAxgQ74CAgAAgASgCEA0BIAEpAxghAEEAIQQLELSAgIAAQQEhAxDegICAAEUNAiAERQ0BIAAQ24CAgAAhAwwCCwALIAAQx4CAgAAhAwsgAUEgaiSAgICAACADrQsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARCjgYCAAAsOABDxgICAABCvgICAAAtMAgF/AX4jgICAgABBEGsiACSAgICAABC0gICAACAAQQIQq4CAgAACQCAAKAIADQAQ/oCAgAAACyAAKQMIIQEgAEEQaiSAgICAACABCw4AEOeAgIAAEK+AgIAACwgAEPSAgIAAC3ACAX8BfiOAgICAAEEQayIAJICAgIAAELSAgIAAAkACQEEDEKyAgIAAIgFCAhCtgICAAEUNACAAIAFCAhCBgICAABDLgICAACAAKAIAQQFHDQEACxD+gICAAAALIAApAwghASAAQRBqJICAgIAAIAELIgAQtICAgABBvoPAgACtQiCGQgSEQoSAgIDQABCQgICAAAsOABC0gICAAEKEgICAEAvAAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqEPmAgIAAIAJBGGogAykDADcDACACQRBqIAQpAwA3AwAgAkEIaiAFKQMANwMAIAIgAikDIDcDACAAKQMAIQEgACABIAEQg4CAgABCgICAgHCDQgSEIAJBIBCygICAADcDACACQcAAaiSAgICAACAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJyAgIAACw4AIAAgAUEgEPyAgIAAC6cBAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISENwMIIAApAwAhASAAIAEgARCDgICAAEKAgICAcINCBIQgAkEIakEIELKAgIAANwMAIAJBEGokgICAgAAgAAs2AQF+QgEhAgJAIAEQg4CAgABCgICAgHCDQoCAgIDAAFINACAAIAE3AwhCACECCyAAIAI3AwALHwAgAEIEIAGtQiCGQgSEIAKtQiCGQgSEEJuAgIAAGgs2AQF+QgEhAgJAIAEQg4CAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALCQAQxoCAgAAAC4EEAQN/I4CAgIAAQTBrIgYkgICAgAAgBkEgaiAAEKqAgIAAAkAgBigCIEEBRg0AIAYpAyghACAGQSBqIAEQy4CAgAAgBigCIEEBRg0AIAJC/wGDQssAUg0AIANC/wGDQgRSDQAgBEL/AYNCywBSDQBBASAFp0H/AXEiB0EAR0EBdCAHQQFGGyIHQQJGDQAgBikDKCEBQYDLHkGA0h8QgIGAgABBgMseQYDSHxCBgYCAAAJAAkBBABCCgYCAAEIBEK2AgIAADQAgA0IgiKchCCACEIeAgIAAIQMgBkEANgIIIAYgAjcDACAGIANCIIg+AgwDQCAGQSBqIAYQw4CAgAAgBkEQaiAGKQMgIAYpAygQxICAgAAgBigCEEEBRw0CIAYpAxgQg4GAgAAMAAsLEISBgIAAQoOAgIDAhAEQu4CAgAAACyAIEIWBgIAAAkACQEEAEKyAgIAAQgEQrYCAgAANACAEEIeAgIAAIQIgBkEANgIIIAYgBDcDACAGIAJCIIg+AgwDQCAGQSBqIAYQyoCAgAAgBkEQaiAGKQMgIAYpAygQxICAgAAgBigCEEEBRw0CIAYpAxgQ0ICAgAAMAAsLELaAgIAAQoOAgIAgELuAgIAAAAsgB0EBcRDTgICAAEECIAAQroCAgAAgARDpgICAACAGQTBqJICAgIAAQgIPCwALDgBBASAAIAEQooGAgAALDgBBAiAAIAEQooGAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQdeFwIAAQQkQyICAgAAgASgCAA0CIAEgASkDCBDJgICAAAwBCyABQdCFwIAAQQcQyICAgAAgASgCAA0BIAEgASkDCBDJgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC98BAgF/An4jgICAgABBMGsiASSAgICAAAJAAkAgAEGEhcCAAEEUEPiAgIAAEMWAgIAADQAQwICAgAAiAhCHgICAACEDIAFBADYCCCABIAI3AwAgASADQiCIPgIMA0AgAUEgaiABEMOAgIAAIAFBEGogASkDICABKQMoEMSAgIAAIAEoAhBBAUcNAiABKQMYIAAQxYCAgABFDQALQoOAgICAhQEQu4CAgAAAC0KDgICA4IQBELuAgIAAAAsgAiAAEIyAgIAAEIiBgIAAIABBARCJgYCAACABQTBqJICAgIAAC2YCAX8CfiOAgICAAEEQayIAJICAgIAAIABBBGoQt4CAgAACQCAAKAIEQQFHDQAgADUCDCEBIAA1AgghAkEAEIKBgIAAIAJCIIZCBIQgAUIghkIEhBC4gICAAAsgAEEQaiSAgICAAAu4AQIBfwJ+I4CAgIAAQRBrIgEkgICAgAACQAJAIABFDQAgABDAgICAABCHgICAAEIgiKdLDQFBARCCgYCAACAArUIghkIEhCICQgIQgoCAgAAaQbCFwIAAQQ0QzYCAgAAQ1ICAgAAhAyABIAI3AwggA0HIhcCAAEEBIAFBCGpBARDPgICAABCKgICAABogAUEQaiSAgICAAA8LQoOAgIDAhQEQu4CAgAAAC0KDgICAoIUBELuAgIAAAAs/AgJ/AX4jgICAgABBEGsiACSAgICAACAAELqAgIAAIAAoAgAhASAAKQMIIQIgAEEQaiSAgICAACACQgIgARsLuQICAn8BfiOAgICAAEEgayICJICAgIAAIAJBEGogABDvgICAAAJAAkACQAJAIAIoAhBBAUYNAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACKQMYIQAQtICAgAAQvICAgAACQAJAIANBAXENACACQQhqEMCAgIAAIgEgABCLgICAABDWgICAACACKAIIIgNBAkYNAyADRQ0EAkAgAigCDCIDIAEQh4CAgABCIIinTw0AIAEgA61CIIZCBIQQjYCAgAAhAQsgARCHgICAACEEEL6AgIAAIARCIIinSw0FIAEQiIGAgAAgAEEAEImBgIAADAELIAAQg4GAgAALIAJBIGokgICAgABCAg8LAAsQxoCAgAAAC0KDgICAkIUBELuAgIAAAAtCg4CAgKCFARC7gICAAAALGwBBABCCgYCAACAAQgEQgoCAgAAaEISBgIAAC2IBAX8jgICAgABBEGsiAiSAgICAAEGYhcCAAEEKEM2AgIAAIAAQzoCAgAAhACACIAGtQv8BgzcDCCAAQaiFwIAAQQEgAkEIakEBEM+AgIAAEIqAgIAAGiACQRBqJICAgIAACysAAkAgAEL/AYNCBFENAAALELSAgIAAELyAgIAAIABCIIinEIWBgIAAQgILDgAQtICAgAAQwICAgAALHgAQtICAgAAQwICAgAAQh4CAgABCgICAgHCDQgSEC0gBAn8jgICAgABBEGsiASSAgICAACABIAAQ74CAgAACQCABKAIAQQFHDQAACyABKQMIEMeAgIAAIQIgAUEQaiSAgICAACACrQsVABC0gICAABC+gICAAK1CIIZCBIQLVAEBfyOAgICAAEEQayICJICAgIAAIAIgABDLgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQvYCAgAAgAkEQaiSAgICAAEICDwsAC2UBAX8jgICAgABBEGsiAySAgICAACADIAAQy4CAgAACQCADKAIAQQFGDQAgAUL/AYNCywBSDQAgAkL/AYNCBFINACADKQMIIAEgAkIgiKcQv4CAgAAgA0EQaiSAgICAAEICDwsACzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEJKBgIAAQgIPCwALGwAgAK1CIIZCBIQgAa1CIIZCBIQQpICAgAAaC94EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABCUgYCAAAJAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQlIGAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxgQuYCAgAAQtICAgAACQAJAAkAQs4CAgAANABCZgICAACEAEJqAgIAAQiCIIgEgAEIgiCIAVA0EIAGnIACnayIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABC7gICAAAALQoOAgIDA/wAQu4CAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBCAgYCAAAwBC0EBELWAgIAAEJWBgIAACwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBCBgYCAAAwBC0ECELWAgIAAEJWBgIAACyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRB/IXAgABBDxDNgICAABDUgICAACEAIAJBKGoQloGAgAAhASACIAJBNGoQloGAgAA3A0ggAiABNwNAIABBoIbAgABBAiACQcAAakECEM+AgIAAEIqAgIAAGiACQdAAaiSAgICAAEICDwsACxDGgICAAAALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEJ+BgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALDQAgAEICEKaAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQmYGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC6ABAgJ/AX4jgICAgABBwABrIgAkgICAgAAQtICAgAAgAEEIahCYgYCAACAAQRRqIgEQt4CAgAAgAEEwaiAAQQhqEJmBgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARCZgYCAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQmoGAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARChgYCAAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCggYCAAA8LIABCADcDACAAQgI3AwgLGgAgAK1CIIZCBIQgAa1CIIZCBIQQooCAgAALiAEBAX8jgICAgABBEGsiACSAgICAABC5gICAABC0gICAAAJAELOAgIAARQ0AQoOAgIDg/wAQu4CAgAAAC0EAELWAgIAAQgFCAhCCgICAABpBsIbAgABBEhDNgICAABDUgICAAEEEQQAgAEEIakEAEM+AgIAAEIqAgIAAGiAAQRBqJICAgIAAQgILCQAQs4CAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCfgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQeyFwIAAQQIgAkECEOCAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBB7IXAgABBAiADQQIQz4CAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABELWAgIAAIgRCAhCtgICAAEUNACACQQRqIARCAhCBgICAABCfgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABC1gICAACEEIAMgASACEKCBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgoCAgAAaIANBEGokgICAgAALNgEBfkIBIQICQCABEIOAgIAAQoCAgIBwg0KAgICAwAJSDQAgACABNwMIQgAhAgsgACACNwMACwvkBgEAQYCAwAAL2gZDcmVhdGVDb250cmFjdEhvc3RGbkNyZWF0ZUNvbnRyYWN0V2l0aEN0b3JIb3N0Rm7tARAACAAAAAAAEAAUAAAAFAAQABwAAABzZWVkSAAQAAQAAAB0cmFuc2FjdGlvbl9leGVjdXRlZG1lcmtsZV9yb290bm9uY2VoABAACwAAAHMAEAAFAAAAZXhlY3V0b3Jfc2V0ZXhlY3V0b3JfcmVxdWlyZWRfc2V0cmVxdWlyZWQAAACpABAACAAAAGZ1bmN0bwAACQIQAAQAAAC8ABAABAAAAMAAEAACAAAAY2FsbHNwcm9vZgAA3AAQAAUAAADhABAABQAAAGV4cGlyeXNlbmRlcnNpZ25hdHVyZXMAAPgAEAAGAAAAaAAQAAsAAADhABAABQAAAP4AEAAGAAAABAEQAAoAAABTaWduZXJFeGVjdXRvclBlcm1pc3Npb25sZXNzOAEQAAYAAAA+ARAACAAAAEYBEAAOAAAAOAEQAAYAAAA+ARAACAAAAGQu1dK3e8fMuY4Q2kwC182CMSKNpCIqn4ioDBVUUHTtGQGUwomJFw603DE1kXS5EVwRao+vpnta2sxXDKWD65bWVzAuMC4xRXhlY3V0b3JzRXhlY3V0b3JSZXF1aXJlZE9uZVNpZ0lkU2VlZE5vbmNlQ29udHJhY3QAAAAAAAAAAAAAAAAAAAAAV2FzbWFyZ3Njb250cmFjdGZuX25hbWUJAhAABAAAAA0CEAAIAAAAFQIQAAcAAABleGVjdXRhYmxlc2FsdAAANAIQAAoAAAA+AhAABAAAAGNvbnN0cnVjdG9yX2FyZ3NUAhAAEAAAADQCEAAKAAAAPgIQAAQAAAAFAhAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc2lnbmVyX3NldGFjdGl2ZaICEAAGAAAAdGhyZXNob2xkX3NldHRocmVzaG9sZAAAvQIQAAkAAABTaWduZXJzVGhyZXNob2xkZXh0ZW5kX3RvAAAA4AIQAAkAAAC9AhAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAAsDEAAIAAAAEwMQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnQAp2IOY29udHJhY3RzcGVjdjAAAAAFAAAAL0V2ZW50IHB1Ymxpc2hlZCB3aGVuIHRoZSBzZWVkIGlzIHNldCBvciB1cGRhdGVkAAAAAAAAAAAHU2VlZFNldAAAAAABAAAACHNlZWRfc2V0AAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAIAAAAFAAAALkV2ZW50IHB1Ymxpc2hlZCB3aGVuIGEgdHJhbnNhY3Rpb24gaXMgZXhlY3V0ZWQAAAAAAAAAAAATVHJhbnNhY3Rpb25FeGVjdXRlZAAAAAABAAAAFHRyYW5zYWN0aW9uX2V4ZWN1dGVkAAAAAgAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAAAAAAAAVub25jZQAAAAAAAAYAAAAAAAAAAgAAAAUAAAA0RXZlbnQgcHVibGlzaGVkIHdoZW4gYW4gZXhlY3V0b3IgaXMgYWRkZWQgb3IgcmVtb3ZlZAAAAAAAAAALRXhlY3V0b3JTZXQAAAAAAQAAAAxleGVjdXRvcl9zZXQAAAACAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANEV2ZW50IHB1Ymxpc2hlZCB3aGVuIGV4ZWN1dG9yIHJlcXVpcmVtZW50IGlzIHRvZ2dsZWQAAAAAAAAAE0V4ZWN1dG9yUmVxdWlyZWRTZXQAAAAAAQAAABVleGVjdXRvcl9yZXF1aXJlZF9zZXQAAAAAAAABAAAAAAAAAAhyZXF1aXJlZAAAAAEAAAAAAAAAAgAAAAQAAAAAAAAAAAAAAAtPbmVTaWdFcnJvcgAAAAAHAAAAAAAAABVFeGVjdXRvckFscmVhZHlFeGlzdHMAAAAAAAABAAAAAAAAABpFeGVjdXRvckFscmVhZHlJbml0aWFsaXplZAAAAAAAAgAAAAAAAAAQRXhlY3V0b3JOb3RGb3VuZAAAAAMAAAAAAAAAE0ludmFsaWRQcm9vZk9yTm9uY2UAAAAABAAAAAAAAAARTWVya2xlUm9vdEV4cGlyZWQAAAAAAAAFAAAAAAAAABFOb25Db250cmFjdEludm9rZQAAAAAAAAYAAAAAAAAAFE9ubHlFeGVjdXRvck9yU2lnbmVyAAAABwAAAAEAAABZQSBzaW5nbGUgU29yb2JhbiBpbnZvY2F0aW9uIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBhdG9taWNhbGx5IGluc2lkZSBhIE9uZVNpZyB0cmFuc2FjdGlvbi4AAAAAAAAAAAAABENhbGwAAAADAAAANUFCSS1lbmNvZGVkIGFyZ3VtZW50cyBmb3J3YXJkZWQgdG8gdGhlIHRhcmdldCBtZXRob2QuAAAAAAAABGFyZ3MAAAPqAAAAAAAAAC5NZXRob2QgaWRlbnRpZmllciB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGB0b2AuAAAAAAAEZnVuYwAAABEAAABIVGFyZ2V0IGNvbnRyYWN0IGFkZHJlc3MgKG1pcnJvcnMgYGludm9rZV9jb250cmFjdGAncyBgY29udHJhY3RBZGRyZXNzYCkuAAAAAnRvAAAAAAATAAAAAQAAAEhBIG1lcmtsZSBsZWFmIGRlc2NyaWJpbmcgdGhlIGV4YWN0IHNldCBvZiBjYWxscyB0aGF0IHNob3VsZCBiZSBleGVjdXRlZC4AAAAAAAAAC1RyYW5zYWN0aW9uAAAAAAIAAAA5T3JkZXJlZCBsaXN0IG9mIGludm9jYXRpb25zIHRoYXQgbXVzdCBzdWNjZWVkIGF0b21pY2FsbHkuAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAExNZXJrbGUgcHJvb2YgKHNpYmxpbmcgaGFzaGVzKSBwcm92aW5nIGBjYWxsc2AgYmVsb25ncyB0byBhbiBhdXRob3Jpc2VkIHJvb3QuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAAAQAAAExBY2NvdW50IEFic3RyYWN0aW9uIHBheWxvYWQgdXNlZCBieSBgX19jaGVja19hdXRoYCB0byB2YWxpZGF0ZSBhbiBleGVjdXRpb24uAAAAAAAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAUAAAA5VW5peCB0aW1lc3RhbXAgKHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSByb290IGlzIGludmFsaWQuAAAAAAAABmV4cGlyeQAAAAAABgAAAC5BcHByb3ZlZCBtZXJrbGUgcm9vdCBjb3ZlcmluZyB0aGUgdHJhbnNhY3Rpb24uAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAwTWVya2xlIHByb29mIGJpbmRpbmcgdGhlIGNhbGxzIHRvIGBtZXJrbGVfcm9vdGAuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAASEVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoc2lnbmVyLCBleGVjdXRvciwgb3IgcGVybWlzc2lvbmxlc3MpLgAAAAZzZW5kZXIAAAAAB9AAAAAGU2VuZGVyAAAAAABFVGhyZXNob2xkIHNpZ25hdHVyZXMgKHLigJZz4oCWdikgY292ZXJpbmcgYG1lcmtsZV9yb290YCBhbmQgYGV4cGlyeWAuAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAIAAABIUmVwcmVzZW50cyB0aGUgZW50aXR5IHRoYXQgaXMgYXV0aG9yaXNpbmcgdGhlIGBfX2NoZWNrX2F1dGhgIGludm9jYXRpb24uAAAAAAAAAAZTZW5kZXIAAAAAAAMAAAABAAAAY0EgbXVsdGlzaWcgc2lnbmVyIChzZWNwMjU2azEpIHN1Ym1pdHRpbmcgdGhlIHRyYW5zYWN0aW9uLiBDb250YWlucyB0aGUgNjUtYnl0ZSBy4oCWc+KAlnYgc2lnbmF0dXJlLgAAAAAGU2lnbmVyAAAAAAABAAAD7gAAAEEAAAABAAAAkkEgcmVnaXN0ZXJlZCBleGVjdXRvciAoZWQyNTUxOSkgc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb24uClRoZSB0dXBsZSBpcyBgKHB1YmxpY19rZXksIHNpZ25hdHVyZSlgIHdoZXJlIHRoZSBzaWduYXR1cmUgY292ZXJzIHRoZSBTb3JvYmFuIHBheWxvYWQuAAAAAAAIRXhlY3V0b3IAAAACAAAD7gAAACAAAAPuAAAAQAAAAAAAAABSUGVybWlzc2lvbmxlc3MgZXhlY3V0aW9uIChhbnlvbmUgbWF5IHN1Ym1pdCB3aGVuIGBleGVjdXRvcl9yZXF1aXJlZGAgaXMgZGlzYWJsZWQpLgAAAAAADlBlcm1pc3Npb25sZXNzAAAAAAACAAAAmklkZW50aWZpZXIgdXNlZCBieSBgY2FuX2V4ZWN1dGVfdHJhbnNhY3Rpb25gIHRvIGRlc2NyaWJlIHRoZSBjYWxsZXIuClNpZ25lcnMgdXNlIEV0aGVyZXVtLXN0eWxlIDIwLWJ5dGUgYWRkcmVzc2VzIHdoaWxlIGV4ZWN1dG9ycyB1c2UgZWQyNTUxOSBwdWJsaWMga2V5cy4AAAAAAAAAAAAJU2VuZGVyS2V5AAAAAAAAAgAAAAEAAAA5QW4gRXRoZXJldW0tc3R5bGUgc2lnbmVyIGFkZHJlc3MgKDIwIGJ5dGVzLCBsZWZ0LXBhZGRlZCkuAAAAAAAABlNpZ25lcgAAAAAAAQAAA+4AAAAUAAAAAQAAACpBbiBlZDI1NTE5IGV4ZWN1dG9yIHB1YmxpYyBrZXkgKDMyIGJ5dGVzKS4AAAAAAAhFeGVjdXRvcgAAAAEAAAPuAAAAIAAAAAAAAAA3QWRkcyBvciByZW1vdmVzIGFuIGV4ZWN1dG9yIGJhc2VkIG9uIHRoZSBgYWN0aXZlYCBmbGFnLgAAAAAMc2V0X2V4ZWN1dG9yAAAAAgAAAAAAAAAIZXhlY3V0b3IAAAPuAAAAIAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAA2U2V0cyB3aGV0aGVyIGFuIGV4ZWN1dG9yIGlzIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbnMuAAAAAAAVc2V0X2V4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAQAAAAAAAAAIcmVxdWlyZWQAAAABAAAAAAAAAAAAAAAtUmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAADWdldF9leGVjdXRvcnMAAAAAAAAAAAAAAQAAA+oAAAPuAAAAIAAAAAAAAAA4Q2hlY2tzIHdoZXRoZXIgYSBnaXZlbiBhZGRyZXNzIGlzIGEgcmVnaXN0ZXJlZCBleGVjdXRvci4AAAALaXNfZXhlY3V0b3IAAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAPuAAAAIAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAAD3RvdGFsX2V4ZWN1dG9ycwAAAAAAAAAAAQAAAAQAAAAAAAAAMlJldHVybnMgd2hldGhlciBhbiBleGVjdXRvciBzaWduYXR1cmUgaXMgcmVxdWlyZWQuAAAAAAARZXhlY3V0b3JfcmVxdWlyZWQAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAxfX2NoZWNrX2F1dGgAAAADAAAAAAAAABFzaWduYXR1cmVfcGF5bG9hZAAAAAAAA+4AAAAgAAAAAAAAAAlhdXRoX2RhdGEAAAAAAAfQAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAAAAAAAA1hdXRoX2NvbnRleHRzAAAAAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAAAIAAAADAAAAAAAAAElVcGRhdGVzIHRoZSBzZWVkIHVzZWQgZm9yIEVJUC03MTIgZGlnZXN0IGNvbnN0cnVjdGlvbiBhbmQgZW1pdHMgYW4gZXZlbnQuAAAAAAAACHNldF9zZWVkAAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAAAAABMVmVyaWZpZXMgYSBtZXJrbGUgcm9vdCBieSBjaGVja2luZyBleHBpcnkgYW5kIHZhbGlkYXRpbmcgRUlQLTcxMiBzaWduYXR1cmVzLgAAABJ2ZXJpZnlfbWVya2xlX3Jvb3QAAAAAAAMAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAZleHBpcnkAAAAAAAYAAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAAAAAAAAAAAVVZlcmlmaWVzIGEgdHJhbnNhY3Rpb24ncyBtZXJrbGUgcHJvb2YgYWdhaW5zdCB0aGUgZ2l2ZW4gcm9vdCB1c2luZyB0aGUgY3VycmVudCBub25jZS4AAAAAAAAYdmVyaWZ5X3RyYW5zYWN0aW9uX3Byb29mAAAAAgAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAAC3RyYW5zYWN0aW9uAAAAB9AAAAALVHJhbnNhY3Rpb24AAAAAAAAAAAAAAAB+RW5jb2RlcyBhIGxlYWYgbm9kZSBieSBzZXJpYWxpemluZyB2ZXJzaW9uLCBvbmVzaWcgSUQsIGNvbnRyYWN0IGFkZHJlc3MsIG5vbmNlLCBhbmQgY2FsbHMsIHRoZW4gZG91YmxlLWhhc2hpbmcgd2l0aCBrZWNjYWsyNTYuAAAAAAALZW5jb2RlX2xlYWYAAAAAAgAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAAAAAAVjYWxscwAAAAAAA+oAAAfQAAAABENhbGwAAAABAAAD7gAAACAAAAAAAAAAX0NoZWNrcyBpZiB0aGUgc2VuZGVyIGlzIGF1dGhvcml6ZWQgdG8gZXhlY3V0ZSBhIHRyYW5zYWN0aW9uIChleGVjdXRvciBvciBzaWduZXIgd2hlbiByZXF1aXJlZCkuAAAAABdjYW5fZXhlY3V0ZV90cmFuc2FjdGlvbgAAAAABAAAAAAAAAAZzZW5kZXIAAAAAB9AAAAAJU2VuZGVyS2V5AAAAAAAAAQAAAAEAAAAAAAAAOVJldHVybnMgdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIE9uZVNpZyBkZXBsb3ltZW50LgAAAAAAAAlvbmVzaWdfaWQAAAAAAAAAAAAAAQAAAAYAAAAAAAAAJlJldHVybnMgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gbm9uY2UuAAAAAAAFbm9uY2UAAAAAAAAAAAAAAQAAAAYAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgc2VlZCB1c2VkIGZvciBFSVAtNzEyIGRpZ2VzdCBjb25zdHJ1Y3Rpb24uAAAAAAAEc2VlZAAAAAAAAAABAAAD7gAAACAAAAAAAAAAJFJldHVybnMgdGhlIGNvbnRyYWN0IHZlcnNpb24gc3RyaW5nLgAAAAd2ZXJzaW9uAAAAAAAAAAABAAAAEAAAAAAAAABFUmV0dXJucyB0aGUgbGVhZiBlbmNvZGluZyB2ZXJzaW9uIHVzZWQgZm9yIG1lcmtsZSBwcm9vZiBjb25zdHJ1Y3Rpb24uAAAAAAAAFWxlYWZfZW5jb2RpbmdfdmVyc2lvbgAAAAAAAAAAAAABAAAABAAAAAAAAAIFQ29uc3RydWN0b3IgdG8gaW5pdGlhbGl6ZSB0aGUgT25lU2lnIGNvbnRyYWN0IHdpdGggaW5pdGlhbCBzdGF0ZQoKIyBBcmd1bWVudHMKKiBgb25lc2lnX2lkYCAtIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIE9uZVNpZyBkZXBsb3ltZW50CiogYHNlZWRgIC0gSW5pdGlhbCBzZWVkIHZhbHVlIGZvciBtZXJrbGUgcm9vdCB2ZXJpZmljYXRpb24KKiBgc2lnbmVyc2AgLSBBcnJheSBvZiBpbml0aWFsIHNpZ25lciBhZGRyZXNzZXMgKDMyIGJ5dGVzIGVhY2gsIEV0aGVyZXVtIGFkZHJlc3NlcyBwYWRkZWQpCiogYHRocmVzaG9sZGAgLSBOdW1iZXIgb2Ygc2lnbmF0dXJlcyByZXF1aXJlZCBmb3IgdHJhbnNhY3Rpb24gZXhlY3V0aW9uCiogYGV4ZWN1dG9yc2AgLSBBcnJheSBvZiBpbml0aWFsIGV4ZWN1dG9yIHB1YmxpYyBrZXlzIChCeXRlc048MzI+KQoqIGBleGVjdXRvcl9yZXF1aXJlZGAgLSBXaGV0aGVyIGV4ZWN1dG9yIHBlcm1pc3Npb24gaXMgcmVxdWlyZWQgZm9yIHRyYW5zYWN0aW9uIGV4ZWN1dGlvbgAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABgAAAAAAAAAJb25lc2lnX2lkAAAAAAAABgAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAAAAAAdzaWduZXJzAAAAA+oAAAPuAAAAFAAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXhlY3V0b3JzAAAAAAAD6gAAA+4AAAAgAAAAAAAAABFleGVjdXRvcl9yZXF1aXJlZAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABJQWRkcyBvciByZW1vdmVzIGEgc2lnbmVyIGZyb20gdGhlIG11bHRpc2lnLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAAAAAApzZXRfc2lnbmVyAAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAAAAAAH1JldHVybnMgYWxsIHJlZ2lzdGVyZWQgc2lnbmVycy4AAAAAC2dldF9zaWduZXJzAAAAAAAAAAABAAAD6gAAA+4AAAAUAAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABAAAAAAAAAAsQ2hlY2tzIGlmIGFuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIHNpZ25lci4AAAAJaXNfc2lnbmVyAAAAAAAAAQAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABAAAAAAAAAA1VmVyaWZpZXMgc2lnbmF0dXJlcyBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4AAAAAAAARdmVyaWZ5X3NpZ25hdHVyZXMAAAAAAAACAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAAAAANT25lU2lnU3RvcmFnZQAAAAAAAAUAAAAAAAAAAAAAAAlFeGVjdXRvcnMAAAAAAAAAAAAAAAAAABBFeGVjdXRvclJlcXVpcmVkAAAAAAAAAAAAAAAIT25lU2lnSWQAAAAAAAAAAAAAAARTZWVkAAAAAAAAAAAAAAAFTm9uY2UAAAAAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAwAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQuAAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4AAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvbGUgaXMgcmV2b2tlZC4AAAAAAAAAAAAAC1JvbGVSZXZva2VkAAAAAAEAAAAMcm9sZV9yZXZva2VkAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAAAdhY2NvdW50AAAAABMAAAABAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAAAgAAAAUAAAArRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm9sZSBhZG1pbiBpcyBjaGFuZ2VkLgAAAAAAAAAAEFJvbGVBZG1pbkNoYW5nZWQAAAABAAAAEnJvbGVfYWRtaW5fY2hhbmdlZAAAAAAAAwAAAAAAAAAEcm9sZQAAABEAAAABAAAAAAAAABNwcmV2aW91c19hZG1pbl9yb2xlAAAAA+gAAAARAAAAAAAAAAAAAAAObmV3X2FkbWluX3JvbGUAAAAAA+gAAAARAAAAAAAAAAIAAAACAAAAAAAAAAAAAAALUmJhY1N0b3JhZ2UAAAAABQAAAAAAAAAAAAAADUV4aXN0aW5nUm9sZXMAAAAAAAABAAAAAAAAABJSb2xlSW5kZXhUb0FjY291bnQAAAAAAAIAAAARAAAABAAAAAEAAAAAAAAAElJvbGVBY2NvdW50VG9JbmRleAAAAAAAAgAAABEAAAATAAAAAQAAAAAAAAARUm9sZUFjY291bnRzQ291bnQAAAAAAAABAAAAEQAAAAEAAAAAAAAACVJvbGVBZG1pbgAAAAAAAAEAAAARAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMSM5NGMyYTNiM2E1ZGVkNmI5Y2Y5Y2VmMGMyMDdiZjg4MDRmM2ViMjk0AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4xLjAjYTA0OGE1N2E3NTc2MjQ1OGI0ODcwNTJlMDAyMWVhNzA0YTkyNmJlZQA=\";\n\n/**\n * Pre-computed WASM hash (SHA-256)\n * Use this when the WASM is already uploaded on-chain\n */\nexport const WASM_HASH = \"2a773e00246ff1365ffccb0310cf42f70db9e4b3064df9ffd902d930d8debf4f\";\n\n/**\n * Get the WASM bytecode as a Buffer\n * Use this to upload the WASM to the network\n */\nexport function getWasmBuffer(): Buffer {\n return Buffer.from(WASM_BASE64, 'base64');\n}\n\n\n\n\n\nexport const OneSigError = {\n 1: {message:\"ExecutorAlreadyExists\"},\n 2: {message:\"ExecutorAlreadyInitialized\"},\n 3: {message:\"ExecutorNotFound\"},\n 4: {message:\"InvalidProofOrNonce\"},\n 5: {message:\"MerkleRootExpired\"},\n 6: {message:\"NonContractInvoke\"},\n 7: {message:\"OnlyExecutorOrSigner\"}\n}\n\n\n/**\n * A single Soroban invocation that will be executed atomically inside a OneSig transaction.\n */\nexport interface Call {\n /**\n * ABI-encoded arguments forwarded to the target method.\n */\nargs: Array<any>;\n /**\n * Method identifier that will be called on `to`.\n */\nfunc: string;\n /**\n * Target contract address (mirrors `invoke_contract`'s `contractAddress`).\n */\nto: string;\n}\n\n\n/**\n * A merkle leaf describing the exact set of calls that should be executed.\n */\nexport interface Transaction {\n /**\n * Ordered list of invocations that must succeed atomically.\n */\ncalls: Array<Call>;\n /**\n * Merkle proof (sibling hashes) proving `calls` belongs to an authorised root.\n */\nproof: Array<Buffer>;\n}\n\n\n/**\n * Account Abstraction payload used by `__check_auth` to validate an execution.\n */\nexport interface TransactionAuthData {\n /**\n * Unix timestamp (seconds) after which the root is invalid.\n */\nexpiry: u64;\n /**\n * Approved merkle root covering the transaction.\n */\nmerkle_root: Buffer;\n /**\n * Merkle proof binding the calls to `merkle_root`.\n */\nproof: Array<Buffer>;\n /**\n * Entity submitting the transaction (signer, executor, or permissionless).\n */\nsender: Sender;\n /**\n * Threshold signatures (r‖s‖v) covering `merkle_root` and `expiry`.\n */\nsignatures: Array<Buffer>;\n}\n\n/**\n * Represents the entity that is authorising the `__check_auth` invocation.\n */\nexport type Sender = {tag: \"Signer\", values: readonly [Buffer]} | {tag: \"Executor\", values: readonly [Buffer, Buffer]} | {tag: \"Permissionless\", values: void};\n\n/**\n * Identifier used by `can_execute_transaction` to describe the caller.\n * Signers use Ethereum-style 20-byte addresses while executors use ed25519 public keys.\n */\nexport type SenderKey = {tag: \"Signer\", values: readonly [Buffer]} | {tag: \"Executor\", values: readonly [Buffer]};\n\nexport type OneSigStorage = {tag: \"Executors\", values: void} | {tag: \"ExecutorRequired\", values: void} | {tag: \"OneSigId\", values: void} | {tag: \"Seed\", values: void} | {tag: \"Nonce\", values: void};\n\n/**\n * BufferReaderError: 1000-1009\n */\nexport const BufferReaderError = {\n 1000: {message:\"InvalidLength\"},\n 1001: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * BufferWriterError: 1010-1019\n */\nexport const BufferWriterError = {\n 1010: {message:\"InvalidAddressPayload\"}\n}\n\n/**\n * TtlConfigurableError: 1020-1029\n */\nexport const TtlConfigurableError = {\n 1020: {message:\"InvalidTtlConfig\"},\n 1021: {message:\"TtlConfigFrozen\"},\n 1022: {message:\"TtlConfigAlreadyFrozen\"}\n}\n\n/**\n * OwnableError: 1030-1039\n */\nexport const OwnableError = {\n 1030: {message:\"InvalidAuthorizer\"},\n 1031: {message:\"InvalidPendingOwner\"},\n 1032: {message:\"InvalidTtl\"},\n 1033: {message:\"NoPendingTransfer\"},\n 1034: {message:\"OwnerAlreadySet\"},\n 1035: {message:\"OwnerNotSet\"},\n 1036: {message:\"TransferInProgress\"}\n}\n\n/**\n * BytesExtError: 1040-1049\n */\nexport const BytesExtError = {\n 1040: {message:\"LengthMismatch\"}\n}\n\n/**\n * UpgradeableError: 1050-1059\n */\nexport const UpgradeableError = {\n 1050: {message:\"InvalidMigrationData\"},\n 1051: {message:\"MigrationNotAllowed\"}\n}\n\n/**\n * MultiSigError: 1060-1069\n */\nexport const MultiSigError = {\n 1060: {message:\"AlreadyInitialized\"},\n 1061: {message:\"InvalidAuthorizer\"},\n 1062: {message:\"InvalidSigner\"},\n 1063: {message:\"SignatureError\"},\n 1064: {message:\"SignerAlreadyExists\"},\n 1065: {message:\"SignerNotFound\"},\n 1066: {message:\"TotalSignersLessThanThreshold\"},\n 1067: {message:\"UnsortedSigners\"},\n 1068: {message:\"ZeroThreshold\"}\n}\n\n/**\n * AuthError: 1070-1079\n */\nexport const AuthError = {\n 1070: {message:\"AuthorizerNotFound\"}\n}\n\n/**\n * RbacError: 1080-1089\n */\nexport const RbacError = {\n 1080: {message:\"AdminRoleNotFound\"},\n 1081: {message:\"IndexOutOfBounds\"},\n 1082: {message:\"MaxRolesExceeded\"},\n 1083: {message:\"RoleIsEmpty\"},\n 1084: {message:\"RoleNotFound\"},\n 1085: {message:\"RoleNotHeld\"},\n 1086: {message:\"Unauthorized\"}\n}\n\n\n\nexport type MultiSigStorage = {tag: \"Signers\", values: void} | {tag: \"Threshold\", values: void};\n\n\n\n\n\nexport type OwnableStorage = {tag: \"Owner\", values: void} | {tag: \"PendingOwner\", values: void};\n\n\n\n\nexport type RbacStorage = {tag: \"ExistingRoles\", values: void} | {tag: \"RoleIndexToAccount\", values: readonly [string, u32]} | {tag: \"RoleAccountToIndex\", values: readonly [string, string]} | {tag: \"RoleAccountsCount\", values: readonly [string]} | {tag: \"RoleAdmin\", values: readonly [string]};\n\n\n/**\n * TTL configuration: threshold (when to extend) and extend_to (target TTL).\n */\nexport interface TtlConfig {\n /**\n * Target TTL after extension (in ledgers).\n */\nextend_to: u32;\n /**\n * TTL threshold that triggers extension (in ledgers).\n */\nthreshold: u32;\n}\n\n\n\nexport type TtlConfigStorage = {tag: \"Frozen\", values: void} | {tag: \"Instance\", values: void} | {tag: \"Persistent\", values: void};\n\nexport type UpgradeableStorage = {tag: \"Migrating\", values: void};\n\nexport interface Client {\n /**\n * Construct and simulate a set_executor transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Adds or removes an executor based on the `active` flag.\n */\n set_executor: ({executor, active}: {executor: Buffer, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_executor_required transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets whether an executor is required for transactions.\n */\n set_executor_required: ({required}: {required: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a get_executors transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the list of all registered executors.\n */\n get_executors: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>\n\n /**\n * Construct and simulate a is_executor transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks whether a given address is a registered executor.\n */\n is_executor: ({executor}: {executor: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a total_executors transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the total number of registered executors.\n */\n total_executors: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a executor_required transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns whether an executor signature is required.\n */\n executor_required: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a set_seed transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Updates the seed used for EIP-712 digest construction and emits an event.\n */\n set_seed: ({seed}: {seed: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_merkle_root transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies a merkle root by checking expiry and validating EIP-712 signatures.\n */\n verify_merkle_root: ({merkle_root, expiry, signatures}: {merkle_root: Buffer, expiry: u64, signatures: Array<Buffer>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_transaction_proof transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies a transaction's merkle proof against the given root using the current nonce.\n */\n verify_transaction_proof: ({merkle_root, transaction}: {merkle_root: Buffer, transaction: Transaction}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a encode_leaf transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Encodes a leaf node by serializing version, onesig ID, contract address, nonce, and calls, then double-hashing with keccak256.\n */\n encode_leaf: ({nonce, calls}: {nonce: u64, calls: Array<Call>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>\n\n /**\n * Construct and simulate a can_execute_transaction transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks if the sender is authorized to execute a transaction (executor or signer when required).\n */\n can_execute_transaction: ({sender}: {sender: SenderKey}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a onesig_id transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the unique identifier for this OneSig deployment.\n */\n onesig_id: (options?: MethodOptions) => Promise<AssembledTransaction<u64>>\n\n /**\n * Construct and simulate a nonce transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current transaction nonce.\n */\n nonce: (options?: MethodOptions) => Promise<AssembledTransaction<u64>>\n\n /**\n * Construct and simulate a seed transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current seed used for EIP-712 digest construction.\n */\n seed: (options?: MethodOptions) => Promise<AssembledTransaction<Buffer>>\n\n /**\n * Construct and simulate a version transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the contract version string.\n */\n version: (options?: MethodOptions) => Promise<AssembledTransaction<string>>\n\n /**\n * Construct and simulate a leaf_encoding_version transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the leaf encoding version used for merkle proof construction.\n */\n leaf_encoding_version: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n */\n authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>\n\n /**\n * Construct and simulate a set_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Adds or removes a signer from the multisig. Requires owner authorization.\n */\n set_signer: ({signer, active}: {signer: Buffer, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets the signature threshold (quorum). Requires owner authorization.\n */\n set_threshold: ({threshold}: {threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a get_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns all registered signers.\n */\n get_signers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>\n\n /**\n * Construct and simulate a total_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the total number of registered signers.\n */\n total_signers: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a is_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Checks if an address is a registered signer.\n */\n is_signer: ({signer}: {signer: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n /**\n * Construct and simulate a threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current signature threshold (quorum).\n */\n threshold: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>\n\n /**\n * Construct and simulate a verify_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies signatures against the configured threshold.\n */\n verify_signatures: ({digest, signatures}: {digest: Buffer, signatures: Array<Buffer>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a verify_n_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Verifies signatures against a custom threshold.\n */\n verify_n_signatures: ({digest, signatures, threshold}: {digest: Buffer, signatures: Array<Buffer>, threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Extends the instance TTL.\n * \n * # Arguments\n * \n * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).\n * * `extend_to` - The TTL to extend to.\n */\n extend_instance_ttl: ({threshold, extend_to}: {threshold: u32, extend_to: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Sets TTL configs for instance and persistent storage.\n * \n * - `None` values remove the corresponding config (disables auto-extension for that type)\n * - Validates that `threshold <= extend_to <= MAX_TTL`\n * \n * # Arguments\n * - `instance` - TTL config for instance storage\n * - `persistent` - TTL config for persistent storage\n * \n * # Panics\n * - `TtlConfigFrozen` if configs are frozen\n * - `InvalidTtlConfig` if validation fails\n */\n set_ttl_configs: ({instance, persistent}: {instance: Option<TtlConfig>, persistent: Option<TtlConfig>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns the current TTL configs as (instance_config, persistent_config).\n */\n ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>\n\n /**\n * Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Permanently freezes TTL configs, preventing any future modifications.\n * \n * This is irreversible and provides immutability guarantees to users.\n * Emits `TtlConfigsFrozen` event.\n * \n * # Panics\n * - `TtlConfigAlreadyFrozen` if already frozen\n */\n freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>\n\n /**\n * Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.\n * Returns whether TTL configs are frozen.\n */\n is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>\n\n}\nexport class Client extends ContractClient {\n static async deploy<T = Client>(\n /** Constructor/Initialization Args for the contract's `__constructor` method */\n {onesig_id, seed, signers, threshold, executors, executor_required}: {onesig_id: u64, seed: Buffer, signers: Array<Buffer>, threshold: u32, executors: Array<Buffer>, executor_required: boolean},\n /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */\n options: MethodOptions &\n Omit<ContractClientOptions, \"contractId\"> & {\n /** The hash of the Wasm blob, which must already be installed on-chain. */\n wasmHash: Buffer | string;\n /** Salt used to generate the contract's ID. Passed through to {@link Operation.createCustomContract}. Default: random. */\n salt?: Buffer | Uint8Array;\n /** The format used to decode `wasmHash`, if it's provided as a string. */\n format?: \"hex\" | \"base64\";\n }\n ): Promise<AssembledTransaction<T>> {\n return ContractClient.deploy({onesig_id, seed, signers, threshold, executors, executor_required}, options)\n }\n constructor(public readonly options: ContractClientOptions) {\n super(\n new ContractSpec([ \"AAAABQAAAC9FdmVudCBwdWJsaXNoZWQgd2hlbiB0aGUgc2VlZCBpcyBzZXQgb3IgdXBkYXRlZAAAAAAAAAAAB1NlZWRTZXQAAAAAAQAAAAhzZWVkX3NldAAAAAEAAAAAAAAABHNlZWQAAAPuAAAAIAAAAAAAAAAC\",\n \"AAAABQAAAC5FdmVudCBwdWJsaXNoZWQgd2hlbiBhIHRyYW5zYWN0aW9uIGlzIGV4ZWN1dGVkAAAAAAAAAAAAE1RyYW5zYWN0aW9uRXhlY3V0ZWQAAAAAAQAAABR0cmFuc2FjdGlvbl9leGVjdXRlZAAAAAIAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAAAAAAI=\",\n \"AAAABQAAADRFdmVudCBwdWJsaXNoZWQgd2hlbiBhbiBleGVjdXRvciBpcyBhZGRlZCBvciByZW1vdmVkAAAAAAAAAAtFeGVjdXRvclNldAAAAAABAAAADGV4ZWN1dG9yX3NldAAAAAIAAAAAAAAACGV4ZWN1dG9yAAAD7gAAACAAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAg==\",\n \"AAAABQAAADRFdmVudCBwdWJsaXNoZWQgd2hlbiBleGVjdXRvciByZXF1aXJlbWVudCBpcyB0b2dnbGVkAAAAAAAAABNFeGVjdXRvclJlcXVpcmVkU2V0AAAAAAEAAAAVZXhlY3V0b3JfcmVxdWlyZWRfc2V0AAAAAAAAAQAAAAAAAAAIcmVxdWlyZWQAAAABAAAAAAAAAAI=\",\n \"AAAABAAAAAAAAAAAAAAAC09uZVNpZ0Vycm9yAAAAAAcAAAAAAAAAFUV4ZWN1dG9yQWxyZWFkeUV4aXN0cwAAAAAAAAEAAAAAAAAAGkV4ZWN1dG9yQWxyZWFkeUluaXRpYWxpemVkAAAAAAACAAAAAAAAABBFeGVjdXRvck5vdEZvdW5kAAAAAwAAAAAAAAATSW52YWxpZFByb29mT3JOb25jZQAAAAAEAAAAAAAAABFNZXJrbGVSb290RXhwaXJlZAAAAAAAAAUAAAAAAAAAEU5vbkNvbnRyYWN0SW52b2tlAAAAAAAABgAAAAAAAAAUT25seUV4ZWN1dG9yT3JTaWduZXIAAAAH\",\n \"AAAAAQAAAFlBIHNpbmdsZSBTb3JvYmFuIGludm9jYXRpb24gdGhhdCB3aWxsIGJlIGV4ZWN1dGVkIGF0b21pY2FsbHkgaW5zaWRlIGEgT25lU2lnIHRyYW5zYWN0aW9uLgAAAAAAAAAAAAAEQ2FsbAAAAAMAAAA1QUJJLWVuY29kZWQgYXJndW1lbnRzIGZvcndhcmRlZCB0byB0aGUgdGFyZ2V0IG1ldGhvZC4AAAAAAAAEYXJncwAAA+oAAAAAAAAALk1ldGhvZCBpZGVudGlmaWVyIHRoYXQgd2lsbCBiZSBjYWxsZWQgb24gYHRvYC4AAAAAAARmdW5jAAAAEQAAAEhUYXJnZXQgY29udHJhY3QgYWRkcmVzcyAobWlycm9ycyBgaW52b2tlX2NvbnRyYWN0YCdzIGBjb250cmFjdEFkZHJlc3NgKS4AAAACdG8AAAAAABM=\",\n \"AAAAAQAAAEhBIG1lcmtsZSBsZWFmIGRlc2NyaWJpbmcgdGhlIGV4YWN0IHNldCBvZiBjYWxscyB0aGF0IHNob3VsZCBiZSBleGVjdXRlZC4AAAAAAAAAC1RyYW5zYWN0aW9uAAAAAAIAAAA5T3JkZXJlZCBsaXN0IG9mIGludm9jYXRpb25zIHRoYXQgbXVzdCBzdWNjZWVkIGF0b21pY2FsbHkuAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAExNZXJrbGUgcHJvb2YgKHNpYmxpbmcgaGFzaGVzKSBwcm92aW5nIGBjYWxsc2AgYmVsb25ncyB0byBhbiBhdXRob3Jpc2VkIHJvb3QuAAAABXByb29mAAAAAAAD6gAAA+4AAAAg\",\n \"AAAAAQAAAExBY2NvdW50IEFic3RyYWN0aW9uIHBheWxvYWQgdXNlZCBieSBgX19jaGVja19hdXRoYCB0byB2YWxpZGF0ZSBhbiBleGVjdXRpb24uAAAAAAAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAUAAAA5VW5peCB0aW1lc3RhbXAgKHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSByb290IGlzIGludmFsaWQuAAAAAAAABmV4cGlyeQAAAAAABgAAAC5BcHByb3ZlZCBtZXJrbGUgcm9vdCBjb3ZlcmluZyB0aGUgdHJhbnNhY3Rpb24uAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAwTWVya2xlIHByb29mIGJpbmRpbmcgdGhlIGNhbGxzIHRvIGBtZXJrbGVfcm9vdGAuAAAABXByb29mAAAAAAAD6gAAA+4AAAAgAAAASEVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoc2lnbmVyLCBleGVjdXRvciwgb3IgcGVybWlzc2lvbmxlc3MpLgAAAAZzZW5kZXIAAAAAB9AAAAAGU2VuZGVyAAAAAABFVGhyZXNob2xkIHNpZ25hdHVyZXMgKHLigJZz4oCWdikgY292ZXJpbmcgYG1lcmtsZV9yb290YCBhbmQgYGV4cGlyeWAuAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQ==\",\n \"AAAAAgAAAEhSZXByZXNlbnRzIHRoZSBlbnRpdHkgdGhhdCBpcyBhdXRob3Jpc2luZyB0aGUgYF9fY2hlY2tfYXV0aGAgaW52b2NhdGlvbi4AAAAAAAAABlNlbmRlcgAAAAAAAwAAAAEAAABjQSBtdWx0aXNpZyBzaWduZXIgKHNlY3AyNTZrMSkgc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb24uIENvbnRhaW5zIHRoZSA2NS1ieXRlIHLigJZz4oCWdiBzaWduYXR1cmUuAAAAAAZTaWduZXIAAAAAAAEAAAPuAAAAQQAAAAEAAACSQSByZWdpc3RlcmVkIGV4ZWN1dG9yIChlZDI1NTE5KSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbi4KVGhlIHR1cGxlIGlzIGAocHVibGljX2tleSwgc2lnbmF0dXJlKWAgd2hlcmUgdGhlIHNpZ25hdHVyZSBjb3ZlcnMgdGhlIFNvcm9iYW4gcGF5bG9hZC4AAAAAAAhFeGVjdXRvcgAAAAIAAAPuAAAAIAAAA+4AAABAAAAAAAAAAFJQZXJtaXNzaW9ubGVzcyBleGVjdXRpb24gKGFueW9uZSBtYXkgc3VibWl0IHdoZW4gYGV4ZWN1dG9yX3JlcXVpcmVkYCBpcyBkaXNhYmxlZCkuAAAAAAAOUGVybWlzc2lvbmxlc3MAAA==\",\n \"AAAAAgAAAJpJZGVudGlmaWVyIHVzZWQgYnkgYGNhbl9leGVjdXRlX3RyYW5zYWN0aW9uYCB0byBkZXNjcmliZSB0aGUgY2FsbGVyLgpTaWduZXJzIHVzZSBFdGhlcmV1bS1zdHlsZSAyMC1ieXRlIGFkZHJlc3NlcyB3aGlsZSBleGVjdXRvcnMgdXNlIGVkMjU1MTkgcHVibGljIGtleXMuAAAAAAAAAAAACVNlbmRlcktleQAAAAAAAAIAAAABAAAAOUFuIEV0aGVyZXVtLXN0eWxlIHNpZ25lciBhZGRyZXNzICgyMCBieXRlcywgbGVmdC1wYWRkZWQpLgAAAAAAAAZTaWduZXIAAAAAAAEAAAPuAAAAFAAAAAEAAAAqQW4gZWQyNTUxOSBleGVjdXRvciBwdWJsaWMga2V5ICgzMiBieXRlcykuAAAAAAAIRXhlY3V0b3IAAAABAAAD7gAAACA=\",\n \"AAAAAAAAADdBZGRzIG9yIHJlbW92ZXMgYW4gZXhlY3V0b3IgYmFzZWQgb24gdGhlIGBhY3RpdmVgIGZsYWcuAAAAAAxzZXRfZXhlY3V0b3IAAAACAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAA\",\n \"AAAAAAAAADZTZXRzIHdoZXRoZXIgYW4gZXhlY3V0b3IgaXMgcmVxdWlyZWQgZm9yIHRyYW5zYWN0aW9ucy4AAAAAABVzZXRfZXhlY3V0b3JfcmVxdWlyZWQAAAAAAAABAAAAAAAAAAhyZXF1aXJlZAAAAAEAAAAA\",\n \"AAAAAAAAAC1SZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCByZWdpc3RlcmVkIGV4ZWN1dG9ycy4AAAAAAAANZ2V0X2V4ZWN1dG9ycwAAAAAAAAAAAAABAAAD6gAAA+4AAAAg\",\n \"AAAAAAAAADhDaGVja3Mgd2hldGhlciBhIGdpdmVuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIGV4ZWN1dG9yLgAAAAtpc19leGVjdXRvcgAAAAABAAAAAAAAAAhleGVjdXRvcgAAA+4AAAAgAAAAAQAAAAE=\",\n \"AAAAAAAAADFSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBleGVjdXRvcnMuAAAAAAAAD3RvdGFsX2V4ZWN1dG9ycwAAAAAAAAAAAQAAAAQ=\",\n \"AAAAAAAAADJSZXR1cm5zIHdoZXRoZXIgYW4gZXhlY3V0b3Igc2lnbmF0dXJlIGlzIHJlcXVpcmVkLgAAAAAAEWV4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAAAAAAEAAAAB\",\n \"AAAAAAAAAAAAAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAARc2lnbmF0dXJlX3BheWxvYWQAAAAAAAPuAAAAIAAAAAAAAAAJYXV0aF9kYXRhAAAAAAAH0AAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAAAAAANYXV0aF9jb250ZXh0cwAAAAAAA+oAAAfQAAAAB0NvbnRleHQAAAAAAQAAA+kAAAACAAAAAw==\",\n \"AAAAAAAAAElVcGRhdGVzIHRoZSBzZWVkIHVzZWQgZm9yIEVJUC03MTIgZGlnZXN0IGNvbnN0cnVjdGlvbiBhbmQgZW1pdHMgYW4gZXZlbnQuAAAAAAAACHNldF9zZWVkAAAAAQAAAAAAAAAEc2VlZAAAA+4AAAAgAAAAAA==\",\n \"AAAAAAAAAExWZXJpZmllcyBhIG1lcmtsZSByb290IGJ5IGNoZWNraW5nIGV4cGlyeSBhbmQgdmFsaWRhdGluZyBFSVAtNzEyIHNpZ25hdHVyZXMuAAAAEnZlcmlmeV9tZXJrbGVfcm9vdAAAAAAAAwAAAAAAAAALbWVya2xlX3Jvb3QAAAAD7gAAACAAAAAAAAAABmV4cGlyeQAAAAAABgAAAAAAAAAKc2lnbmF0dXJlcwAAAAAD6gAAA+4AAABBAAAAAA==\",\n \"AAAAAAAAAFVWZXJpZmllcyBhIHRyYW5zYWN0aW9uJ3MgbWVya2xlIHByb29mIGFnYWluc3QgdGhlIGdpdmVuIHJvb3QgdXNpbmcgdGhlIGN1cnJlbnQgbm9uY2UuAAAAAAAAGHZlcmlmeV90cmFuc2FjdGlvbl9wcm9vZgAAAAIAAAAAAAAAC21lcmtsZV9yb290AAAAA+4AAAAgAAAAAAAAAAt0cmFuc2FjdGlvbgAAAAfQAAAAC1RyYW5zYWN0aW9uAAAAAAA=\",\n \"AAAAAAAAAH5FbmNvZGVzIGEgbGVhZiBub2RlIGJ5IHNlcmlhbGl6aW5nIHZlcnNpb24sIG9uZXNpZyBJRCwgY29udHJhY3QgYWRkcmVzcywgbm9uY2UsIGFuZCBjYWxscywgdGhlbiBkb3VibGUtaGFzaGluZyB3aXRoIGtlY2NhazI1Ni4AAAAAAAtlbmNvZGVfbGVhZgAAAAACAAAAAAAAAAVub25jZQAAAAAAAAYAAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAAEAAAPuAAAAIA==\",\n \"AAAAAAAAAF9DaGVja3MgaWYgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIHRvIGV4ZWN1dGUgYSB0cmFuc2FjdGlvbiAoZXhlY3V0b3Igb3Igc2lnbmVyIHdoZW4gcmVxdWlyZWQpLgAAAAAXY2FuX2V4ZWN1dGVfdHJhbnNhY3Rpb24AAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAfQAAAACVNlbmRlcktleQAAAAAAAAEAAAAB\",\n \"AAAAAAAAADlSZXR1cm5zIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBPbmVTaWcgZGVwbG95bWVudC4AAAAAAAAJb25lc2lnX2lkAAAAAAAAAAAAAAEAAAAG\",\n \"AAAAAAAAACZSZXR1cm5zIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG5vbmNlLgAAAAAABW5vbmNlAAAAAAAAAAAAAAEAAAAG\",\n \"AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IHNlZWQgdXNlZCBmb3IgRUlQLTcxMiBkaWdlc3QgY29uc3RydWN0aW9uLgAAAAAABHNlZWQAAAAAAAAAAQAAA+4AAAAg\",\n \"AAAAAAAAACRSZXR1cm5zIHRoZSBjb250cmFjdCB2ZXJzaW9uIHN0cmluZy4AAAAHdmVyc2lvbgAAAAAAAAAAAQAAABA=\",\n \"AAAAAAAAAEVSZXR1cm5zIHRoZSBsZWFmIGVuY29kaW5nIHZlcnNpb24gdXNlZCBmb3IgbWVya2xlIHByb29mIGNvbnN0cnVjdGlvbi4AAAAAAAAVbGVhZl9lbmNvZGluZ192ZXJzaW9uAAAAAAAAAAAAAAEAAAAE\",\n \"AAAAAAAAAgVDb25zdHJ1Y3RvciB0byBpbml0aWFsaXplIHRoZSBPbmVTaWcgY29udHJhY3Qgd2l0aCBpbml0aWFsIHN0YXRlCgojIEFyZ3VtZW50cwoqIGBvbmVzaWdfaWRgIC0gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgT25lU2lnIGRlcGxveW1lbnQKKiBgc2VlZGAgLSBJbml0aWFsIHNlZWQgdmFsdWUgZm9yIG1lcmtsZSByb290IHZlcmlmaWNhdGlvbgoqIGBzaWduZXJzYCAtIEFycmF5IG9mIGluaXRpYWwgc2lnbmVyIGFkZHJlc3NlcyAoMzIgYnl0ZXMgZWFjaCwgRXRoZXJldW0gYWRkcmVzc2VzIHBhZGRlZCkKKiBgdGhyZXNob2xkYCAtIE51bWJlciBvZiBzaWduYXR1cmVzIHJlcXVpcmVkIGZvciB0cmFuc2FjdGlvbiBleGVjdXRpb24KKiBgZXhlY3V0b3JzYCAtIEFycmF5IG9mIGluaXRpYWwgZXhlY3V0b3IgcHVibGljIGtleXMgKEJ5dGVzTjwzMj4pCiogYGV4ZWN1dG9yX3JlcXVpcmVkYCAtIFdoZXRoZXIgZXhlY3V0b3IgcGVybWlzc2lvbiBpcyByZXF1aXJlZCBmb3IgdHJhbnNhY3Rpb24gZXhlY3V0aW9uAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAAGAAAAAAAAAAlvbmVzaWdfaWQAAAAAAAAGAAAAAAAAAARzZWVkAAAD7gAAACAAAAAAAAAAB3NpZ25lcnMAAAAD6gAAA+4AAAAUAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleGVjdXRvcnMAAAAAAAPqAAAD7gAAACAAAAAAAAAAEWV4ZWN1dG9yX3JlcXVpcmVkAAAAAAAAAQAAAAA=\",\n \"AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAPoAAAAEw==\",\n \"AAAAAAAAAElBZGRzIG9yIHJlbW92ZXMgYSBzaWduZXIgZnJvbSB0aGUgbXVsdGlzaWcuIFJlcXVpcmVzIG93bmVyIGF1dGhvcml6YXRpb24uAAAAAAAACnNldF9zaWduZXIAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAA=\",\n \"AAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAA=\",\n \"AAAAAAAAAB9SZXR1cm5zIGFsbCByZWdpc3RlcmVkIHNpZ25lcnMuAAAAAAtnZXRfc2lnbmVycwAAAAAAAAAAAQAAA+oAAAPuAAAAFA==\",\n \"AAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABA==\",\n \"AAAAAAAAACxDaGVja3MgaWYgYW4gYWRkcmVzcyBpcyBhIHJlZ2lzdGVyZWQgc2lnbmVyLgAAAAlpc19zaWduZXIAAAAAAAABAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAE=\",\n \"AAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABA==\",\n \"AAAAAAAAADVWZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgdGhlIGNvbmZpZ3VyZWQgdGhyZXNob2xkLgAAAAAAABF2ZXJpZnlfc2lnbmF0dXJlcwAAAAAAAAIAAAAAAAAABmRpZ2VzdAAAAAAD7gAAACAAAAAAAAAACnNpZ25hdHVyZXMAAAAAA+oAAAPuAAAAQQAAAAA=\",\n \"AAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAA\",\n \"AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==\",\n \"AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==\",\n \"AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==\",\n \"AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==\",\n \"AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==\",\n \"AAAAAgAAAAAAAAAAAAAADU9uZVNpZ1N0b3JhZ2UAAAAAAAAFAAAAAAAAAAAAAAAJRXhlY3V0b3JzAAAAAAAAAAAAAAAAAAAQRXhlY3V0b3JSZXF1aXJlZAAAAAAAAAAAAAAACE9uZVNpZ0lkAAAAAAAAAAAAAAAEU2VlZAAAAAAAAAAAAAAABU5vbmNlAAAA\",\n \"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp\",\n \"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=\",\n \"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=\",\n \"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAw=\",\n \"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==\",\n \"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAgAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBs=\",\n \"AAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELA==\",\n \"AAAABAAAABRBdXRoRXJyb3I6IDEwNzAtMTA3OQAAAAAAAAAJQXV0aEVycm9yAAAAAAAAAQAAAAAAAAASQXV0aG9yaXplck5vdEZvdW5kAAAAAAQu\",\n \"AAAABAAAABRSYmFjRXJyb3I6IDEwODAtMTA4OQAAAAAAAAAJUmJhY0Vycm9yAAAAAAAABwAAAAAAAAARQWRtaW5Sb2xlTm90Rm91bmQAAAAAAAQ4AAAAAAAAABBJbmRleE91dE9mQm91bmRzAAAEOQAAAAAAAAAQTWF4Um9sZXNFeGNlZWRlZAAABDoAAAAAAAAAC1JvbGVJc0VtcHR5AAAABDsAAAAAAAAADFJvbGVOb3RGb3VuZAAABDwAAAAAAAAAC1JvbGVOb3RIZWxkAAAABD0AAAAAAAAADFVuYXV0aG9yaXplZAAABD4=\",\n \"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC\",\n \"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=\",\n \"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==\",\n \"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC\",\n \"AAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC\",\n \"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIGdyYW50ZWQuAAAAAAAAAAAAAAtSb2xlR3JhbnRlZAAAAAABAAAADHJvbGVfZ3JhbnRlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACVFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGlzIHJldm9rZWQuAAAAAAAAAAAAAAtSb2xlUmV2b2tlZAAAAAABAAAADHJvbGVfcmV2b2tlZAAAAAMAAAAAAAAABHJvbGUAAAARAAAAAQAAAAAAAAAHYWNjb3VudAAAAAATAAAAAQAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAI=\",\n \"AAAABQAAACtFdmVudCBlbWl0dGVkIHdoZW4gYSByb2xlIGFkbWluIGlzIGNoYW5nZWQuAAAAAAAAAAAQUm9sZUFkbWluQ2hhbmdlZAAAAAEAAAAScm9sZV9hZG1pbl9jaGFuZ2VkAAAAAAADAAAAAAAAAARyb2xlAAAAEQAAAAEAAAAAAAAAE3ByZXZpb3VzX2FkbWluX3JvbGUAAAAD6AAAABEAAAAAAAAAAAAAAA5uZXdfYWRtaW5fcm9sZQAAAAAD6AAAABEAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAC1JiYWNTdG9yYWdlAAAAAAUAAAAAAAAAAAAAAA1FeGlzdGluZ1JvbGVzAAAAAAAAAQAAAAAAAAASUm9sZUluZGV4VG9BY2NvdW50AAAAAAACAAAAEQAAAAQAAAABAAAAAAAAABJSb2xlQWNjb3VudFRvSW5kZXgAAAAAAAIAAAARAAAAEwAAAAEAAAAAAAAAEVJvbGVBY2NvdW50c0NvdW50AAAAAAAAAQAAABEAAAABAAAAAAAAAAlSb2xlQWRtaW4AAAAAAAABAAAAEQ==\",\n \"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=\",\n \"AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==\",\n \"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==\",\n \"AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==\",\n \"AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA==\" ]),\n options\n )\n }\n public readonly fromJSON = {\n set_executor: this.txFromJSON<null>,\n set_executor_required: this.txFromJSON<null>,\n get_executors: this.txFromJSON<Array<Buffer>>,\n is_executor: this.txFromJSON<boolean>,\n total_executors: this.txFromJSON<u32>,\n executor_required: this.txFromJSON<boolean>,\n set_seed: this.txFromJSON<null>,\n verify_merkle_root: this.txFromJSON<null>,\n verify_transaction_proof: this.txFromJSON<null>,\n encode_leaf: this.txFromJSON<Buffer>,\n can_execute_transaction: this.txFromJSON<boolean>,\n onesig_id: this.txFromJSON<u64>,\n nonce: this.txFromJSON<u64>,\n seed: this.txFromJSON<Buffer>,\n version: this.txFromJSON<string>,\n leaf_encoding_version: this.txFromJSON<u32>,\n authorizer: this.txFromJSON<Option<string>>,\n set_signer: this.txFromJSON<null>,\n set_threshold: this.txFromJSON<null>,\n get_signers: this.txFromJSON<Array<Buffer>>,\n total_signers: this.txFromJSON<u32>,\n is_signer: this.txFromJSON<boolean>,\n threshold: this.txFromJSON<u32>,\n verify_signatures: this.txFromJSON<null>,\n verify_n_signatures: this.txFromJSON<null>,\n extend_instance_ttl: this.txFromJSON<null>,\n set_ttl_configs: this.txFromJSON<null>,\n ttl_configs: this.txFromJSON<readonly [Option<TtlConfig>, Option<TtlConfig>]>,\n freeze_ttl_configs: this.txFromJSON<null>,\n is_ttl_configs_frozen: this.txFromJSON<boolean>\n }\n}"]}
|