@fuel-ts/account 0.88.1 → 0.89.1

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.

Potentially problematic release.


This version of @fuel-ts/account might be problematic. Click here for more details.

Files changed (33) hide show
  1. package/dist/account.d.ts +67 -48
  2. package/dist/account.d.ts.map +1 -1
  3. package/dist/index.global.js +371 -204
  4. package/dist/index.global.js.map +1 -1
  5. package/dist/index.js +257 -102
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +257 -102
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/predicate/predicate.d.ts.map +1 -1
  10. package/dist/providers/provider.d.ts +126 -72
  11. package/dist/providers/provider.d.ts.map +1 -1
  12. package/dist/providers/transaction-request/script-transaction-request.d.ts +7 -0
  13. package/dist/providers/transaction-request/script-transaction-request.d.ts.map +1 -1
  14. package/dist/providers/transaction-request/transaction-request.d.ts.map +1 -1
  15. package/dist/providers/transaction-response/transaction-response.d.ts.map +1 -1
  16. package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts +1 -0
  17. package/dist/providers/transaction-summary/assemble-transaction-summary.d.ts.map +1 -1
  18. package/dist/providers/transaction-summary/get-transaction-summary.d.ts.map +1 -1
  19. package/dist/providers/transaction-summary/operations.d.ts +4 -2
  20. package/dist/providers/transaction-summary/operations.d.ts.map +1 -1
  21. package/dist/providers/transaction-summary/types.d.ts +1 -0
  22. package/dist/providers/transaction-summary/types.d.ts.map +1 -1
  23. package/dist/test-utils/launchNode.d.ts +3 -3
  24. package/dist/test-utils/launchNode.d.ts.map +1 -1
  25. package/dist/test-utils.global.js +574 -426
  26. package/dist/test-utils.global.js.map +1 -1
  27. package/dist/test-utils.js +253 -103
  28. package/dist/test-utils.js.map +1 -1
  29. package/dist/test-utils.mjs +254 -104
  30. package/dist/test-utils.mjs.map +1 -1
  31. package/dist/wallet/base-wallet-unlocked.d.ts +8 -0
  32. package/dist/wallet/base-wallet-unlocked.d.ts.map +1 -1
  33. package/package.json +16 -16
@@ -20388,9 +20388,9 @@ spurious results.`);
20388
20388
  }
20389
20389
  });
20390
20390
 
20391
- // ../../node_modules/.pnpm/@fuels+vm-asm@0.49.0/node_modules/@fuels/vm-asm/dist/node/index.cjs
20391
+ // ../../node_modules/.pnpm/@fuels+vm-asm@0.50.0/node_modules/@fuels/vm-asm/dist/node/index.cjs
20392
20392
  var require_node = __commonJS({
20393
- "../../node_modules/.pnpm/@fuels+vm-asm@0.49.0/node_modules/@fuels/vm-asm/dist/node/index.cjs"(exports) {
20393
+ "../../node_modules/.pnpm/@fuels+vm-asm@0.50.0/node_modules/@fuels/vm-asm/dist/node/index.cjs"(exports) {
20394
20394
  "use strict";
20395
20395
  var wasm$1;
20396
20396
  var cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
@@ -20951,6 +20951,43 @@ spurious results.`);
20951
20951
  BaseAssetId: 6,
20952
20952
  "6": "BaseAssetId"
20953
20953
  });
20954
+ var CompareMode = Object.freeze({
20955
+ /**
20956
+ * Equality (`==`)
20957
+ */
20958
+ EQ: 0,
20959
+ "0": "EQ",
20960
+ /**
20961
+ * Inequality (`!=`)
20962
+ */
20963
+ NE: 1,
20964
+ "1": "NE",
20965
+ /**
20966
+ * Less than (`<`)
20967
+ */
20968
+ LT: 2,
20969
+ "2": "LT",
20970
+ /**
20971
+ * Greater than (`>`)
20972
+ */
20973
+ GT: 3,
20974
+ "3": "GT",
20975
+ /**
20976
+ * Less than or equals (`>=`)
20977
+ */
20978
+ LTE: 4,
20979
+ "4": "LTE",
20980
+ /**
20981
+ * Greater than or equals (`>=`)
20982
+ */
20983
+ GTE: 5,
20984
+ "5": "GTE",
20985
+ /**
20986
+ * Number of leading zeroes in lhs (`lzcnt`) (discards rhs)
20987
+ */
20988
+ LZC: 6,
20989
+ "6": "LZC"
20990
+ });
20954
20991
  var GTFArgs2 = Object.freeze({
20955
20992
  /**
20956
20993
  *r" Set `$rA` to `tx.type`
@@ -21283,48 +21320,6 @@ spurious results.`);
21283
21320
  PolicyMaxFee: 1284,
21284
21321
  "1284": "PolicyMaxFee"
21285
21322
  });
21286
- var MathOp = Object.freeze({
21287
- /**
21288
- * Add
21289
- */
21290
- ADD: 0,
21291
- "0": "ADD",
21292
- /**
21293
- * Subtract
21294
- */
21295
- SUB: 1,
21296
- "1": "SUB",
21297
- /**
21298
- * Invert bits (discards rhs)
21299
- */
21300
- NOT: 2,
21301
- "2": "NOT",
21302
- /**
21303
- * Bitwise or
21304
- */
21305
- OR: 3,
21306
- "3": "OR",
21307
- /**
21308
- * Bitwise exclusive or
21309
- */
21310
- XOR: 4,
21311
- "4": "XOR",
21312
- /**
21313
- * Bitwise and
21314
- */
21315
- AND: 5,
21316
- "5": "AND",
21317
- /**
21318
- * Shift left
21319
- */
21320
- SHL: 6,
21321
- "6": "SHL",
21322
- /**
21323
- * Shift right
21324
- */
21325
- SHR: 7,
21326
- "7": "SHR"
21327
- });
21328
21323
  var PanicReason = Object.freeze({
21329
21324
  /**
21330
21325
  *r" The byte can't be mapped to any known `PanicReason`.
@@ -21604,42 +21599,47 @@ spurious results.`);
21604
21599
  ThePartIsNotSequentiallyConnected: 53,
21605
21600
  "53": "ThePartIsNotSequentiallyConnected"
21606
21601
  });
21607
- var CompareMode = Object.freeze({
21602
+ var MathOp = Object.freeze({
21608
21603
  /**
21609
- * Equality (`==`)
21604
+ * Add
21610
21605
  */
21611
- EQ: 0,
21612
- "0": "EQ",
21606
+ ADD: 0,
21607
+ "0": "ADD",
21613
21608
  /**
21614
- * Inequality (`!=`)
21609
+ * Subtract
21615
21610
  */
21616
- NE: 1,
21617
- "1": "NE",
21611
+ SUB: 1,
21612
+ "1": "SUB",
21618
21613
  /**
21619
- * Less than (`<`)
21614
+ * Invert bits (discards rhs)
21620
21615
  */
21621
- LT: 2,
21622
- "2": "LT",
21616
+ NOT: 2,
21617
+ "2": "NOT",
21623
21618
  /**
21624
- * Greater than (`>`)
21619
+ * Bitwise or
21625
21620
  */
21626
- GT: 3,
21627
- "3": "GT",
21621
+ OR: 3,
21622
+ "3": "OR",
21628
21623
  /**
21629
- * Less than or equals (`>=`)
21624
+ * Bitwise exclusive or
21630
21625
  */
21631
- LTE: 4,
21632
- "4": "LTE",
21626
+ XOR: 4,
21627
+ "4": "XOR",
21633
21628
  /**
21634
- * Greater than or equals (`>=`)
21629
+ * Bitwise and
21635
21630
  */
21636
- GTE: 5,
21637
- "5": "GTE",
21631
+ AND: 5,
21632
+ "5": "AND",
21638
21633
  /**
21639
- * Number of leading zeroes in lhs (`lzcnt`) (discards rhs)
21634
+ * Shift left
21640
21635
  */
21641
- LZC: 6,
21642
- "6": "LZC"
21636
+ SHL: 6,
21637
+ "6": "SHL",
21638
+ /**
21639
+ * Shift right
21640
+ */
21641
+ SHR: 7,
21642
+ "7": "SHR"
21643
21643
  });
21644
21644
  var ADDFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
21645
21645
  }, unregister: () => {
@@ -28383,7 +28383,7 @@ spurious results.`);
28383
28383
  }
28384
28384
  }
28385
28385
  function wasm(imports) {
28386
- return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP7AfkBAQMKBgEFBQUBBQEBAQEBAQECBQICAQEDAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAQABAQUFAQEBAQEBAQEBAQIBBQUFAwIBAAABAQEFAgIBAQYABgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEDBgADAQEBBwICAAIABgEEAwEDBQgBCQkDAwMFAQEBBgYGBgQEBAQEBAQEBAQEBAQEBAQEBAQGBwcCAgIDBwcACAADBAUBcAEHBwUDAQARBgkBfwFBgIDAAAsHxEvBBQZtZW1vcnkCABZfX3diZ19jb21wYXJlYXJnc19mcmVlAHcaX193YmdfZ2V0X2NvbXBhcmVhcmdzX21vZGUAORpfX3diZ19zZXRfY29tcGFyZWFyZ3NfbW9kZQAoIl9fd2JnX2dldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAOiJfX3diZ19zZXRfY29tcGFyZWFyZ3NfaW5kaXJlY3RfcmhzADsSY29tcGFyZWFyZ3NfdG9faW1tAEgUY29tcGFyZWFyZ3NfZnJvbV9pbW0AKRVfX3diZ19nZXRfbWF0aGFyZ3Nfb3AAORVfX3diZ19zZXRfbWF0aGFyZ3Nfb3AAKhJfX3diZ19tdWxhcmdzX2ZyZWUAeB5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAOR5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAPBJfX3diZ19kaXZhcmdzX2ZyZWUA1gEeX193YmdfZ2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzAK0BIXBhbmljaW5zdHJ1Y3Rpb25fZXJyb3JfdHlwZXNjcmlwdABMF3BhbmljaW5zdHJ1Y3Rpb25fcmVhc29uAD4ccGFuaWNpbnN0cnVjdGlvbl9pbnN0cnVjdGlvbgA/DGdtX2Zyb21fYXJncwDJAQ1ndGZfZnJvbV9hcmdzAMEBB2dtX2FyZ3MAeQhndGZfYXJncwBaDndkY21fZnJvbV9hcmdzACYOd2RvcF9mcm9tX2FyZ3MAJg53ZG1sX2Zyb21fYXJncwAeDndkZHZfZnJvbV9hcmdzAL8BCXdkY21fYXJncwAZCXdxY21fYXJncwAaCXdkb3BfYXJncwAbCXdxb3BfYXJncwAcCXdkbWxfYXJncwAUCXdxbWxfYXJncwAVCXdkZHZfYXJncwBVCXdxZHZfYXJncwBWEF9fd2JnX2ltbTA2X2ZyZWUA1wEQX193YmdfaW1tMTJfZnJlZQDYARBfX3diZ19pbW0xOF9mcmVlANkBDl9fd2JnX2FkZF9mcmVlALgBD19fd2JnX25vb3BfZnJlZQBbEmFkZF9uZXdfdHlwZXNjcmlwdABPBmFkZF9yYQAWBmFkZF9yYgALBmFkZF9yYwAPA2FkZAC5AQNhbmQAewNkaXYAfAJlcQB9A2V4cAB+Amd0AH8CbHQAgAEEbWxvZwCBAQRtcm9vAIIBBG1vZF8AgwEFbW92ZV8ALANtdWwAhAEDbm90AC0Cb3IAhQEDc2xsAIYBA3NybACHAQNzdWIAiAEDeG9yAIkBBG1sZHYAXANyZXQArgEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAVwdhbG9jX3JhAE4EYWxvYwCvAQNtY2wALwNtY3AAigEDbWVxAF0TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALABBGJ1cm4AMRNjYWxsX25ld190eXBlc2NyaXB0AE0HY2FsbF9yZAAXBGNhbGwAXgNjY3AAXwRjcm9vADIEY3NpegAzAmNiALEBA2xkYwCLAQNsb2cAYARsb2dkAGEEbWludAA0BHJ2cnQAsgEEc2N3cQCMAQNzcncAjQEEc3J3cQBiA3N3dwCOAQRzd3dxAGMCdHIAjwEDdHJvAGQEZWNrMQCQAQRlY3IxAJEBBGVkMTkAkgEEazI1NgCTAQRzMjU2AJQBBHRpbWUANRNub29wX25ld190eXBlc2NyaXB0AMYBBG5vb3AA2gEEZmxhZwCzAQNiYWwAlQEDam1wALQBA2puZQCWAQNzbW8AZRNhZGRpX25ld190eXBlc2NyaXB0AFAKYWRkaV9pbW0xMgAMBGFkZGkAlwEEYW5kaQCYAQRkaXZpAJkBBGV4cGkAmgEEbW9kaQCbAQRtdWxpAJwBA29yaQCdAQRzbGxpAJ4BBHNybGkAnwEEc3ViaQCgAQR4b3JpAKEBBGpuZWkAogECbGIAowECbHcApAECc2IApQECc3cApgEEbWNwaQCnARJndGZfbmV3X3R5cGVzY3JpcHQAwwEDZ3RmAKgBBG1jbGkAIBFnbV9uZXdfdHlwZXNjcmlwdAA2CGdtX2ltbTE4AAkCZ20AIQRtb3ZpACIEam56aQAjBGptcGYAJBNqbXBiX25ld190eXBlc2NyaXB0ABgEam1wYgAlBGpuemYAqQEEam56YgCqAQRqbmVmAGYKam5lYl9pbW0wNgAXBGpuZWIAZwJqaQBAE2NmZWlfbmV3X3R5cGVzY3JpcHQANwpjZmVpX2ltbTI0ACcEY2ZlaQBBBGNmc2kAQgNjZmUAtQEDY2ZzALYBBHBzaGwAQwRwc2hoAEQEcG9wbABFBHBvcGgARhN3ZGNtX25ld190eXBlc2NyaXB0AMABBHdkY20AaAR3cWNtAGkEd2RvcABqBHdxb3AAawR3ZG1sAGwEd3FtbABtBHdkZHYAbgR3cWR2AG8Ed2RtZABwBHdxbWQAcQR3ZGFtAHIEd3FhbQBzBHdkbW0AdAR3cW1tAHUEZWNhbAB2Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWRRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7AERcmVnaWRfbmV3X2NoZWNrZWQAqwEJcmVnaWRfYmFsANsBCnJlZ2lkX2NnYXMA3AEJcmVnaWRfZXJyAN0BCnJlZ2lkX2ZsYWcA3gEIcmVnaWRfZnAA3wEKcmVnaWRfZ2dhcwDgAQhyZWdpZF9ocADhAQhyZWdpZF9pcwDiAQhyZWdpZF9vZgDjAQlyZWdpZF9vbmUA5AEIcmVnaWRfcGMA5QEJcmVnaWRfcmV0AOYBCnJlZ2lkX3JldGwA5wEIcmVnaWRfc3AA6AEJcmVnaWRfc3BwAOkBDnJlZ2lkX3dyaXRhYmxlAOoBCnJlZ2lkX3plcm8A6wEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA0wELcmVnaWRfdG9fdTgA1AETbW92aV9uZXdfdHlwZXNjcmlwdAAYE21jbGlfbmV3X3R5cGVzY3JpcHQAGBNqbnppX25ld190eXBlc2NyaXB0ABgTam1wZl9uZXdfdHlwZXNjcmlwdAAYEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxJyZXRfbmV3X3R5cGVzY3JpcHQAVxNiaGVpX25ld190eXBlc2NyaXB0AFcRY2JfbmV3X3R5cGVzY3JpcHQAVxNydnJ0X25ld190eXBlc2NyaXB0AFcTZmxhZ19uZXdfdHlwZXNjcmlwdABXEmptcF9uZXdfdHlwZXNjcmlwdABXEmNmZV9uZXdfdHlwZXNjcmlwdABXEmNmc19uZXdfdHlwZXNjcmlwdABXE21sZHZfbmV3X3R5cGVzY3JpcHQATRJtZXFfbmV3X3R5cGVzY3JpcHQATRJjY3BfbmV3X3R5cGVzY3JpcHQATRJsb2dfbmV3X3R5cGVzY3JpcHQATRNsb2dkX25ld190eXBlc2NyaXB0AE0Tc3J3cV9uZXdfdHlwZXNjcmlwdABNE3N3d3FfbmV3X3R5cGVzY3JpcHQATRJ0cm9fbmV3X3R5cGVzY3JpcHQATRJzbW9fbmV3X3R5cGVzY3JpcHQATRNqbmVmX25ld190eXBlc2NyaXB0AE0Td2RtZF9uZXdfdHlwZXNjcmlwdABNE3dxbWRfbmV3X3R5cGVzY3JpcHQATRN3ZGFtX25ld190eXBlc2NyaXB0AE0Td3FhbV9uZXdfdHlwZXNjcmlwdABNE3dkbW1fbmV3X3R5cGVzY3JpcHQATRN3cW1tX25ld190eXBlc2NyaXB0AE0TZWNhbF9uZXdfdHlwZXNjcmlwdABNEmFuZF9uZXdfdHlwZXNjcmlwdABPEmRpdl9uZXdfdHlwZXNjcmlwdABPEWVxX25ld190eXBlc2NyaXB0AE8SZXhwX25ld190eXBlc2NyaXB0AE8RZ3RfbmV3X3R5cGVzY3JpcHQATxFsdF9uZXdfdHlwZXNjcmlwdABPE21sb2dfbmV3X3R5cGVzY3JpcHQATxNtcm9vX25ld190eXBlc2NyaXB0AE8SbW9kX25ld190eXBlc2NyaXB0AE8SbXVsX25ld190eXBlc2NyaXB0AE8Rb3JfbmV3X3R5cGVzY3JpcHQATxJzbGxfbmV3X3R5cGVzY3JpcHQATxJzcmxfbmV3X3R5cGVzY3JpcHQATxJzdWJfbmV3X3R5cGVzY3JpcHQATxJ4b3JfbmV3X3R5cGVzY3JpcHQATxJtY3BfbmV3X3R5cGVzY3JpcHQATxJsZGNfbmV3X3R5cGVzY3JpcHQATxNzY3dxX25ld190eXBlc2NyaXB0AE8Sc3J3X25ld190eXBlc2NyaXB0AE8Sc3d3X25ld190eXBlc2NyaXB0AE8RdHJfbmV3X3R5cGVzY3JpcHQATxNlY2sxX25ld190eXBlc2NyaXB0AE8TZWNyMV9uZXdfdHlwZXNjcmlwdABPE2VkMTlfbmV3X3R5cGVzY3JpcHQATxNrMjU2X25ld190eXBlc2NyaXB0AE8TczI1Nl9uZXdfdHlwZXNjcmlwdABPEmJhbF9uZXdfdHlwZXNjcmlwdABPEmpuZV9uZXdfdHlwZXNjcmlwdABPE2FuZGlfbmV3X3R5cGVzY3JpcHQAUBNkaXZpX25ld190eXBlc2NyaXB0AFATZXhwaV9uZXdfdHlwZXNjcmlwdABQE21vZGlfbmV3X3R5cGVzY3JpcHQAUBNtdWxpX25ld190eXBlc2NyaXB0AFASb3JpX25ld190eXBlc2NyaXB0AFATc2xsaV9uZXdfdHlwZXNjcmlwdABQE3NybGlfbmV3X3R5cGVzY3JpcHQAUBNzdWJpX25ld190eXBlc2NyaXB0AFATeG9yaV9uZXdfdHlwZXNjcmlwdABQE2puZWlfbmV3X3R5cGVzY3JpcHQAUBFsYl9uZXdfdHlwZXNjcmlwdABQEWx3X25ld190eXBlc2NyaXB0AFARc2JfbmV3X3R5cGVzY3JpcHQAUBFzd19uZXdfdHlwZXNjcmlwdABQE21jcGlfbmV3X3R5cGVzY3JpcHQAUBNqbnpmX25ld190eXBlc2NyaXB0AFATam56Yl9uZXdfdHlwZXNjcmlwdABQDndxY21fZnJvbV9hcmdzACYOd3FvcF9mcm9tX2FyZ3MAJh9fX3diZ19zZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADseX193Ymdfc2V0X211bGFyZ3NfaW5kaXJlY3RfbGhzADseX193Ymdfc2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzADsRamlfbmV3X3R5cGVzY3JpcHQANxNjZnNpX25ld190eXBlc2NyaXB0ADcTcHNobF9uZXdfdHlwZXNjcmlwdAA3E3BzaGhfbmV3X3R5cGVzY3JpcHQANxNwb3BsX25ld190eXBlc2NyaXB0ADcTcG9waF9uZXdfdHlwZXNjcmlwdAA3E3dxZHZfbmV3X3R5cGVzY3JpcHQAwAEOd3Fkdl9mcm9tX2FyZ3MAvwETd3FvcF9uZXdfdHlwZXNjcmlwdADAARN3ZG9wX25ld190eXBlc2NyaXB0AMABE3dkZHZfbmV3X3R5cGVzY3JpcHQAwAETd3FjbV9uZXdfdHlwZXNjcmlwdADAARN3ZG1sX25ld190eXBlc2NyaXB0AMABDndxbWxfZnJvbV9hcmdzAB4Td3FtbF9uZXdfdHlwZXNjcmlwdADAARBfX3diZ19yZWdpZF9mcmVlANcBEF9fd2JnX2ltbTI0X2ZyZWUA2QEPX193Ymdfc3JsaV9mcmVlALgBDl9fd2JnX21jbF9mcmVlALgBDl9fd2JnX2xkY19mcmVlALgBDV9fd2JnX3N3X2ZyZWUAuAEOX193YmdfbW9kX2ZyZWUAuAEPX193Ymdfc3J3cV9mcmVlALgBD19fd2JnX2ZsYWdfZnJlZQC4AQ5fX3diZ19leHBfZnJlZQC4AQ9fX3diZ19lZDE5X2ZyZWUAuAEPX193YmdfZWNhbF9mcmVlALgBDl9fd2JnX3Ntb19mcmVlALgBD19fd2JnX2RpdmlfZnJlZQC4AQ9fX3diZ19qbmVmX2ZyZWUAuAEPX193Ymdfd2RtbV9mcmVlALgBD19fd2JnX2V4cGlfZnJlZQC4AQ9fX3diZ19taW50X2ZyZWUAuAEPX193YmdfcG9wbF9mcmVlALgBDl9fd2JnX25vdF9mcmVlALgBDV9fd2JnX2VxX2ZyZWUAuAENX193Ymdfc2JfZnJlZQC4AQ9fX3diZ193cW1tX2ZyZWUAuAEPX193YmdfYmhzaF9mcmVlALgBD19fd2JnX21vdmlfZnJlZQC4AQ5fX3diZ19tY3BfZnJlZQC4AQ5fX3diZ19jY3BfZnJlZQC4AQ9fX3diZ193ZG1kX2ZyZWUAuAEOX193YmdfZ3RmX2ZyZWUAuAEOX193YmdfdHJvX2ZyZWUAuAEPX193YmdfbXVsaV9mcmVlALgBDl9fd2JnX29yaV9mcmVlALgBD19fd2JnX3dkZHZfZnJlZQC4AQ9fX3diZ19qbXBiX2ZyZWUAuAENX193YmdfbGJfZnJlZQC4AQ9fX3diZ19jcm9vX2ZyZWUAuAEPX193Ymdfd3FhbV9mcmVlALgBD19fd2JnX2puZWJfZnJlZQC4AQdmbGFnX3JhAE4OX193YmdfY2ZlX2ZyZWUAuAEPX193Ymdfd2RvcF9mcmVlALgBD19fd2JnX2NzaXpfZnJlZQC4AQ9fX3diZ19tcm9vX2ZyZWUAuAEPX193Ymdfam56Zl9mcmVlALgBCnBvcGxfaW1tMjQAJw9fX3diZ19jZnNpX2ZyZWUAuAEPX193YmdfYW5kaV9mcmVlALgBD19fd2JnX3RpbWVfZnJlZQC4AQ9fX3diZ19tY2xpX2ZyZWUAuAEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC4AQ9fX3diZ194b3JpX2ZyZWUAuAEPX193YmdfcmV0ZF9mcmVlALgBD19fd2JnX3dxb3BfZnJlZQC4AQ9fX3diZ19rMjU2X2ZyZWUAuAEPX193Ymdfc3ViaV9mcmVlALgBBnJldF9yYQBODl9fd2JnX3JldF9mcmVlALgBDl9fd2JnX2puZV9mcmVlALgBDl9fd2JnX3N3d19mcmVlALgBD19fd2JnX2xvZ2RfZnJlZQC4AQ5fX3diZ19tZXFfZnJlZQC4AQZjZmVfcmEATg9fX3diZ19iaGVpX2ZyZWUAuAEPX193YmdfbWxkdl9mcmVlALgBDl9fd2JnX2Rpdl9mcmVlALgBD19fd2JnX3dxbWxfZnJlZQC4AQ9fX3diZ19tbG9nX2ZyZWUAuAENX193YmdfdHJfZnJlZQC4AQ9fX3diZ193cWR2X2ZyZWUAuAENX193YmdfbHdfZnJlZQC4AQVjYl9yYQBODV9fd2JnX2NiX2ZyZWUAuAEGam1wX3JhAE4OX193Ymdfam1wX2ZyZWUAuAEOX193YmdfYW5kX2ZyZWUAuAEOX193YmdfbXVsX2ZyZWUAuAEKY2ZzaV9pbW0yNAAnD19fd2JnX2NmZWlfZnJlZQC4AQZjZnNfcmEATg5fX3diZ19jZnNfZnJlZQC4AQ9fX3diZ19idXJuX2ZyZWUAuAEOX193YmdfbG9nX2ZyZWUAuAEPX193YmdfczI1Nl9mcmVlALgBD19fd2JnX21jcGlfZnJlZQC4AQ5fX3diZ19zbGxfZnJlZQC4AQ9fX3diZ19tb3ZlX2ZyZWUAuAENX193YmdfbHRfZnJlZQC4AQpwb3BoX2ltbTI0ACcPX193YmdfcG9waF9mcmVlALgBDV9fd2JnX2d0X2ZyZWUAuAEOX193Ymdfc3ViX2ZyZWUAuAEPX193Ymdfd3FtZF9mcmVlALgBD19fd2JnX21vZGlfZnJlZQC4AQ9fX3diZ19lY3IxX2ZyZWUAuAEPX193Ymdfc2xsaV9mcmVlALgBB2JoZWlfcmEATg9fX3diZ19hbG9jX2ZyZWUAuAENX193YmdfZ21fZnJlZQC4AQ5fX3diZ194b3JfZnJlZQC4AQ5fX3diZ19zcmxfZnJlZQC4AQ5fX3diZ19iYWxfZnJlZQC4AQ9fX3diZ19qbmVpX2ZyZWUAuAEPX193YmdfZWNrMV9mcmVlALgBCnBzaGxfaW1tMjQAJw9fX3diZ19wc2hsX2ZyZWUAuAENX193Ymdfb3JfZnJlZQC4AQ5fX3diZ19zcndfZnJlZQC4AQhqaV9pbW0yNAAnDV9fd2JnX2ppX2ZyZWUAuAEPX193Ymdfd3FjbV9mcmVlALgBD19fd2JnX2FkZGlfZnJlZQC4AR5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9saHMAOg9fX3diZ19zY3dxX2ZyZWUAuAEHcnZydF9yYQBOD19fd2JnX3J2cnRfZnJlZQC4AQ9fX3diZ19zd3dxX2ZyZWUAuAEPX193Ymdfam56Yl9mcmVlALgBH19fd2JnX2dldF9tYXRoYXJnc19pbmRpcmVjdF9yaHMAOg9fX3diZ193ZGNtX2ZyZWUAuAEPX193Ymdfd2RtbF9mcmVlALgBD19fd2JnX2ptcGZfZnJlZQC4AQ9fX3diZ193ZGFtX2ZyZWUAuAEPX193Ymdfam56aV9mcmVlALgBD19fd2JnX2NhbGxfZnJlZQC4ARNqbmViX25ld190eXBlc2NyaXB0AE0Kd3Fkdl9pbW0wNgAXCndxbWxfaW1tMDYAFwp3ZG1sX2ltbTA2ABcKd3FvcF9pbW0wNgAXCndkb3BfaW1tMDYAFwp3cWNtX2ltbTA2ABcKd2Rkdl9pbW0wNgAXCndkY21faW1tMDYAFwpqbmVmX2ltbTA2ABcHc3JsaV9yYgALB3NybGlfcmEAFgZtY2xfcmIACwZtY2xfcmEAFgZsZGNfcmMADwZsZGNfcmIACwZsZGNfcmEAFgZtb2RfcmMADwZtb2RfcmIACwZtb2RfcmEAFgdzcndxX3JjAA8Hc3J3cV9yYgALB3Nyd3FfcmEAFgZleHBfcmMADwZleHBfcmIACwZleHBfcmEAFgdlZDE5X3JjAA8HZWQxOV9yYgALB2VkMTlfcmEAFgdzcndxX3JkABcHZWNhbF9yYwAPB2VjYWxfcmIACwdlY2FsX3JhABYGc21vX3JkABcGc21vX3JjAA8Gc21vX3JiAAsGc21vX3JhABYKc3JsaV9pbW0xMgAMB2RpdmlfcmIACwdkaXZpX3JhABYHam5lZl9yYwAPB2puZWZfcmIACwdqbmVmX3JhABYHd2RtbV9yZAAXB3dkbW1fcmMADwd3ZG1tX3JiAAsHd2RtbV9yYQAWCmV4cGlfaW1tMTIADAdleHBpX3JiAAsHZXhwaV9yYQAWB21pbnRfcmIACwdtaW50X3JhABYGbm90X3JiAAsGbm90X3JhABYIc3dfaW1tMTIADAVzd19yYgALBXN3X3JhABYIc2JfaW1tMTIADAVzYl9yYgALBXNiX3JhABYHd3FtbV9yZAAXB3dxbW1fcmMADwd3cW1tX3JiAAsHd3FtbV9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYHbW92aV9yYQAWBm1jcF9yYwAPBm1jcF9yYgALBm1jcF9yYQAWB2VjYWxfcmQAFwZjY3BfcmMADwZjY3BfcmIACwZjY3BfcmEAFgd3ZG1kX3JkABcHd2RtZF9yYwAPB3dkbWRfcmIACwd3ZG1kX3JhABYJZ3RmX2ltbTEyAAwGZ3RmX3JiAAsGZ3RmX3JhABYGdHJvX3JkABcGdHJvX3JjAA8GdHJvX3JiAAsGdHJvX3JhABYKbXVsaV9pbW0xMgAMB211bGlfcmIACwdtdWxpX3JhABYJb3JpX2ltbTEyAAwGb3JpX3JiAAsGb3JpX3JhABYHd2Rkdl9yYwAPB3dkZHZfcmIACwd3ZGR2X3JhABYKbW92aV9pbW0xOAAJB2ptcGJfcmEAFghsYl9pbW0xMgAMBWxiX3JiAAsFbGJfcmEAFgdjcm9vX3JiAAsHY3Jvb19yYQAWB3dxYW1fcmQAFwd3cWFtX3JjAA8Hd3FhbV9yYgALB3dxYW1fcmEAFgdqbmViX3JjAA8Ham5lYl9yYgALB2puZWJfcmEAFgd3ZG9wX3JjAA8Hd2RvcF9yYgALB3dkb3BfcmEAFgdjc2l6X3JiAAsHY3Npel9yYQAWB21yb29fcmMADwdtcm9vX3JiAAsHbXJvb19yYQAWCmpuemZfaW1tMTIADAdqbnpmX3JiAAsHam56Zl9yYQAWCmRpdmlfaW1tMTIADAdhbmRpX3JiAAsHYW5kaV9yYQAWB3RpbWVfcmIACwd0aW1lX3JhABYKbWNsaV9pbW0xOAAJB21jbGlfcmEAFgp4b3JpX2ltbTEyAAwHeG9yaV9yYgALB3hvcmlfcmEAFgdyZXRkX3JiAAsHcmV0ZF9yYQAWB3dxb3BfcmMADwd3cW9wX3JiAAsHd3FvcF9yYQAWB2syNTZfcmMADwdrMjU2X3JiAAsHazI1Nl9yYQAWCnN1YmlfaW1tMTIADAdzdWJpX3JiAAsHc3ViaV9yYQAWBmpuZV9yYwAPBmpuZV9yYgALBmpuZV9yYQAWBnN3d19yYwAPBnN3d19yYgALBnN3d19yYQAWB2xvZ2RfcmQAFwdsb2dkX3JjAA8HbG9nZF9yYgALB2xvZ2RfcmEAFgZtZXFfcmQAFwZtZXFfcmMADwZtZXFfcmIACwZtZXFfcmEAFgdtbGR2X3JkABcHbWxkdl9yYwAPB21sZHZfcmIACwdtbGR2X3JhABYGZGl2X3JjAA8GZGl2X3JiAAsGZGl2X3JhABYHd3FtbF9yYwAPB3dxbWxfcmIACwd3cW1sX3JhABYHbWxvZ19yYwAPB21sb2dfcmIACwdtbG9nX3JhABYFdHJfcmMADwV0cl9yYgALBXRyX3JhABYHd3Fkdl9yYwAPB3dxZHZfcmIACwd3cWR2X3JhABYIbHdfaW1tMTIADAVsd19yYgALBWx3X3JhABYKYW5kaV9pbW0xMgAMBmFuZF9yYgALBmFuZF9yYQAWBm11bF9yYwAPBm11bF9yYgALBm11bF9yYQAWB2J1cm5fcmIACwdidXJuX3JhABYGbG9nX3JkABcGbG9nX3JjAA8GbG9nX3JiAAsGbG9nX3JhABYHczI1Nl9yYwAPB3MyNTZfcmIACwdzMjU2X3JhABYFZXFfcmMADwVlcV9yYgALBWVxX3JhABYKbWNwaV9pbW0xMgAMB21jcGlfcmIACwdtY3BpX3JhABYGc2xsX3JjAA8Gc2xsX3JiAAsGc2xsX3JhABYHbW92ZV9yYgALB21vdmVfcmEAFgVsdF9yYwAPBWx0X3JiAAsFbHRfcmEAFgVndF9yYwAPBWd0X3JiAAsFZ3RfcmEAFgZzdWJfcmMADwZzdWJfcmIACwZzdWJfcmEAFgd3cW1kX3JkABcHd3FtZF9yYwAPB3dxbWRfcmIACwd3cW1kX3JhABYKbW9kaV9pbW0xMgAMB21vZGlfcmIACwdtb2RpX3JhABYHZWNyMV9yYwAPB2VjcjFfcmIACwdlY3IxX3JhABYKc2xsaV9pbW0xMgAMB3NsbGlfcmIACwdzbGxpX3JhABYKam1wYl9pbW0xOAAJBWdtX3JhABYGeG9yX3JjAA8GeG9yX3JiAAsGeG9yX3JhABYGc3JsX3JjAA8Gc3JsX3JiAAsGc3JsX3JhABYGYmFsX3JjAA8GYmFsX3JiAAsGYmFsX3JhABYKam5laV9pbW0xMgAMB2puZWlfcmIACwdqbmVpX3JhABYHZWNrMV9yYwAPB2VjazFfcmIACwdlY2sxX3JhABYFb3JfcmMADwVvcl9yYgALBW9yX3JhABYGc3J3X3JjAA8Gc3J3X3JiAAsGc3J3X3JhABYHd3FjbV9yYwAPB3dxY21fcmIACwd3cWNtX3JhABYGYW5kX3JjAA8HYWRkaV9yYgALB2FkZGlfcmEAFgdzY3dxX3JjAA8Hc2N3cV9yYgALB3Njd3FfcmEAFgdzd3dxX3JkABcHc3d3cV9yYwAPB3N3d3FfcmIACwdzd3dxX3JhABYKam56Yl9pbW0xMgAMB2puemJfcmIACwdqbnpiX3JhABYTX193YmdfbWF0aGFyZ3NfZnJlZQB3B3dkY21fcmMADwd3ZGNtX3JiAAsHd2RjbV9yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWCmptcGZfaW1tMTgACQdqbXBmX3JhABYHd2RhbV9yZAAXB3dkYW1fcmMADwd3ZGFtX3JiAAsHd2RhbV9yYQAWCmpu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QYDgA3FyQQx2ELsBIAFBEGokAAtuAQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggiAC8AACAAQQJqLQAAQRB0chDVASEAIAEoAgwiAiACKAIAQQFrNgIAQQhBBBC6ASICIABBCHZBgB5xIABBGHZyOwEEIAJBADYCACABQRBqJAAgAgttAQF/IwBBMGsiASQAIAEgADoADyAAQf8BcUHAAE8EQCABQRxqQgE3AgAgAUECNgIUIAFB9IDAADYCECABQQI2AiwgASABQShqNgIYIAEgAUEPajYCKCABQRBqQYSBwAAQSQALIAFBMGokACAAC24BAX8jAEEwayIBJAAgASAAOwEOIABB//8DcUGAIE8EQCABQRxqQgE3AgAgAUECNgIUIAFBuIHAADYCECABQQM2AiwgASABQShqNgIYIAEgAUEOajYCKCABQRBqQciBwAAQSQALIAFBMGokACAAC10BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDVASIAQR52IABBDnZBPHFyELsBIAFBEGokAAsVACAAQYyCwABB/IHAAEGAgBAQ8gELFgAgAEHQgsAAQcCCwABBgICACBDyAQtMACADQf8BcSABQf8BcUEMdCAAQf8BcUESdHIiACACQf8BcUEGdHJyIgFBEHRBgID8B3EgAEEIdkGA/gNxIAFBgP4DcUEIdHJBCHZyC1UCAX8BfiMAQRBrIgIkACABEMQBIAJBCGogARBUIAIoAgxBADYCACABKQIAIQMgARAEIAAgA0IoiKdBAXE6AAEgACADQiCIp0EBcToAACACQRBqJAALEAAgACABIAIgA0HiABD0AQsQACAAIAEgAiADQeMAEPQBC08BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDIARC7ASABQRBqJAALVQEDfyMAQRBrIgEkACABQQhqIAAQSiABKAIIIgBBAmotAAAhAiAALwAAIAEoAgwiAyADKAIAQQFrNgIAIAJBEHRyENUBQRh2QT9xELsBIAFBEGokAAtSAQF/IAAQUSECIAEQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgACACQf8BcUESdHIiAEGA/gNxQQh0IABBCHZBgP4DcXJBCHZyrUIghjcCACABCxAAIAAgASACIANB3gAQ9QELEAAgACABIAIgA0HfABD1AQsQACAAIAEgAiADQeAAEPUBCxAAIAAgASACIANB4QAQ9QELUQIBfwF+IwBBEGsiAiQAIAEQxAEgAkEIaiABEFQgAigCDEEANgIAIAEpAgAhAyABEAQgACADQiiIPAABIAAgA0IgiKdBAXE6AAAgAkEQaiQACz4BAX8jAEEQayIEJAAgABBRIAEQUSACEFEgBEEIaiADEBMgBC0ACEEBcSAELQAJQQFxEHoQrAEgBEEQaiQAC0kBAX8gABBRIQAgARBRIQFBCEEEELoBIgIgAUH/AXFBDHQgAEESdHIiAEGA4ANxQQh0IABBCHZBgP4DcXJBCHatQiCGNwIAIAILDAAgACABQcsAEPYBCwwAIAAgAUHMABD2AQsMACAAIAFBzQAQ9gELDAAgACABQc4AEPYBCwwAIAAgAUHPABD2AQsMACAAIAFB0AAQ9gELPAEBfyMAQRBrIgQkACAAEFEgARBRIAIQUSAEQQhqIAMQHSAELQAIQQFxIAQtAAkQvgEQrAEgBEEQaiQAC0gAIAAQxAEgACgCAEF/RgRAEM4BAAsgAC8ABCAAQQZqLQAAQRB0chDVASIAQYD+A3FBCHQgAEEIdkGA/gNxIABBGHZychC8AQsLACAAIAFBBxD3AQs/AQJ/AkAgABBRIgBBGHENACAAQQdxIgJBB0YNAEEIQQQQugEiASAAQQV2QQFxrUIghiACrUIohoQ3AgALIAELCwAgACABQQgQ9wELPwAgAkEWdEGAgIAGcSABQf8BcUEMdCIBIAJB/AFxQQZ0ckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCwsAIAAgAUEKEPgBCwsAIAAgAUEMEPgBCwsAIAAgAUEUEPgBCwsAIAAgAUEWEPgBCwsAIAAgAUEZEPgBCwsAIAAgAUEbEPgBCwsAIAAgAUEeEPgBCwsAIAAgAUEfEPgBCwsAIAAgAUEkEPgBCwsAIAAgAUEyEPgBCz8AIAAQUSEAIAEQUyIBQRB0QYCA/AdxIABB/wFxQRJ0IAFyIgBBgP4DcUEIdCAAQQh2QYD+A3FyQQh2chCsAQtAAQF/IAAQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgAEEIdkGA/gNxIABBgP4DcUEIdHJBCHZyrUIghjcCACABCzgAIAJBEHRBgID8B3EgAUH/AXFBDHQiASACckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCzwBAn8jAEEQayIBJAAgABDEASABQQhqIAAQSyABKAIILQABIAEoAgwiAiACKAIAQQFrNgIAIAFBEGokAAs8AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEEsgASgCCC0AACABKAIMIgIgAigCAEEBazYCACABQRBqJAALOQEBfyMAQRBrIgIkACAAEMQBIAJBCGogABBUIAIoAgwgAigCCCABQQBHOgAAQQA2AgAgAkEQaiQACzkBAX8jAEEQayICJAAgABDEASACQQhqIAAQVCACKAIMIAIoAgggAUEARzoAAUEANgIAIAJBEGokAAs4AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEFQgASgCDEEANgIAIAAtAAQgABAEIAFBEGokAEEBcQs3AQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggtAAQgASgCDCICIAIoAgBBAWs2AgAgAUEQaiQACzcBAn8jAEEQayIBJAAgAUEIaiAAEEogASgCCCgCACABKAIMIgIgAigCAEEBazYCACABQRBqJAALCgAgAEHVABD5AQsKACAAQdYAEPkBCwoAIABB1wAQ+QELCgAgAEHaABD5AQsKACAAQdsAEPkBCwoAIABB3AAQ+QELCgAgAEHdABD5AQs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAwANARoLIAMNAUEACw8LIAAgA0EAIAEoAgwRAAALMQEBfyMAQRBrIgEkACABQQhqIAAQHSABLQAJIAEtAAhBBXRBIHFyELsBIAFBEGokAAuhAgEBfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQbiGwAA2AhAgAkHoiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHoiMAANgIIIABBKzYCHCAAQZCIwAA2AhggACAAQRhqNgIAIABB2IjAABBJAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQdiJwABB2InAACgCACIAQQFqNgIAAkAgAEEASA0AQaSNwAAtAABBAXENAEGkjcAAQQE6AABBoI3AAEGgjcAAKAIAQQFqNgIAQdSJwAAoAgBBAEgNAEGkjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxAEgASgCACICQX9GBEAQzgEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQzgEACzUBAX8gAEE2TwRAQeCCwABBGRDSAQALQQxBBBC6ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUSABEFEgAhBRIAMQURASIQBBCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMQBIAAoAgBBf0YEQBDOAQALIAAvAAQgAEEGai0AAEEQdHIQyAEQuwELLAAgABBRIAEQUSACEFEQKyEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELLAAgABBRIAEQUSACEFIQOCEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDNAQALEM4BAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM0BAAsQzgEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzQEACxDOAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LEM4BAAspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeQAchDFARC8AQspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeUAchDFARC8AQslAQF/IAAQUSEAQQhBBBC6ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ0gEACyABAX8gABDEASAAKAIABEAQzgEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvQEgARC9ASACEDhBCHRBygByEMUBELwBCx4AAkAgAARAIAAoAgANASAAEAQPCxDNAQALEM4BAAsPACAAIAEgAiADQRIQ7gELDwAgACABIAIgA0EYEO4BCw8AIAAgASACIANBHBDuAQsPACAAIAEgAiADQR0Q7gELDwAgACABIAIgA0EiEO4BCw8AIAAgASACIANBIxDuAQsPACAAIAEgAiADQSgQ7gELDwAgACABIAIgA0EqEO4BCw8AIAAgASACIANBLBDuAQsPACAAIAEgAiADQTgQ7gELEAAgACABIAIgA0HTABDvAQsQACAAIAEgAiADQdQAEO8BCxAAIAAgASACIANB3gAQ7wELEAAgACABIAIgA0HfABDvAQsQACAAIAEgAiADQeAAEO8BCxAAIAAgASACIANB4QAQ7wELEAAgACABIAIgA0HiABDvAQsQACAAIAEgAiADQeMAEO8BCxAAIAAgASACIANB5AAQ7wELEAAgACABIAIgA0HlABDvAQsQACAAIAEgAiADQeYAEO4BCxAAIAAgASACIANB5wAQ7gELEAAgACABIAIgA0HoABDuAQsQACAAIAEgAiADQekAEO4BCxAAIAAgASACIANB6gAQ7gELEAAgACABIAIgA0HrABDuAQsQACAAIAEgAiADQewAEO4BCx0BAX8jAEEQayIBJAAgAUEIaiAAEB0gAUEQaiQACx0BAX8jAEEQayIBJAAgAUEIaiAAEBMgAUEQaiQACx8AIAEQWCEBIAAQvQEgARC3AUEIdEHMAHIQxQEQvAELGQAgACABIAJBIEEAIAQbQRBBACADG3IQEgsNACAAIAEgAkEBEPABCw0AIAAgASACQQIQ8AELDQAgACABIAJBAxDwAQsNACAAIAEgAkEEEPABCw0AIAAgASACQQUQ8AELDQAgACABIAJBBhDwAQsNACAAIAEgAkEHEPABCw0AIAAgASACQQgQ8AELDQAgACABIAJBCRDwAQsNACAAIAEgAkELEPABCw0AIAAgASACQQ0Q8AELDQAgACABIAJBDhDwAQsNACAAIAEgAkEPEPABCw0AIAAgASACQRAQ8AELDQAgACABIAJBERDwAQsNACAAIAEgAkEXEPABCw0AIAAgASACQSEQ8AELDQAgACABIAJBJhDwAQsNACAAIAEgAkEnEPABCw0AIAAgASACQSkQ8AELDQAgACABIAJBKxDwAQsNACAAIAEgAkEtEPABCw0AIAAgASACQS4Q8AELDQAgACABIAJBLxDwAQsNACAAIAEgAkEwEPABCw0AIAAgASACQTEQ8AELDQAgACABIAJBNRDwAQsNACAAIAEgAkE3EPABCw0AIAAgASACQTkQ8QELDQAgACABIAJBOhDxAQsNACAAIAEgAkE7EPEBCw0AIAAgASACQTwQ8QELDQAgACABIAJBPRDxAQsNACAAIAEgAkE+EPEBCw0AIAAgASACQT8Q8QELDgAgACABIAJBwAAQ8QELDgAgACABIAJBwQAQ8QELDgAgACABIAJBwgAQ8QELDgAgACABIAJBwwAQ8QELDgAgACABIAJBxAAQ8QELDgAgACABIAJBxQAQ8QELDgAgACABIAJBxgAQ8QELDgAgACABIAJBxwAQ8QELDgAgACABIAJByAAQ8QELDgAgACABIAJByQAQ8QELDgAgACABIAJBygAQ8QELDgAgACABIAJB0QAQ8QELDgAgACABIAJB0gAQ8QELGAEBfyAAQf8BcUE/TQR/IAAQuwEFQQALCx4BAX9BCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQsbACAAEMQBIAAoAgBBf0YEQBDOAQALIAAtAAQLCQAgAEETEPMBCwkAIABBFRDzAQsJACAAQRoQ8wELCQAgAEEgEPMBCwkAIABBJRDzAQsJACAAQTQQ8wELCQAgAEE2EPMBCwoAIABB2AAQ8wELCgAgAEHZABDzAQsXACABQRB0QYCA/AdxIABBAnRB/AFxcgsXACAAEMQBIAAoAgAEQBDOAQALIAAQBAscACAAEL0BIAEQvQEgAhC9ARArQQh0EMUBELwBCxIAIAEgABDHASIABEAgAA8LAAsbAQF/QQhBBBC6ASIBIAA6AAQgAUEANgIAIAELGwEBf0EIQQQQugEiASAANgIEIAFBADYCACABC24AIABB/wFxQcAATwRAIwBBMGsiACQAIABBIjYCDCAAQYCAwAA2AgggAEEcakIBNwIAIABBATYCFCAAQbCGwAA2AhAgAEEBNgIsIAAgAEEoajYCGCAAIABBCGo2AiggAEEQakG4gMAAEEkACyAACxQAIAAgASACQSBBACADGyAEchASCxgAIAAQUSABEFEgAhBRIAMQPRDCARCsAQsXACAAEFEgARBRIAIQUSADEFEQEhCsAQsTACAAEFEgARBRIAIQBRA4EKwBCxEAIAAgASACQSBBACADGxASCxMAIAAQUSABEFEgAhBSEDgQrAELDAAgAARADwsQzQEACxQBAX9BBEEBELoBIgEgADYAACABCxQBAX9BCEEEELoBIgBCADcC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", imports);
28386
+ return _loadWasmModule(1, null, "AGFzbQEAAAABQAtgA39/fwF/YAF/AX9gBH9/f38Bf2ACf38Bf2AAAX9gAn9/AGABfwBgBX9/f39/AX9gA39/fwBgAABgAn5/AX8CGAEDd2JnEF9fd2JpbmRnZW5fdGhyb3cABQP7AfkBAQMKBgEFBQUBBQEBAQEBAQECBQICAQEDAgICAgUCAwMDAwMDAwIBBQEFAAMDAwMDAwMDAwMDAQABAQUFAQEBAQEBAQEBAQIBBQUFAwIBAAABAQEFAgIBAQYABgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGAwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEDBgADAQEBBwICAAIABgEEAwEDBQgBCQkDAwMFAQEBBgYGBgQEBAQEBAQEBAQEBAQEBAQEBAQGBwcCAgIDBwcACAADBAUBcAEHBwUDAQARBgkBfwFBgIDAAAsHxEvBBQZtZW1vcnkCABZfX3diZ19jb21wYXJlYXJnc19mcmVlAHcaX193YmdfZ2V0X2NvbXBhcmVhcmdzX21vZGUAORpfX3diZ19zZXRfY29tcGFyZWFyZ3NfbW9kZQAoIl9fd2JnX2dldF9jb21wYXJlYXJnc19pbmRpcmVjdF9yaHMAOiJfX3diZ19zZXRfY29tcGFyZWFyZ3NfaW5kaXJlY3RfcmhzADsSY29tcGFyZWFyZ3NfdG9faW1tAEgUY29tcGFyZWFyZ3NfZnJvbV9pbW0AKRVfX3diZ19nZXRfbWF0aGFyZ3Nfb3AAORVfX3diZ19zZXRfbWF0aGFyZ3Nfb3AAKhJfX3diZ19tdWxhcmdzX2ZyZWUAeB5fX3diZ19nZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAOR5fX3diZ19zZXRfbXVsYXJnc19pbmRpcmVjdF9yaHMAPBJfX3diZ19kaXZhcmdzX2ZyZWUA1gEeX193YmdfZ2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzAK0BIXBhbmljaW5zdHJ1Y3Rpb25fZXJyb3JfdHlwZXNjcmlwdABMF3BhbmljaW5zdHJ1Y3Rpb25fcmVhc29uAD4ccGFuaWNpbnN0cnVjdGlvbl9pbnN0cnVjdGlvbgA/DGdtX2Zyb21fYXJncwDJAQ1ndGZfZnJvbV9hcmdzAMEBB2dtX2FyZ3MAeQhndGZfYXJncwBaDndkY21fZnJvbV9hcmdzACYOd2RvcF9mcm9tX2FyZ3MAJg53ZG1sX2Zyb21fYXJncwAeDndkZHZfZnJvbV9hcmdzAL8BCXdkY21fYXJncwAZCXdxY21fYXJncwAaCXdkb3BfYXJncwAbCXdxb3BfYXJncwAcCXdkbWxfYXJncwAUCXdxbWxfYXJncwAVCXdkZHZfYXJncwBVCXdxZHZfYXJncwBWEF9fd2JnX2ltbTA2X2ZyZWUA1wEQX193YmdfaW1tMTJfZnJlZQDYARBfX3diZ19pbW0xOF9mcmVlANkBDl9fd2JnX2FkZF9mcmVlALgBD19fd2JnX25vb3BfZnJlZQBbEmFkZF9uZXdfdHlwZXNjcmlwdABPBmFkZF9yYQAWBmFkZF9yYgALBmFkZF9yYwAPA2FkZAC5AQNhbmQAewNkaXYAfAJlcQB9A2V4cAB+Amd0AH8CbHQAgAEEbWxvZwCBAQRtcm9vAIIBBG1vZF8AgwEFbW92ZV8ALANtdWwAhAEDbm90AC0Cb3IAhQEDc2xsAIYBA3NybACHAQNzdWIAiAEDeG9yAIkBBG1sZHYAXANyZXQArgEEcmV0ZAAuE2Fsb2NfbmV3X3R5cGVzY3JpcHQAVwdhbG9jX3JhAE4EYWxvYwCvAQNtY2wALwNtY3AAigEDbWVxAF0TYmhzaF9uZXdfdHlwZXNjcmlwdAAfBGJoc2gAMARiaGVpALABBGJ1cm4AMRNjYWxsX25ld190eXBlc2NyaXB0AE0HY2FsbF9yZAAXBGNhbGwAXgNjY3AAXwRjcm9vADIEY3NpegAzAmNiALEBA2xkYwCLAQNsb2cAYARsb2dkAGEEbWludAA0BHJ2cnQAsgEEc2N3cQCMAQNzcncAjQEEc3J3cQBiA3N3dwCOAQRzd3dxAGMCdHIAjwEDdHJvAGQEZWNrMQCQAQRlY3IxAJEBBGVkMTkAkgEEazI1NgCTAQRzMjU2AJQBBHRpbWUANRNub29wX25ld190eXBlc2NyaXB0AMYBBG5vb3AA2gEEZmxhZwCzAQNiYWwAlQEDam1wALQBA2puZQCWAQNzbW8AZRNhZGRpX25ld190eXBlc2NyaXB0AFAKYWRkaV9pbW0xMgAMBGFkZGkAlwEEYW5kaQCYAQRkaXZpAJkBBGV4cGkAmgEEbW9kaQCbAQRtdWxpAJwBA29yaQCdAQRzbGxpAJ4BBHNybGkAnwEEc3ViaQCgAQR4b3JpAKEBBGpuZWkAogECbGIAowECbHcApAECc2IApQECc3cApgEEbWNwaQCnARJndGZfbmV3X3R5cGVzY3JpcHQAwwEDZ3RmAKgBBG1jbGkAIBFnbV9uZXdfdHlwZXNjcmlwdAA2CGdtX2ltbTE4AAkCZ20AIQRtb3ZpACIEam56aQAjBGptcGYAJBNqbXBiX25ld190eXBlc2NyaXB0ABgEam1wYgAlBGpuemYAqQEEam56YgCqAQRqbmVmAGYKam5lYl9pbW0wNgAXBGpuZWIAZwJqaQBAE2NmZWlfbmV3X3R5cGVzY3JpcHQANwpjZmVpX2ltbTI0ACcEY2ZlaQBBBGNmc2kAQgNjZmUAtQEDY2ZzALYBBHBzaGwAQwRwc2hoAEQEcG9wbABFBHBvcGgARhN3ZGNtX25ld190eXBlc2NyaXB0AMABBHdkY20AaAR3cWNtAGkEd2RvcABqBHdxb3AAawR3ZG1sAGwEd3FtbABtBHdkZHYAbgR3cWR2AG8Ed2RtZABwBHdxbWQAcQR3ZGFtAHIEd3FhbQBzBHdkbW0AdAR3cW1tAHUEZWNhbAB2Fl9fd2JnX2luc3RydWN0aW9uX2ZyZWUAWRRpbnN0cnVjdGlvbl90b19ieXRlcwAKEGluc3RydWN0aW9uX3NpemUA7AERcmVnaWRfbmV3X2NoZWNrZWQAqwEJcmVnaWRfYmFsANsBCnJlZ2lkX2NnYXMA3AEJcmVnaWRfZXJyAN0BCnJlZ2lkX2ZsYWcA3gEIcmVnaWRfZnAA3wEKcmVnaWRfZ2dhcwDgAQhyZWdpZF9ocADhAQhyZWdpZF9pcwDiAQhyZWdpZF9vZgDjAQlyZWdpZF9vbmUA5AEIcmVnaWRfcGMA5QEJcmVnaWRfcmV0AOYBCnJlZ2lkX3JldGwA5wEIcmVnaWRfc3AA6AEJcmVnaWRfc3BwAOkBDnJlZ2lkX3dyaXRhYmxlAOoBCnJlZ2lkX3plcm8A6wEUcmVnaWRfbmV3X3R5cGVzY3JpcHQA0wELcmVnaWRfdG9fdTgA1AETbW92aV9uZXdfdHlwZXNjcmlwdAAYE21jbGlfbmV3X3R5cGVzY3JpcHQAGBNqbnppX25ld190eXBlc2NyaXB0ABgTam1wZl9uZXdfdHlwZXNjcmlwdAAYEm5vdF9uZXdfdHlwZXNjcmlwdAAfE3JldGRfbmV3X3R5cGVzY3JpcHQAHxNtb3ZlX25ld190eXBlc2NyaXB0AB8SbWNsX25ld190eXBlc2NyaXB0AB8TYnVybl9uZXdfdHlwZXNjcmlwdAAfE2Nyb29fbmV3X3R5cGVzY3JpcHQAHxNjc2l6X25ld190eXBlc2NyaXB0AB8TbWludF9uZXdfdHlwZXNjcmlwdAAfE3RpbWVfbmV3X3R5cGVzY3JpcHQAHxJyZXRfbmV3X3R5cGVzY3JpcHQAVxNiaGVpX25ld190eXBlc2NyaXB0AFcRY2JfbmV3X3R5cGVzY3JpcHQAVxNydnJ0X25ld190eXBlc2NyaXB0AFcTZmxhZ19uZXdfdHlwZXNjcmlwdABXEmptcF9uZXdfdHlwZXNjcmlwdABXEmNmZV9uZXdfdHlwZXNjcmlwdABXEmNmc19uZXdfdHlwZXNjcmlwdABXE21sZHZfbmV3X3R5cGVzY3JpcHQATRJtZXFfbmV3X3R5cGVzY3JpcHQATRJjY3BfbmV3X3R5cGVzY3JpcHQATRJsb2dfbmV3X3R5cGVzY3JpcHQATRNsb2dkX25ld190eXBlc2NyaXB0AE0Tc3J3cV9uZXdfdHlwZXNjcmlwdABNE3N3d3FfbmV3X3R5cGVzY3JpcHQATRJ0cm9fbmV3X3R5cGVzY3JpcHQATRJzbW9fbmV3X3R5cGVzY3JpcHQATRNqbmVmX25ld190eXBlc2NyaXB0AE0Td2RtZF9uZXdfdHlwZXNjcmlwdABNE3dxbWRfbmV3X3R5cGVzY3JpcHQATRN3ZGFtX25ld190eXBlc2NyaXB0AE0Td3FhbV9uZXdfdHlwZXNjcmlwdABNE3dkbW1fbmV3X3R5cGVzY3JpcHQATRN3cW1tX25ld190eXBlc2NyaXB0AE0TZWNhbF9uZXdfdHlwZXNjcmlwdABNEmFuZF9uZXdfdHlwZXNjcmlwdABPEmRpdl9uZXdfdHlwZXNjcmlwdABPEWVxX25ld190eXBlc2NyaXB0AE8SZXhwX25ld190eXBlc2NyaXB0AE8RZ3RfbmV3X3R5cGVzY3JpcHQATxFsdF9uZXdfdHlwZXNjcmlwdABPE21sb2dfbmV3X3R5cGVzY3JpcHQATxNtcm9vX25ld190eXBlc2NyaXB0AE8SbW9kX25ld190eXBlc2NyaXB0AE8SbXVsX25ld190eXBlc2NyaXB0AE8Rb3JfbmV3X3R5cGVzY3JpcHQATxJzbGxfbmV3X3R5cGVzY3JpcHQATxJzcmxfbmV3X3R5cGVzY3JpcHQATxJzdWJfbmV3X3R5cGVzY3JpcHQATxJ4b3JfbmV3X3R5cGVzY3JpcHQATxJtY3BfbmV3X3R5cGVzY3JpcHQATxJsZGNfbmV3X3R5cGVzY3JpcHQATxNzY3dxX25ld190eXBlc2NyaXB0AE8Sc3J3X25ld190eXBlc2NyaXB0AE8Sc3d3X25ld190eXBlc2NyaXB0AE8RdHJfbmV3X3R5cGVzY3JpcHQATxNlY2sxX25ld190eXBlc2NyaXB0AE8TZWNyMV9uZXdfdHlwZXNjcmlwdABPE2VkMTlfbmV3X3R5cGVzY3JpcHQATxNrMjU2X25ld190eXBlc2NyaXB0AE8TczI1Nl9uZXdfdHlwZXNjcmlwdABPEmJhbF9uZXdfdHlwZXNjcmlwdABPEmpuZV9uZXdfdHlwZXNjcmlwdABPE2FuZGlfbmV3X3R5cGVzY3JpcHQAUBNkaXZpX25ld190eXBlc2NyaXB0AFATZXhwaV9uZXdfdHlwZXNjcmlwdABQE21vZGlfbmV3X3R5cGVzY3JpcHQAUBNtdWxpX25ld190eXBlc2NyaXB0AFASb3JpX25ld190eXBlc2NyaXB0AFATc2xsaV9uZXdfdHlwZXNjcmlwdABQE3NybGlfbmV3X3R5cGVzY3JpcHQAUBNzdWJpX25ld190eXBlc2NyaXB0AFATeG9yaV9uZXdfdHlwZXNjcmlwdABQE2puZWlfbmV3X3R5cGVzY3JpcHQAUBFsYl9uZXdfdHlwZXNjcmlwdABQEWx3X25ld190eXBlc2NyaXB0AFARc2JfbmV3X3R5cGVzY3JpcHQAUBFzd19uZXdfdHlwZXNjcmlwdABQE21jcGlfbmV3X3R5cGVzY3JpcHQAUBNqbnpmX25ld190eXBlc2NyaXB0AFATam56Yl9uZXdfdHlwZXNjcmlwdABQDndxY21fZnJvbV9hcmdzACYOd3FvcF9mcm9tX2FyZ3MAJh9fX3diZ19zZXRfbWF0aGFyZ3NfaW5kaXJlY3RfcmhzADseX193Ymdfc2V0X211bGFyZ3NfaW5kaXJlY3RfbGhzADseX193Ymdfc2V0X2RpdmFyZ3NfaW5kaXJlY3RfcmhzADsRamlfbmV3X3R5cGVzY3JpcHQANxNjZnNpX25ld190eXBlc2NyaXB0ADcTcHNobF9uZXdfdHlwZXNjcmlwdAA3E3BzaGhfbmV3X3R5cGVzY3JpcHQANxNwb3BsX25ld190eXBlc2NyaXB0ADcTcG9waF9uZXdfdHlwZXNjcmlwdAA3E3dxb3BfbmV3X3R5cGVzY3JpcHQAwAETd2Rkdl9uZXdfdHlwZXNjcmlwdADAARN3ZG1sX25ld190eXBlc2NyaXB0AMABE3dxY21fbmV3X3R5cGVzY3JpcHQAwAETd3Fkdl9uZXdfdHlwZXNjcmlwdADAAQ53cWR2X2Zyb21fYXJncwC/ARN3ZG9wX25ld190eXBlc2NyaXB0AMABDndxbWxfZnJvbV9hcmdzAB4Td3FtbF9uZXdfdHlwZXNjcmlwdADAARBfX3diZ19yZWdpZF9mcmVlANcBEF9fd2JnX2ltbTI0X2ZyZWUA2QEOX193YmdfbXVsX2ZyZWUAuAEPX193Ymdfam5lYl9mcmVlALgBDl9fd2JnX21jbF9mcmVlALgBDV9fd2JnX2xiX2ZyZWUAuAEKcHNobF9pbW0yNAAnD19fd2JnX3BzaGxfZnJlZQC4AQ9fX3diZ19tdWxpX2ZyZWUAuAEPX193YmdfZXhwaV9mcmVlALgBD19fd2JnX3dkbWRfZnJlZQC4AQ5fX3diZ19tb2RfZnJlZQC4AQ1fX3diZ19vcl9mcmVlALgBD19fd2JnX2Nmc2lfZnJlZQC4AQ9fX3diZ194b3JpX2ZyZWUAuAEPX193YmdfbW92aV9mcmVlALgBD19fd2JnX2puZWZfZnJlZQC4AQ9fX3diZ19zcmxpX2ZyZWUAuAEPX193YmdfbWxvZ19mcmVlALgBDV9fd2JnX3N3X2ZyZWUAuAEPX193YmdfbWNsaV9mcmVlALgBD19fd2JnX2NhbGxfZnJlZQC4AQ9fX3diZ19iaHNoX2ZyZWUAuAEPX193YmdfazI1Nl9mcmVlALgBD19fd2JnX2J1cm5fZnJlZQC4AQ9fX3diZ19qbnppX2ZyZWUAuAEPX193YmdfZWQxOV9mcmVlALgBD19fd2JnX3dkYW1fZnJlZQC4AQ9fX3diZ19hbmRpX2ZyZWUAuAENX193Ymdfc2JfZnJlZQC4AQpwb3BsX2ltbTI0ACcPX193YmdfcG9wbF9mcmVlALgBDl9fd2JnX3Nyd19mcmVlALgBD19fd2JnX3dxbW1fZnJlZQC4AQ9fX3diZ193ZGR2X2ZyZWUAuAEPX193Ymdfam1wYl9mcmVlALgBDl9fd2JnX2puZV9mcmVlALgBBmNmZV9yYQBODl9fd2JnX2NmZV9mcmVlALgBD19fd2JnX2Fsb2NfZnJlZQC4AQ9fX3diZ19zMjU2X2ZyZWUAuAEPX193YmdfbXJvb19mcmVlALgBDV9fd2JnX2x0X2ZyZWUAuAEOX193YmdfZGl2X2ZyZWUAuAEPX193Ymdfd3FvcF9mcmVlALgBDV9fd2JnX3RyX2ZyZWUAuAEPX193YmdfcmV0ZF9mcmVlALgBDV9fd2JnX2x3X2ZyZWUAuAEPX193Ymdfd2RtbV9mcmVlALgBB2ZsYWdfcmEATg9fX3diZ19mbGFnX2ZyZWUAuAENX193YmdfZ3RfZnJlZQC4AQZyZXRfcmEATg5fX3diZ19yZXRfZnJlZQC4AQ1fX3diZ19lcV9mcmVlALgBDl9fd2JnX21lcV9mcmVlALgBHl9fd2JnX2dldF9tdWxhcmdzX2luZGlyZWN0X2xocwA6Dl9fd2JnX3Ntb19mcmVlALgBCGppX2ltbTI0ACcNX193YmdfamlfZnJlZQC4AQ5fX3diZ19zcmxfZnJlZQC4AQ5fX3diZ19zbGxfZnJlZQC4AQ9fX3diZ190aW1lX2ZyZWUAuAEPX193Ymdfc2N3cV9mcmVlALgBD19fd2JnX3dxbWxfZnJlZQC4AQ9fX3diZ19kaXZpX2ZyZWUAuAEOX193YmdfbWNwX2ZyZWUAuAEOX193Ymdfbm90X2ZyZWUAuAEGam1wX3JhAE4OX193Ymdfam1wX2ZyZWUAuAEOX193YmdfYmFsX2ZyZWUAuAEPX193YmdfbG9nZF9mcmVlALgBB2JoZWlfcmEATg9fX3diZ19iaGVpX2ZyZWUAuAEPX193Ymdfam5laV9mcmVlALgBD19fd2JnX2ptcGZfZnJlZQC4AQ9fX3diZ19qbnpmX2ZyZWUAuAEfX193YmdfZ2V0X21hdGhhcmdzX2luZGlyZWN0X3JocwA6D19fd2JnX21vZGlfZnJlZQC4AQ5fX3diZ19vcmlfZnJlZQC4AQ9fX3diZ19lY2sxX2ZyZWUAuAEPX193YmdfZWNhbF9mcmVlALgBD19fd2JnX3Nyd3FfZnJlZQC4AQ5fX3diZ194b3JfZnJlZQC4AQ9fX3diZ19jc2l6X2ZyZWUAuAEPX193YmdfbWludF9mcmVlALgBBmNmc19yYQBODl9fd2JnX2Nmc19mcmVlALgBD19fd2JnX3NsbGlfZnJlZQC4AQ5fX3diZ19sb2dfZnJlZQC4AQ9fX3diZ19tb3ZlX2ZyZWUAuAEOX193YmdfbGRjX2ZyZWUAuAEPX193Ymdfd2RtbF9mcmVlALgBDV9fd2JnX2dtX2ZyZWUAuAEPX193Ymdfd2RjbV9mcmVlALgBD19fd2JnX3N1YmlfZnJlZQC4AQ5fX3diZ190cm9fZnJlZQC4AQ5fX3diZ19ndGZfZnJlZQC4AQdydnJ0X3JhAE4PX193YmdfcnZydF9mcmVlALgBDl9fd2JnX2V4cF9mcmVlALgBD19fd2JnX3dxYW1fZnJlZQC4AQ9fX3diZ193cWR2X2ZyZWUAuAEKcHNoaF9pbW0yNAAnD19fd2JnX3BzaGhfZnJlZQC4AQ9fX3diZ19hZGRpX2ZyZWUAuAEPX193Ymdfd3FtZF9mcmVlALgBD19fd2JnX2VjcjFfZnJlZQC4AQ9fX3diZ19jcm9vX2ZyZWUAuAEKY2ZzaV9pbW0yNAAnD19fd2JnX2NmZWlfZnJlZQC4AQ9fX3diZ19tY3BpX2ZyZWUAuAEPX193Ymdfd2RvcF9mcmVlALgBDl9fd2JnX3N1Yl9mcmVlALgBD19fd2JnX2puemJfZnJlZQC4AQVjYl9yYQBODV9fd2JnX2NiX2ZyZWUAuAEOX193Ymdfc3d3X2ZyZWUAuAEPX193Ymdfc3d3cV9mcmVlALgBD19fd2JnX21sZHZfZnJlZQC4AQ5fX3diZ19jY3BfZnJlZQC4AQ9fX3diZ193cWNtX2ZyZWUAuAEKcG9waF9pbW0yNAAnD19fd2JnX3BvcGhfZnJlZQC4AQ5fX3diZ19hbmRfZnJlZQC4AQpqbXBmX2ltbTE4AAkKam56aV9pbW0xOAAJCm1vdmlfaW1tMTgACQpqbXBiX2ltbTE4AAkKbWNsaV9pbW0xOAAJE2puZWJfbmV3X3R5cGVzY3JpcHQATQp3cWR2X2ltbTA2ABcKd3FtbF9pbW0wNgAXCndkbWxfaW1tMDYAFwp3cW9wX2ltbTA2ABcKd2RvcF9pbW0wNgAXCndxY21faW1tMDYAFwp3ZGR2X2ltbTA2ABcKd2RjbV9pbW0wNgAXCmpuZWZfaW1tMDYAFwZtdWxfcmMADwZtdWxfcmIACwZtdWxfcmEAFgZtY2xfcmIACwZtY2xfcmEAFgdtdWxpX3JiAAsHbXVsaV9yYQAWCm11bGlfaW1tMTIADAdqbmViX3JiAAsHam5lYl9yYQAWB3dkbWRfcmMADwd3ZG1kX3JiAAsHd2RtZF9yYQAWBm1vZF9yYwAPBm1vZF9yYgALBm1vZF9yYQAWBW9yX3JjAA8Fb3JfcmIACwVvcl9yYQAWCmV4cGlfaW1tMTIADAdleHBpX3JiAAsHZXhwaV9yYQAWCnhvcmlfaW1tMTIADAd4b3JpX3JiAAsHeG9yaV9yYQAWB21vdmlfcmEAFgdqbmVmX3JjAA8Ham5lZl9yYgALB2puZWZfcmEAFgpzcmxpX2ltbTEyAAwHc3JsaV9yYgALB3NybGlfcmEAFgdtbG9nX3JjAA8HbWxvZ19yYgALB21sb2dfcmEAFghzd19pbW0xMgAMBXN3X3JiAAsFc3dfcmEAFgdtY2xpX3JhABYHd2RtZF9yZAAXB2puZWJfcmMADwdjYWxsX3JiAAsHY2FsbF9yYQAWB2Joc2hfcmIACwdiaHNoX3JhABYHazI1Nl9yYwAPB2syNTZfcmIACwdrMjU2X3JhABYHYnVybl9yYgALB2J1cm5fcmEAFgdqbnppX3JhABYHZWQxOV9yYwAPB2VkMTlfcmIACwdlZDE5X3JhABYHd2RhbV9yZAAXB3dkYW1fcmMADwd3ZGFtX3JiAAsHd2RhbV9yYQAWCHNiX2ltbTEyAAwFc2JfcmIACwVzYl9yYQAWBnNyd19yYwAPBnNyd19yYgALBnNyd19yYQAWB3dxbW1fcmQAFwd3cW1tX3JjAA8Hd3FtbV9yYgALB3dxbW1fcmEAFgd3ZGR2X3JjAA8Hd2Rkdl9yYgALB3dkZHZfcmEAFgdqbXBiX3JhABYGam5lX3JjAA8Gam5lX3JiAAsGam5lX3JhABYHY2FsbF9yYwAPB2FuZGlfcmIACwdhbmRpX3JhABYHczI1Nl9yYwAPB3MyNTZfcmIACwdzMjU2X3JhABYHbXJvb19yYwAPB21yb29fcmIACwdtcm9vX3JhABYFbHRfcmMADwVsdF9yYgALBWx0X3JhABYGZGl2X3JjAA8GZGl2X3JiAAsGZGl2X3JhABYHd3FvcF9yYwAPB3dxb3BfcmIACwd3cW9wX3JhABYIbGJfaW1tMTIADAVsYl9yYgALBWxiX3JhABYFdHJfcmMADwV0cl9yYgALBXRyX3JhABYHcmV0ZF9yYgALB3JldGRfcmEAFghsd19pbW0xMgAMBWx3X3JiAAsFbHdfcmEAFgd3ZG1tX3JkABcHd2RtbV9yYwAPB3dkbW1fcmIACwd3ZG1tX3JhABYFZ3RfcmMADwVndF9yYgALBWd0X3JhABYFZXFfcmMADwVlcV9yYgALBWVxX3JhABYGbWVxX3JkABcGbWVxX3JjAA8GbWVxX3JiAAsGbWVxX3JhABYGc21vX3JkABcGc21vX3JjAA8Gc21vX3JiAAsGc21vX3JhABYGc3JsX3JjAA8Gc3JsX3JiAAsGc3JsX3JhABYGc2xsX3JjAA8Gc2xsX3JiAAsGc2xsX3JhABYHdGltZV9yYgALB3RpbWVfcmEAFgdzY3dxX3JjAA8Hc2N3cV9yYgALB3Njd3FfcmEAFgd3cW1sX3JjAA8Hd3FtbF9yYgALB3dxbWxfcmEAFgpkaXZpX2ltbTEyAAwHZGl2aV9yYgALB2RpdmlfcmEAFgZtY3BfcmMADwZtY3BfcmIACwZtY3BfcmEAFgZub3RfcmIACwZub3RfcmEAFgZiYWxfcmMADwZiYWxfcmIACwZiYWxfcmEAFgdsb2dkX3JkABcHbG9nZF9yYwAPB2xvZ2RfcmIACwdsb2dkX3JhABYKam5laV9pbW0xMgAMB2puZWlfcmIACwdqbmVpX3JhABYHam1wZl9yYQAWCmpuemZfaW1tMTIADAdqbnpmX3JiAAsHam56Zl9yYQAWE19fd2JnX21hdGhhcmdzX2ZyZWUAdwptb2RpX2ltbTEyAAwHbW9kaV9yYgALB21vZGlfcmEAFglvcmlfaW1tMTIADAZvcmlfcmIACwZvcmlfcmEAFgdlY2sxX3JjAA8HZWNrMV9yYgALB2VjazFfcmEAFgdlY2FsX3JkABcHZWNhbF9yYwAPB2VjYWxfcmIACwdlY2FsX3JhABYHc3J3cV9yZAAXB3Nyd3FfcmMADwdzcndxX3JiAAsHc3J3cV9yYQAWBnhvcl9yYwAPBnhvcl9yYgALBnhvcl9yYQAWB2NzaXpfcmIACwdjc2l6X3JhABYHbWludF9yYgALB21pbnRfcmEAFgpzbGxpX2ltbTEyAAwHc2xsaV9yYgALB3NsbGlfcmEAFgZsb2dfcmQAFwZsb2dfcmMADwZsb2dfcmIACwZsb2dfcmEAFgdtb3ZlX3JiAAsHbW92ZV9yYQAWBmxkY19yYwAPBmxkY19yYgALBmxkY19yYQAWB3dkbWxfcmMADwd3ZG1sX3JiAAsHd2RtbF9yYQAWBWdtX3JhABYHd2RjbV9yYwAPB3dkY21fcmIACwd3ZGNtX3JhABYKc3ViaV9pbW0xMgAMB3N1YmlfcmIACwdzdWJpX3JhABYGdHJvX3JkABcGdHJvX3JjAA8GdHJvX3JiAAsGdHJvX3JhABYJZ3RmX2ltbTEyAAwGZ3RmX3JiAAsGZ3RmX3JhABYGZXhwX3JjAA8GZXhwX3JiAAsGZXhwX3JhABYHd3FhbV9yZAAXB3dxYW1fcmMADwd3cWFtX3JiAAsHd3FhbV9yYQAWB3dxZHZfcmMADwd3cWR2X3JiAAsHd3Fkdl9yYQAWCmFuZGlfaW1tMTIADAdhZGRpX3JiAAsHYWRkaV9yYQAWB3dxbWRfcmQAFwd3cW1kX3JjAA8Hd3FtZF9yYgALB3dxbWRfcmEAFgdlY3IxX3JjAA8HZWNyMV9yYgALB2VjcjFfcmEAFgdjcm9vX3JiAAsHY3Jvb19yYQAWCm1jcGlfaW1tMTIADAdtY3BpX3JiAAsHbWNwaV9yYQAWB3dkb3BfcmMADwd3ZG9wX3JiAAsHd2RvcF9yYQAWBnN1Yl9yYwAPBnN1Yl9yYgALBnN1Yl9yYQAWCmpuemJfaW1tMTIADAdqbnpiX3JiAAsHam56Yl9yYQAWBnN3d19yYwAPBnN3d19yYgALBnN3d19yYQAWB3N3d3FfcmQAFwdzd3dxX3JjAA8Hc3d3cV9yYgALB3N3d3FfcmEAFgdtbGR2X3JkABcHbWxkdl9yYwAPB21sZHZfcmIACwdtbGR2X3JhABYGY2NwX3JkABcGY2NwX3JjAA8GY2NwX3JiAAsGY2NwX3Jh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QYDgA3FyQQx2ELwBIAFBEGokAAtuAQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggiAC8AACAAQQJqLQAAQRB0chDVASEAIAEoAgwiAiACKAIAQQFrNgIAQQhBBBC6ASICIABBCHZBgB5xIABBGHZyOwEEIAJBADYCACABQRBqJAAgAgttAQF/IwBBMGsiASQAIAEgADoADyAAQf8BcUHAAE8EQCABQRxqQgE3AgAgAUECNgIUIAFB9IDAADYCECABQQI2AiwgASABQShqNgIYIAEgAUEPajYCKCABQRBqQYSBwAAQSQALIAFBMGokACAAC24BAX8jAEEwayIBJAAgASAAOwEOIABB//8DcUGAIE8EQCABQRxqQgE3AgAgAUECNgIUIAFBuIHAADYCECABQQM2AiwgASABQShqNgIYIAEgAUEOajYCKCABQRBqQciBwAAQSQALIAFBMGokACAAC10BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDVASIAQR52IABBDnZBPHFyELwBIAFBEGokAAsVACAAQYyCwABB/IHAAEGAgBAQ8gELFgAgAEHQgsAAQcCCwABBgICACBDyAQtMACADQf8BcSABQf8BcUEMdCAAQf8BcUESdHIiACACQf8BcUEGdHJyIgFBEHRBgID8B3EgAEEIdkGA/gNxIAFBgP4DcUEIdHJBCHZyC1UCAX8BfiMAQRBrIgIkACABEMQBIAJBCGogARBUIAIoAgxBADYCACABKQIAIQMgARAEIAAgA0IoiKdBAXE6AAEgACADQiCIp0EBcToAACACQRBqJAALEAAgACABIAIgA0HiABD0AQsQACAAIAEgAiADQeMAEPQBC08BA38jAEEQayIBJAAgAUEIaiAAEEogASgCCCIAQQJqLQAAIQIgAC8AACABKAIMIgMgAygCAEEBazYCACACQRB0chDIARC8ASABQRBqJAALVQEDfyMAQRBrIgEkACABQQhqIAAQSiABKAIIIgBBAmotAAAhAiAALwAAIAEoAgwiAyADKAIAQQFrNgIAIAJBEHRyENUBQRh2QT9xELwBIAFBEGokAAtSAQF/IAAQUSECIAEQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgACACQf8BcUESdHIiAEGA/gNxQQh0IABBCHZBgP4DcXJBCHZyrUIghjcCACABCxAAIAAgASACIANB3gAQ9QELEAAgACABIAIgA0HfABD1AQsQACAAIAEgAiADQeAAEPUBCxAAIAAgASACIANB4QAQ9QELUQIBfwF+IwBBEGsiAiQAIAEQxAEgAkEIaiABEFQgAigCDEEANgIAIAEpAgAhAyABEAQgACADQiiIPAABIAAgA0IgiKdBAXE6AAAgAkEQaiQACz4BAX8jAEEQayIEJAAgABBRIAEQUSACEFEgBEEIaiADEBMgBC0ACEEBcSAELQAJQQFxEHoQrAEgBEEQaiQAC0kBAX8gABBRIQAgARBRIQFBCEEEELoBIgIgAUH/AXFBDHQgAEESdHIiAEGA4ANxQQh0IABBCHZBgP4DcXJBCHatQiCGNwIAIAILDAAgACABQcsAEPYBCwwAIAAgAUHMABD2AQsMACAAIAFBzQAQ9gELDAAgACABQc4AEPYBCwwAIAAgAUHPABD2AQsMACAAIAFB0AAQ9gELPAEBfyMAQRBrIgQkACAAEFEgARBRIAIQUSAEQQhqIAMQHSAELQAIQQFxIAQtAAkQvgEQrAEgBEEQaiQAC0gAIAAQxAEgACgCAEF/RgRAEM4BAAsgAC8ABCAAQQZqLQAAQRB0chDVASIAQYD+A3FBCHQgAEEIdkGA/gNxIABBGHZychC7AQsLACAAIAFBBxD3AQs/AQJ/AkAgABBRIgBBGHENACAAQQdxIgJBB0YNAEEIQQQQugEiASAAQQV2QQFxrUIghiACrUIohoQ3AgALIAELCwAgACABQQgQ9wELPwAgAkEWdEGAgIAGcSABQf8BcUEMdCIBIAJB/AFxQQZ0ckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCwsAIAAgAUEKEPgBCwsAIAAgAUEMEPgBCwsAIAAgAUEUEPgBCwsAIAAgAUEWEPgBCwsAIAAgAUEZEPgBCwsAIAAgAUEbEPgBCwsAIAAgAUEeEPgBCwsAIAAgAUEfEPgBCwsAIAAgAUEkEPgBCwsAIAAgAUEyEPgBCz8AIAAQUSEAIAEQUyIBQRB0QYCA/AdxIABB/wFxQRJ0IAFyIgBBgP4DcUEIdCAAQQh2QYD+A3FyQQh2chCsAQtAAQF/IAAQUyEAQQhBBBC6ASIBIABBEHRBgID8B3EgAEEIdkGA/gNxIABBgP4DcUEIdHJBCHZyrUIghjcCACABCzgAIAJBEHRBgID8B3EgAUH/AXFBDHQiASACckGA/gNxQQh0IAEgAEESdHJBCHZBgP4DcXJBCHZyCzwBAn8jAEEQayIBJAAgABDEASABQQhqIAAQSyABKAIILQABIAEoAgwiAiACKAIAQQFrNgIAIAFBEGokAAs8AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEEsgASgCCC0AACABKAIMIgIgAigCAEEBazYCACABQRBqJAALOQEBfyMAQRBrIgIkACAAEMQBIAJBCGogABBUIAIoAgwgAigCCCABQQBHOgAAQQA2AgAgAkEQaiQACzkBAX8jAEEQayICJAAgABDEASACQQhqIAAQVCACKAIMIAIoAgggAUEARzoAAUEANgIAIAJBEGokAAs4AQJ/IwBBEGsiASQAIAAQxAEgAUEIaiAAEFQgASgCDEEANgIAIAAtAAQgABAEIAFBEGokAEEBcQs3AQJ/IwBBEGsiASQAIAFBCGogABBKIAEoAggtAAQgASgCDCICIAIoAgBBAWs2AgAgAUEQaiQACzcBAn8jAEEQayIBJAAgAUEIaiAAEEogASgCCCgCACABKAIMIgIgAigCAEEBazYCACABQRBqJAALCgAgAEHVABD5AQsKACAAQdYAEPkBCwoAIABB1wAQ+QELCgAgAEHaABD5AQsKACAAQdsAEPkBCwoAIABB3AAQ+QELCgAgAEHdABD5AQs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAwANARoLIAMNAUEACw8LIAAgA0EAIAEoAgwRAAALMQEBfyMAQRBrIgEkACABQQhqIAAQHSABLQAJIAEtAAhBBXRBIHFyELwBIAFBEGokAAuhAgEBfyMAQSBrIgIkACACQQE7ARwgAiABNgIYIAIgADYCFCACQbiGwAA2AhAgAkHoiMAANgIMIAJBDGoiACgCCCIBRQRAIwBBIGsiACQAIABBDGpCADcCACAAQQE2AgQgAEHoiMAANgIIIABBKzYCHCAAQZCIwAA2AhggACAAQRhqNgIAIABB2IjAABBJAAsgAUEMaigCACECAkACQCABKAIEDgIAAAELIAINAAsgAC0AECEBIAAtABEaQdiJwABB2InAACgCACIAQQFqNgIAAkAgAEEASA0AQaSNwAAtAABBAXENAEGkjcAAQQE6AABBoI3AAEGgjcAAKAIAQQFqNgIAQdSJwAAoAgBBAEgNAEGkjcAAQQA6AAAgAUUNAAALAAs1AQF/IAEQxAEgASgCACICQX9GBEAQzgEACyABIAJBAWo2AgAgACABNgIEIAAgAUEEajYCAAsxAQF/IAEoAgAiAkF/RwRAIAEgAkEBajYCACAAIAE2AgQgACABQQRqNgIADwsQzgEACzUBAX8gAEE2TwRAQeCCwABBGRDSAQALQQxBBBC6ASICIAA6AAggAiABNgIEIAJBADYCACACCzAAIAAQUSABEFEgAhBRIAMQURASIQBBCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQstACAAEMQBIAAoAgBBf0YEQBDOAQALIAAvAAQgAEEGai0AAEEQdHIQyAEQvAELLAAgABBRIAEQUSACEFEQKyEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELLAAgABBRIAEQUSACEFIQOCEAQQhBBBC6ASIBIACtQv///weDQiCGNwIAIAELJQEBfwJAIAAEQCAAKAIADQEgAC0ABCAAEAQPCxDNAQALEM4BAAslAQF/AkAgAARAIAAoAgANASAALwEEIAAQBA8LEM0BAAsQzgEACyUBAX8CQCAABEAgACgCAA0BIAAoAgQgABAEDwsQzQEACxDOAQALKAAgASgCAEUEQCABQX82AgAgACABNgIEIAAgAUEEajYCAA8LEM4BAAspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeQAchDFARC7AQspACADED0hAyAAEL0BIAEQvQEgAhC9ASADEMIBQQh0QeUAchDFARC7AQslAQF/IAAQUSEAQQhBBBC6ASIBIABBAnRB/AFxrUIghjcCACABCyAAIABBAWsiAEEFTQRAIABBAWoPC0HggsAAQRkQ0gEACyABAX8gABDEASAAKAIABEAQzgEACyAAKAIEIAAQBBAECyMAIAIQBSECIAAQvQEgARC9ASACEDhBCHRBygByEMUBELsBCx4AAkAgAARAIAAoAgANASAAEAQPCxDNAQALEM4BAAsPACAAIAEgAiADQRIQ7gELDwAgACABIAIgA0EYEO4BCw8AIAAgASACIANBHBDuAQsPACAAIAEgAiADQR0Q7gELDwAgACABIAIgA0EiEO4BCw8AIAAgASACIANBIxDuAQsPACAAIAEgAiADQSgQ7gELDwAgACABIAIgA0EqEO4BCw8AIAAgASACIANBLBDuAQsPACAAIAEgAiADQTgQ7gELEAAgACABIAIgA0HTABDvAQsQACAAIAEgAiADQdQAEO8BCxAAIAAgASACIANB3gAQ7wELEAAgACABIAIgA0HfABDvAQsQACAAIAEgAiADQeAAEO8BCxAAIAAgASACIANB4QAQ7wELEAAgACABIAIgA0HiABDvAQsQACAAIAEgAiADQeMAEO8BCxAAIAAgASACIANB5AAQ7wELEAAgACABIAIgA0HlABDvAQsQACAAIAEgAiADQeYAEO4BCxAAIAAgASACIANB5wAQ7gELEAAgACABIAIgA0HoABDuAQsQACAAIAEgAiADQekAEO4BCxAAIAAgASACIANB6gAQ7gELEAAgACABIAIgA0HrABDuAQsQACAAIAEgAiADQewAEO4BCx0BAX8jAEEQayIBJAAgAUEIaiAAEB0gAUEQaiQACx0BAX8jAEEQayIBJAAgAUEIaiAAEBMgAUEQaiQACx8AIAEQWCEBIAAQvQEgARC3AUEIdEHMAHIQxQEQuwELGQAgACABIAJBIEEAIAQbQRBBACADG3IQEgsNACAAIAEgAkEBEPABCw0AIAAgASACQQIQ8AELDQAgACABIAJBAxDwAQsNACAAIAEgAkEEEPABCw0AIAAgASACQQUQ8AELDQAgACABIAJBBhDwAQsNACAAIAEgAkEHEPABCw0AIAAgASACQQgQ8AELDQAgACABIAJBCRDwAQsNACAAIAEgAkELEPABCw0AIAAgASACQQ0Q8AELDQAgACABIAJBDhDwAQsNACAAIAEgAkEPEPABCw0AIAAgASACQRAQ8AELDQAgACABIAJBERDwAQsNACAAIAEgAkEXEPABCw0AIAAgASACQSEQ8AELDQAgACABIAJBJhDwAQsNACAAIAEgAkEnEPABCw0AIAAgASACQSkQ8AELDQAgACABIAJBKxDwAQsNACAAIAEgAkEtEPABCw0AIAAgASACQS4Q8AELDQAgACABIAJBLxDwAQsNACAAIAEgAkEwEPABCw0AIAAgASACQTEQ8AELDQAgACABIAJBNRDwAQsNACAAIAEgAkE3EPABCw0AIAAgASACQTkQ8QELDQAgACABIAJBOhDxAQsNACAAIAEgAkE7EPEBCw0AIAAgASACQTwQ8QELDQAgACABIAJBPRDxAQsNACAAIAEgAkE+EPEBCw0AIAAgASACQT8Q8QELDgAgACABIAJBwAAQ8QELDgAgACABIAJBwQAQ8QELDgAgACABIAJBwgAQ8QELDgAgACABIAJBwwAQ8QELDgAgACABIAJBxAAQ8QELDgAgACABIAJBxQAQ8QELDgAgACABIAJBxgAQ8QELDgAgACABIAJBxwAQ8QELDgAgACABIAJByAAQ8QELDgAgACABIAJByQAQ8QELDgAgACABIAJBygAQ8QELDgAgACABIAJB0QAQ8QELDgAgACABIAJB0gAQ8QELGAEBfyAAQf8BcUE/TQR/IAAQvAEFQQALCx4BAX9BCEEEELoBIgEgAK1C////B4NCIIY3AgAgAQsbACAAEMQBIAAoAgBBf0YEQBDOAQALIAAtAAQLCQAgAEETEPMBCwkAIABBFRDzAQsJACAAQRoQ8wELCQAgAEEgEPMBCwkAIABBJRDzAQsJACAAQTQQ8wELCQAgAEE2EPMBCwoAIABB2AAQ8wELCgAgAEHZABDzAQsXACABQRB0QYCA/AdxIABBAnRB/AFxcgsXACAAEMQBIAAoAgAEQBDOAQALIAAQBAscACAAEL0BIAEQvQEgAhC9ARArQQh0EMUBELsBCxIAIAEgABDHASIABEAgAA8LAAsbAQF/QQhBBBC6ASIBIAA2AgQgAUEANgIAIAELGwEBf0EIQQQQugEiASAAOgAEIAFBADYCACABC24AIABB/wFxQcAATwRAIwBBMGsiACQAIABBIjYCDCAAQYCAwAA2AgggAEEcakIBNwIAIABBATYCFCAAQbCGwAA2AhAgAEEBNgIsIAAgAEEoajYCGCAAIABBCGo2AiggAEEQakG4gMAAEEkACyAACxQAIAAgASACQSBBACADGyAEchASCxgAIAAQUSABEFEgAhBRIAMQPRDCARCsAQsXACAAEFEgARBRIAIQUSADEFEQEhCsAQsTACAAEFEgARBRIAIQBRA4EKwBCxEAIAAgASACQSBBACADGxASCxMAIAAQUSABEFEgAhBSEDgQrAELDAAgAARADwsQzQEACxQBAX9BBEEBELoBIgEgADYAACABCxQBAX9BCEEEELoBIgBCADcC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", imports);
28387
28387
  }
28388
28388
  async function initWasm2() {
28389
28389
  return await __wbg_init(wasm());
@@ -29470,9 +29470,9 @@ spurious results.`);
29470
29470
  // ../versions/dist/index.mjs
29471
29471
  function getBuiltinVersions() {
29472
29472
  return {
29473
- FORC: "0.59.0",
29474
- FUEL_CORE: "0.26.0",
29475
- FUELS: "0.88.1"
29473
+ FORC: "0.60.0",
29474
+ FUEL_CORE: "0.27.0",
29475
+ FUELS: "0.89.1"
29476
29476
  };
29477
29477
  }
29478
29478
  function parseVersion(version) {
@@ -29894,7 +29894,10 @@ This unreleased fuel-core build may include features and updates not yet support
29894
29894
  }
29895
29895
  return result;
29896
29896
  }
29897
- throw new FuelError(ErrorCode.INVALID_DATA, `invalid data - ${name || ""}`);
29897
+ const nameMessage = name ? ` ${name} -` : "";
29898
+ const message = `invalid data:${nameMessage} ${value}
29899
+ If you are attempting to transform a hex value, please make sure it is being passed as a string and wrapped in quotes.`;
29900
+ throw new FuelError(ErrorCode.INVALID_DATA, message);
29898
29901
  };
29899
29902
  var concatBytes2 = (arrays) => {
29900
29903
  const byteArrays = arrays.map((array) => {
@@ -31179,7 +31182,7 @@ This unreleased fuel-core build may include features and updates not yet support
31179
31182
  constructor(name, coders) {
31180
31183
  const caseIndexCoder = new BigNumberCoder("u64");
31181
31184
  const encodedValueSize = Object.values(coders).reduce(
31182
- (max, coder) => Math.max(max, coder.encodedLength),
31185
+ (min, coder) => Math.min(min, coder.encodedLength),
31183
31186
  0
31184
31187
  );
31185
31188
  super(`enum ${name}`, `enum ${name}`, caseIndexCoder.encodedLength + encodedValueSize);
@@ -31216,7 +31219,7 @@ This unreleased fuel-core build may include features and updates not yet support
31216
31219
  return [caseKey, newOffset];
31217
31220
  }
31218
31221
  decode(data, offset) {
31219
- if (this.#shouldValidateLength && data.length < this.#encodedValueSize) {
31222
+ if (this.#shouldValidateLength && data.length < this.encodedLength) {
31220
31223
  throw new FuelError(ErrorCode.DECODE_ERROR, `Invalid enum data size.`);
31221
31224
  }
31222
31225
  const caseBytes = new BigNumberCoder("u64").decode(data, offset)[0];
@@ -31229,7 +31232,10 @@ This unreleased fuel-core build may include features and updates not yet support
31229
31232
  );
31230
31233
  }
31231
31234
  const valueCoder = this.coders[caseKey];
31232
- const offsetAndCase = offset + WORD_SIZE;
31235
+ const offsetAndCase = offset + this.#caseIndexCoder.encodedLength;
31236
+ if (this.#shouldValidateLength && data.length < offsetAndCase + valueCoder.encodedLength) {
31237
+ throw new FuelError(ErrorCode.DECODE_ERROR, `Invalid enum data size.`);
31238
+ }
31233
31239
  const [decoded, newOffset] = valueCoder.decode(data, offsetAndCase);
31234
31240
  if (isFullyNativeEnum(this.coders)) {
31235
31241
  return this.#decodeNativeEnum(caseKey, newOffset);
@@ -31573,14 +31579,20 @@ This unreleased fuel-core build may include features and updates not yet support
31573
31579
  constructor(abi, argument) {
31574
31580
  this.abi = abi;
31575
31581
  this.name = argument.name;
31576
- const type3 = findTypeById(abi, argument.type);
31577
- this.type = type3.type;
31582
+ const jsonABIType = findTypeById(abi, argument.type);
31583
+ if (jsonABIType.type.length > 256) {
31584
+ throw new FuelError(
31585
+ ErrorCode.INVALID_COMPONENT,
31586
+ `The provided ABI type is too long: ${jsonABIType.type}.`
31587
+ );
31588
+ }
31589
+ this.type = jsonABIType.type;
31578
31590
  this.originalTypeArguments = argument.typeArguments;
31579
31591
  this.components = ResolvedAbiType.getResolvedGenericComponents(
31580
31592
  abi,
31581
31593
  argument,
31582
- type3.components,
31583
- type3.typeParameters ?? ResolvedAbiType.getImplicitGenericTypeParameters(abi, type3.components)
31594
+ jsonABIType.components,
31595
+ jsonABIType.typeParameters ?? ResolvedAbiType.getImplicitGenericTypeParameters(abi, jsonABIType.components)
31584
31596
  );
31585
31597
  }
31586
31598
  static getResolvedGenericComponents(abi, arg, components, typeParameters) {
@@ -33076,10 +33088,10 @@ This unreleased fuel-core build may include features and updates not yet support
33076
33088
  encode(value) {
33077
33089
  const parts = [];
33078
33090
  parts.push(new UpgradePurposeCoder().encode(value.upgradePurpose));
33079
- parts.push(new NumberCoder("u32").encode(value.policyTypes));
33080
- parts.push(new NumberCoder("u16").encode(value.inputsCount));
33081
- parts.push(new NumberCoder("u16").encode(value.outputsCount));
33082
- parts.push(new NumberCoder("u16").encode(value.witnessesCount));
33091
+ parts.push(new NumberCoder("u32", { padToWordSize: true }).encode(value.policyTypes));
33092
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.inputsCount));
33093
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.outputsCount));
33094
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessesCount));
33083
33095
  parts.push(new PoliciesCoder().encode(value.policies));
33084
33096
  parts.push(new ArrayCoder(new InputCoder(), value.inputsCount).encode(value.inputs));
33085
33097
  parts.push(new ArrayCoder(new OutputCoder(), value.outputsCount).encode(value.outputs));
@@ -33091,13 +33103,13 @@ This unreleased fuel-core build may include features and updates not yet support
33091
33103
  let o = offset;
33092
33104
  [decoded, o] = new UpgradePurposeCoder().decode(data, o);
33093
33105
  const upgradePurpose = decoded;
33094
- [decoded, o] = new NumberCoder("u32").decode(data, o);
33106
+ [decoded, o] = new NumberCoder("u32", { padToWordSize: true }).decode(data, o);
33095
33107
  const policyTypes = decoded;
33096
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33108
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33097
33109
  const inputsCount = decoded;
33098
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33110
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33099
33111
  const outputsCount = decoded;
33100
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33112
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33101
33113
  const witnessesCount = decoded;
33102
33114
  [decoded, o] = new PoliciesCoder().decode(data, o, policyTypes);
33103
33115
  const policies = decoded;
@@ -33131,14 +33143,14 @@ This unreleased fuel-core build may include features and updates not yet support
33131
33143
  encode(value) {
33132
33144
  const parts = [];
33133
33145
  parts.push(new B256Coder().encode(value.root));
33134
- parts.push(new NumberCoder("u16").encode(value.witnessIndex));
33135
- parts.push(new NumberCoder("u16").encode(value.subsectionIndex));
33136
- parts.push(new NumberCoder("u16").encode(value.subsectionsNumber));
33137
- parts.push(new NumberCoder("u16").encode(value.proofSetCount));
33138
- parts.push(new NumberCoder("u32").encode(value.policyTypes));
33139
- parts.push(new NumberCoder("u16").encode(value.inputsCount));
33140
- parts.push(new NumberCoder("u16").encode(value.outputsCount));
33141
- parts.push(new NumberCoder("u16").encode(value.witnessesCount));
33146
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessIndex));
33147
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.subsectionIndex));
33148
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.subsectionsNumber));
33149
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.proofSetCount));
33150
+ parts.push(new NumberCoder("u32", { padToWordSize: true }).encode(value.policyTypes));
33151
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.inputsCount));
33152
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.outputsCount));
33153
+ parts.push(new NumberCoder("u16", { padToWordSize: true }).encode(value.witnessesCount));
33142
33154
  parts.push(new ArrayCoder(new B256Coder(), value.proofSetCount).encode(value.proofSet));
33143
33155
  parts.push(new PoliciesCoder().encode(value.policies));
33144
33156
  parts.push(new ArrayCoder(new InputCoder(), value.inputsCount).encode(value.inputs));
@@ -33151,21 +33163,21 @@ This unreleased fuel-core build may include features and updates not yet support
33151
33163
  let o = offset;
33152
33164
  [decoded, o] = new B256Coder().decode(data, o);
33153
33165
  const root = decoded;
33154
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33166
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33155
33167
  const witnessIndex = decoded;
33156
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33168
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33157
33169
  const subsectionIndex = decoded;
33158
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33170
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33159
33171
  const subsectionsNumber = decoded;
33160
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33172
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33161
33173
  const proofSetCount = decoded;
33162
- [decoded, o] = new NumberCoder("u32").decode(data, o);
33174
+ [decoded, o] = new NumberCoder("u32", { padToWordSize: true }).decode(data, o);
33163
33175
  const policyTypes = decoded;
33164
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33176
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33165
33177
  const inputsCount = decoded;
33166
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33178
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33167
33179
  const outputsCount = decoded;
33168
- [decoded, o] = new NumberCoder("u16").decode(data, o);
33180
+ [decoded, o] = new NumberCoder("u16", { padToWordSize: true }).decode(data, o);
33169
33181
  const witnessesCount = decoded;
33170
33182
  [decoded, o] = new ArrayCoder(new B256Coder(), proofSetCount).decode(data, o);
33171
33183
  const proofSet = decoded;
@@ -38706,7 +38718,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
38706
38718
  * @param coin - Coin resource.
38707
38719
  */
38708
38720
  addCoinInput(coin) {
38709
- const { assetId, owner, amount, id, predicate } = coin;
38721
+ const { assetId, owner, amount, id, predicate, predicateData } = coin;
38710
38722
  let witnessIndex;
38711
38723
  if (coin.predicate) {
38712
38724
  witnessIndex = 0;
@@ -38724,7 +38736,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
38724
38736
  assetId,
38725
38737
  txPointer: "0x00000000000000000000000000000000",
38726
38738
  witnessIndex,
38727
- predicate
38739
+ predicate,
38740
+ predicateData
38728
38741
  };
38729
38742
  this.pushInput(input);
38730
38743
  this.addChangeOutput(owner, assetId);
@@ -38736,7 +38749,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
38736
38749
  * @param message - Message resource.
38737
38750
  */
38738
38751
  addMessageInput(message) {
38739
- const { recipient, sender, amount, predicate, nonce, assetId } = message;
38752
+ const { recipient, sender, amount, predicate, nonce, assetId, predicateData } = message;
38740
38753
  let witnessIndex;
38741
38754
  if (message.predicate) {
38742
38755
  witnessIndex = 0;
@@ -38753,7 +38766,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
38753
38766
  recipient: recipient.toB256(),
38754
38767
  amount,
38755
38768
  witnessIndex,
38756
- predicate
38769
+ predicate,
38770
+ predicateData
38757
38771
  };
38758
38772
  this.pushInput(input);
38759
38773
  this.addChangeOutput(recipient, assetId);
@@ -38955,23 +38969,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
38955
38969
  });
38956
38970
  }
38957
38971
  updatePredicateGasUsed(inputs) {
38958
- this.inputs.forEach((i) => {
38959
- let correspondingInput;
38960
- switch (i.type) {
38961
- case InputType.Coin:
38962
- correspondingInput = inputs.find((x) => x.type === InputType.Coin && x.owner === i.owner);
38963
- break;
38964
- case InputType.Message:
38965
- correspondingInput = inputs.find(
38966
- (x) => x.type === InputType.Message && x.sender === i.sender
38967
- );
38968
- break;
38969
- default:
38970
- return;
38971
- }
38972
+ const inputsToExtractGasUsed = inputs.filter(isRequestInputResource);
38973
+ this.inputs.filter(isRequestInputResource).forEach((i) => {
38974
+ const owner = getRequestInputResourceOwner(i);
38975
+ const correspondingInput = inputsToExtractGasUsed.find(
38976
+ (x) => isRequestInputResourceFromOwner(x, Address.fromString(String(owner)))
38977
+ );
38972
38978
  if (correspondingInput && "predicateGasUsed" in correspondingInput && bn(correspondingInput.predicateGasUsed).gt(0)) {
38973
- i.predicate = correspondingInput.predicate;
38974
- i.predicateData = correspondingInput.predicateData;
38975
38979
  i.predicateGasUsed = correspondingInput.predicateGasUsed;
38976
38980
  }
38977
38981
  });
@@ -39282,6 +39286,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
39282
39286
  }
39283
39287
  return this.outputs.length - 1;
39284
39288
  }
39289
+ /**
39290
+ * Calculates the maximum gas for the transaction.
39291
+ *
39292
+ * @param chainInfo - The chain information.
39293
+ * @param minGas - The minimum gas.
39294
+ * @returns the maximum gas.
39295
+ */
39285
39296
  calculateMaxGas(chainInfo, minGas) {
39286
39297
  const { consensusParameters } = chainInfo;
39287
39298
  const {
@@ -39673,13 +39684,13 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
39673
39684
  }
39674
39685
  function getWithdrawFromFuelOperations({
39675
39686
  inputs,
39676
- receipts
39687
+ receipts,
39688
+ baseAssetId
39677
39689
  }) {
39678
39690
  const messageOutReceipts = getReceiptsMessageOut(receipts);
39679
39691
  const withdrawFromFuelOperations = messageOutReceipts.reduce(
39680
39692
  (prevWithdrawFromFuelOps, receipt) => {
39681
- const assetId = "0x0000000000000000000000000000000000000000000000000000000000000000";
39682
- const input = getInputFromAssetId(inputs, assetId);
39693
+ const input = getInputFromAssetId(inputs, baseAssetId);
39683
39694
  if (input) {
39684
39695
  const inputAddress = getInputAccountAddress(input);
39685
39696
  const newWithdrawFromFuelOps = addOperation(prevWithdrawFromFuelOps, {
@@ -39696,7 +39707,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
39696
39707
  assetsSent: [
39697
39708
  {
39698
39709
  amount: receipt.amount,
39699
- assetId
39710
+ assetId: baseAssetId
39700
39711
  }
39701
39712
  ]
39702
39713
  });
@@ -39892,7 +39903,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
39892
39903
  receipts,
39893
39904
  abiMap,
39894
39905
  rawPayload,
39895
- maxInputs
39906
+ maxInputs,
39907
+ baseAssetId
39896
39908
  }) {
39897
39909
  if (isTypeCreate(transactionType)) {
39898
39910
  return [
@@ -39911,7 +39923,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
39911
39923
  rawPayload,
39912
39924
  maxInputs
39913
39925
  }),
39914
- ...getWithdrawFromFuelOperations({ inputs, receipts })
39926
+ ...getWithdrawFromFuelOperations({ inputs, receipts, baseAssetId })
39915
39927
  ];
39916
39928
  }
39917
39929
  return [...getPayProducerOperations(outputs)];
@@ -40044,7 +40056,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40044
40056
  maxInputs,
40045
40057
  gasCosts,
40046
40058
  maxGasPerTx,
40047
- gasPrice
40059
+ gasPrice,
40060
+ baseAssetId
40048
40061
  } = params;
40049
40062
  const gasUsed = getGasUsedFromReceipts(receipts);
40050
40063
  const rawPayload = hexlify(transactionBytes);
@@ -40055,7 +40068,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40055
40068
  receipts,
40056
40069
  rawPayload,
40057
40070
  abiMap,
40058
- maxInputs
40071
+ maxInputs,
40072
+ baseAssetId
40059
40073
  });
40060
40074
  const typeName = getTransactionTypeName(transaction.type);
40061
40075
  const tip = bn(transaction.policies?.find((policy) => policy.type === PolicyType.Tip)?.data);
@@ -40213,6 +40227,7 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40213
40227
  const { gasPerByte, gasPriceFactor, gasCosts, maxGasPerTx } = this.provider.getGasConfig();
40214
40228
  const gasPrice = await this.provider.getLatestGasPrice();
40215
40229
  const maxInputs = this.provider.getChain().consensusParameters.txParameters.maxInputs;
40230
+ const baseAssetId = this.provider.getBaseAssetId();
40216
40231
  const transactionSummary = assembleTransactionSummary({
40217
40232
  id: this.id,
40218
40233
  receipts,
@@ -40225,7 +40240,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40225
40240
  maxInputs,
40226
40241
  gasCosts,
40227
40242
  maxGasPerTx,
40228
- gasPrice
40243
+ gasPrice,
40244
+ baseAssetId
40229
40245
  });
40230
40246
  return transactionSummary;
40231
40247
  }
@@ -40413,7 +40429,6 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40413
40429
  * Constructor to initialize a Provider.
40414
40430
  *
40415
40431
  * @param url - GraphQL endpoint of the Fuel node
40416
- * @param chainInfo - Chain info of the Fuel node
40417
40432
  * @param options - Additional options for the provider
40418
40433
  * @hidden
40419
40434
  */
@@ -40436,10 +40451,14 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40436
40451
  this.operations = this.createOperations();
40437
40452
  this.cache = options.cacheUtxo ? new MemoryCache(options.cacheUtxo) : void 0;
40438
40453
  }
40454
+ /** @hidden */
40439
40455
  static clearChainAndNodeCaches() {
40440
40456
  _Provider.nodeInfoCache = {};
40441
40457
  _Provider.chainInfoCache = {};
40442
40458
  }
40459
+ /**
40460
+ * @hidden
40461
+ */
40443
40462
  static getFetchFn(options) {
40444
40463
  const { retryOptions, timeout } = options;
40445
40464
  return autoRetryFetch(async (...args) => {
@@ -40455,8 +40474,11 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40455
40474
  }
40456
40475
  /**
40457
40476
  * Creates a new instance of the Provider class. This is the recommended way to initialize a Provider.
40477
+ *
40458
40478
  * @param url - GraphQL endpoint of the Fuel node
40459
40479
  * @param options - Additional options for the provider
40480
+ *
40481
+ * @returns A promise that resolves to a Provider instance.
40460
40482
  */
40461
40483
  static async create(url, options = {}) {
40462
40484
  const provider = new _Provider(url, options);
@@ -40465,6 +40487,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40465
40487
  }
40466
40488
  /**
40467
40489
  * Returns the cached chainInfo for the current URL.
40490
+ *
40491
+ * @returns the chain information configuration.
40468
40492
  */
40469
40493
  getChain() {
40470
40494
  const chain = _Provider.chainInfoCache[this.url];
@@ -40478,6 +40502,8 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40478
40502
  }
40479
40503
  /**
40480
40504
  * Returns the cached nodeInfo for the current URL.
40505
+ *
40506
+ * @returns the node information configuration.
40481
40507
  */
40482
40508
  getNode() {
40483
40509
  const node = _Provider.nodeInfoCache[this.url];
@@ -40509,6 +40535,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40509
40535
  }
40510
40536
  /**
40511
40537
  * Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
40538
+ *
40539
+ * @param url - The URL to connect to.
40540
+ * @param options - Additional options for the provider.
40512
40541
  */
40513
40542
  async connect(url, options) {
40514
40543
  this.url = url;
@@ -40517,9 +40546,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40517
40546
  await this.fetchChainAndNodeInfo();
40518
40547
  }
40519
40548
  /**
40520
- * Fetches both the chain and node information, saves it to the cache, and return it.
40549
+ * Return the chain and node information.
40521
40550
  *
40522
- * @returns NodeInfo and Chain
40551
+ * @returns A promise that resolves to the Chain and NodeInfo.
40523
40552
  */
40524
40553
  async fetchChainAndNodeInfo() {
40525
40554
  const chain = await this.fetchChain();
@@ -40530,6 +40559,9 @@ ${PANIC_DOC_URL}#variant.${statusReason}`;
40530
40559
  nodeInfo
40531
40560
  };
40532
40561
  }
40562
+ /**
40563
+ * @hidden
40564
+ */
40533
40565
  static ensureClientVersionIsSupported(nodeInfo) {
40534
40566
  const { isMajorSupported, isMinorSupported, supportedVersion } = checkFuelCoreVersionCompatibility(nodeInfo.nodeVersion);
40535
40567
  if (!isMajorSupported || !isMinorSupported) {
@@ -40545,6 +40577,7 @@ Supported fuel-core version: ${supportedVersion}.`
40545
40577
  * Create GraphQL client and set operations.
40546
40578
  *
40547
40579
  * @returns The operation SDK object
40580
+ * @hidden
40548
40581
  */
40549
40582
  createOperations() {
40550
40583
  const fetchFn = _Provider.getFetchFn(this.options);
@@ -40589,18 +40622,18 @@ Supported fuel-core version: ${supportedVersion}.`
40589
40622
  return nodeVersion;
40590
40623
  }
40591
40624
  /**
40592
- * Returns the block number.
40625
+ * Returns the latest block number.
40593
40626
  *
40594
- * @returns A promise that resolves to the block number
40627
+ * @returns A promise that resolves to the latest block number.
40595
40628
  */
40596
40629
  async getBlockNumber() {
40597
40630
  const { chain } = await this.operations.getChain();
40598
40631
  return bn(chain.latestBlock.height, 10);
40599
40632
  }
40600
40633
  /**
40601
- * Returns the chain information.
40602
- * @param url - The URL of the Fuel node
40603
- * @returns NodeInfo object
40634
+ * Returns the node information for the current provider network.
40635
+ *
40636
+ * @returns a promise that resolves to the node information.
40604
40637
  */
40605
40638
  async fetchNode() {
40606
40639
  const { nodeInfo } = await this.operations.getNodeInfo();
@@ -40615,9 +40648,9 @@ Supported fuel-core version: ${supportedVersion}.`
40615
40648
  return processedNodeInfo;
40616
40649
  }
40617
40650
  /**
40618
- * Fetches the `chainInfo` for the given node URL.
40619
- * @param url - The URL of the Fuel node
40620
- * @returns ChainInfo object
40651
+ * Returns the chain information for the current provider network.
40652
+ *
40653
+ * @returns a promise that resolves to the chain information.
40621
40654
  */
40622
40655
  async fetchChain() {
40623
40656
  const { chain } = await this.operations.getChain();
@@ -40626,8 +40659,9 @@ Supported fuel-core version: ${supportedVersion}.`
40626
40659
  return processedChain;
40627
40660
  }
40628
40661
  /**
40629
- * Returns the chain ID
40630
- * @returns A promise that resolves to the chain ID number
40662
+ * Returns the chain ID for the current provider network.
40663
+ *
40664
+ * @returns A promise that resolves to the chain ID number.
40631
40665
  */
40632
40666
  getChainId() {
40633
40667
  const {
@@ -40636,9 +40670,9 @@ Supported fuel-core version: ${supportedVersion}.`
40636
40670
  return chainId.toNumber();
40637
40671
  }
40638
40672
  /**
40639
- * Returns the base asset ID for the current provider network
40673
+ * Returns the base asset ID for the current provider network.
40640
40674
  *
40641
- * @returns the base asset ID
40675
+ * @returns the base asset ID.
40642
40676
  */
40643
40677
  getBaseAssetId() {
40644
40678
  const {
@@ -40653,6 +40687,7 @@ Supported fuel-core version: ${supportedVersion}.`
40653
40687
  * the transaction will be mutated and those dependencies will be added.
40654
40688
  *
40655
40689
  * @param transactionRequestLike - The transaction request object.
40690
+ * @param sendTransactionParams - The provider send transaction parameters (optional).
40656
40691
  * @returns A promise that resolves to the transaction response object.
40657
40692
  */
40658
40693
  // #region Provider-sendTransaction
@@ -40697,7 +40732,7 @@ Supported fuel-core version: ${supportedVersion}.`
40697
40732
  * the transaction will be mutated and those dependencies will be added.
40698
40733
  *
40699
40734
  * @param transactionRequestLike - The transaction request object.
40700
- * @param utxoValidation - Additional provider call parameters.
40735
+ * @param sendTransactionParams - The provider call parameters (optional).
40701
40736
  * @returns A promise that resolves to the call result object.
40702
40737
  */
40703
40738
  async call(transactionRequestLike, { utxoValidation, estimateTxDependencies = true } = {}) {
@@ -40717,6 +40752,8 @@ Supported fuel-core version: ${supportedVersion}.`
40717
40752
  /**
40718
40753
  * Verifies whether enough gas is available to complete transaction.
40719
40754
  *
40755
+ * @template T - The type of the transaction request object.
40756
+ *
40720
40757
  * @param transactionRequest - The transaction request object.
40721
40758
  * @returns A promise that resolves to the estimated transaction request object.
40722
40759
  */
@@ -40751,9 +40788,8 @@ Supported fuel-core version: ${supportedVersion}.`
40751
40788
  * If there are missing variable outputs,
40752
40789
  * `addVariableOutputs` is called on the transaction.
40753
40790
  *
40754
- *
40755
40791
  * @param transactionRequest - The transaction request object.
40756
- * @returns A promise.
40792
+ * @returns A promise that resolves to the estimate transaction dependencies.
40757
40793
  */
40758
40794
  async estimateTxDependencies(transactionRequest) {
40759
40795
  if (transactionRequest.type === TransactionType.Create) {
@@ -40866,6 +40902,14 @@ Supported fuel-core version: ${supportedVersion}.`
40866
40902
  }
40867
40903
  return results;
40868
40904
  }
40905
+ /**
40906
+ * Dry runs multiple transactions.
40907
+ *
40908
+ * @param transactionRequests - Array of transaction request objects.
40909
+ * @param sendTransactionParams - The provider call parameters (optional).
40910
+ *
40911
+ * @returns A promise that resolves to an array of results for each transaction call.
40912
+ */
40869
40913
  async dryRunMultipleTransactions(transactionRequests, { utxoValidation, estimateTxDependencies = true } = {}) {
40870
40914
  if (estimateTxDependencies) {
40871
40915
  return this.estimateMultipleTxDependencies(transactionRequests);
@@ -40936,6 +40980,7 @@ Supported fuel-core version: ${supportedVersion}.`
40936
40980
  * the transaction will be mutated and those dependencies will be added
40937
40981
  *
40938
40982
  * @param transactionRequestLike - The transaction request object.
40983
+ * @param estimateTxParams - The estimate transaction params (optional).
40939
40984
  * @returns A promise that resolves to the call result object.
40940
40985
  */
40941
40986
  async simulate(transactionRequestLike, { estimateTxDependencies = true } = {}) {
@@ -40960,14 +41005,9 @@ Supported fuel-core version: ${supportedVersion}.`
40960
41005
  * to set gasLimit and also reserve balance amounts
40961
41006
  * on the the transaction.
40962
41007
  *
40963
- * @privateRemarks
40964
- * The tolerance is add on top of the gasUsed calculated
40965
- * from the node, this create a safe margin costs like
40966
- * change states on transfer that don't occur on the dryRun
40967
- * transaction. The default value is 0.2 or 20%
40968
- *
40969
41008
  * @param transactionRequestLike - The transaction request object.
40970
- * @param tolerance - The tolerance to add on top of the gasUsed.
41009
+ * @param transactionCostParams - The transaction cost parameters (optional).
41010
+ *
40971
41011
  * @returns A promise that resolves to the transaction cost object.
40972
41012
  */
40973
41013
  async getTransactionCost(transactionRequestLike, { resourcesOwner, signatureCallback, quantitiesToContract = [] } = {}) {
@@ -41035,6 +41075,15 @@ Supported fuel-core version: ${supportedVersion}.`
41035
41075
  updateMaxFee
41036
41076
  };
41037
41077
  }
41078
+ /**
41079
+ * Get the required quantities and associated resources for a transaction.
41080
+ *
41081
+ * @param owner - address to add resources from.
41082
+ * @param transactionRequestLike - transaction request to populate resources for.
41083
+ * @param quantitiesToContract - quantities for the contract (optional).
41084
+ *
41085
+ * @returns a promise resolving to the required quantities for the transaction.
41086
+ */
41038
41087
  async getResourcesForTransaction(owner, transactionRequestLike, quantitiesToContract = []) {
41039
41088
  const ownerAddress = Address.fromAddressOrString(owner);
41040
41089
  const transactionRequest = transactionRequestify(clone_default(transactionRequestLike));
@@ -41056,6 +41105,12 @@ Supported fuel-core version: ${supportedVersion}.`
41056
41105
  }
41057
41106
  /**
41058
41107
  * Returns coins for the given owner.
41108
+ *
41109
+ * @param owner - The address to get coins for.
41110
+ * @param assetId - The asset ID of coins to get (optional).
41111
+ * @param paginationArgs - Pagination arguments (optional).
41112
+ *
41113
+ * @returns A promise that resolves to the coins.
41059
41114
  */
41060
41115
  async getCoins(owner, assetId, paginationArgs) {
41061
41116
  const ownerAddress = Address.fromAddressOrString(owner);
@@ -41078,8 +41133,8 @@ Supported fuel-core version: ${supportedVersion}.`
41078
41133
  * Returns resources for the given owner satisfying the spend query.
41079
41134
  *
41080
41135
  * @param owner - The address to get resources for.
41081
- * @param quantities - The quantities to get.
41082
- * @param excludedIds - IDs of excluded resources from the selection.
41136
+ * @param quantities - The coin quantities to get.
41137
+ * @param excludedIds - IDs of excluded resources from the selection (optional).
41083
41138
  * @returns A promise that resolves to the resources.
41084
41139
  */
41085
41140
  async getResourcesToSpend(owner, quantities, excludedIds) {
@@ -41134,7 +41189,7 @@ Supported fuel-core version: ${supportedVersion}.`
41134
41189
  * Returns block matching the given ID or height.
41135
41190
  *
41136
41191
  * @param idOrHeight - ID or height of the block.
41137
- * @returns A promise that resolves to the block.
41192
+ * @returns A promise that resolves to the block or null.
41138
41193
  */
41139
41194
  async getBlock(idOrHeight) {
41140
41195
  let variables;
@@ -41264,7 +41319,7 @@ Supported fuel-core version: ${supportedVersion}.`
41264
41319
  * Returns balances for the given owner.
41265
41320
  *
41266
41321
  * @param owner - The address to get coins for.
41267
- * @param paginationArgs - Pagination arguments.
41322
+ * @param paginationArgs - Pagination arguments (optional).
41268
41323
  * @returns A promise that resolves to the balances.
41269
41324
  */
41270
41325
  async getBalances(owner, paginationArgs) {
@@ -41283,7 +41338,7 @@ Supported fuel-core version: ${supportedVersion}.`
41283
41338
  * Returns message for the given address.
41284
41339
  *
41285
41340
  * @param address - The address to get message from.
41286
- * @param paginationArgs - Pagination arguments.
41341
+ * @param paginationArgs - Pagination arguments (optional).
41287
41342
  * @returns A promise that resolves to the messages.
41288
41343
  */
41289
41344
  async getMessages(address, paginationArgs) {
@@ -41314,8 +41369,8 @@ Supported fuel-core version: ${supportedVersion}.`
41314
41369
  *
41315
41370
  * @param transactionId - The transaction to get message from.
41316
41371
  * @param messageId - The message id from MessageOut receipt.
41317
- * @param commitBlockId - The commit block id.
41318
- * @param commitBlockHeight - The commit block height.
41372
+ * @param commitBlockId - The commit block id (optional).
41373
+ * @param commitBlockHeight - The commit block height (optional).
41319
41374
  * @returns A promise that resolves to the message proof.
41320
41375
  */
41321
41376
  async getMessageProof(transactionId, nonce, commitBlockId, commitBlockHeight) {
@@ -41403,10 +41458,21 @@ Supported fuel-core version: ${supportedVersion}.`
41403
41458
  data
41404
41459
  };
41405
41460
  }
41461
+ /**
41462
+ * Get the latest gas price from the node.
41463
+ *
41464
+ * @returns A promise that resolves to the latest gas price.
41465
+ */
41406
41466
  async getLatestGasPrice() {
41407
41467
  const { latestGasPrice } = await this.operations.getLatestGasPrice();
41408
41468
  return bn(latestGasPrice.gasPrice);
41409
41469
  }
41470
+ /**
41471
+ * Returns the estimate gas price for the given block horizon.
41472
+ *
41473
+ * @param blockHorizon - The block horizon to estimate gas price for.
41474
+ * @returns A promise that resolves to the estimated gas price.
41475
+ */
41410
41476
  async estimateGasPrice(blockHorizon) {
41411
41477
  const { estimateGasPrice } = await this.operations.estimateGasPrice({
41412
41478
  blockHorizon: String(blockHorizon)
@@ -41426,8 +41492,8 @@ Supported fuel-core version: ${supportedVersion}.`
41426
41492
  /**
41427
41493
  * Lets you produce blocks with custom timestamps and the block number of the last block produced.
41428
41494
  *
41429
- * @param amount - The amount of blocks to produce
41430
- * @param startTime - The UNIX timestamp (milliseconds) to set for the first produced block
41495
+ * @param amount - The amount of blocks to produce.
41496
+ * @param startTime - The UNIX timestamp (milliseconds) to set for the first produced block (optional).
41431
41497
  * @returns A promise that resolves to the block number of the last produced block.
41432
41498
  */
41433
41499
  async produceBlocks(amount, startTime) {
@@ -41437,6 +41503,12 @@ Supported fuel-core version: ${supportedVersion}.`
41437
41503
  });
41438
41504
  return bn(latestBlockHeight);
41439
41505
  }
41506
+ /**
41507
+ * Get the transaction response for the given transaction ID.
41508
+ *
41509
+ * @param transactionId - The transaction ID to get the response for.
41510
+ * @returns A promise that resolves to the transaction response.
41511
+ */
41440
41512
  // eslint-disable-next-line @typescript-eslint/require-await
41441
41513
  async getTransactionResponse(transactionId) {
41442
41514
  return new TransactionResponse(transactionId, this);
@@ -41445,7 +41517,7 @@ Supported fuel-core version: ${supportedVersion}.`
41445
41517
  * Returns Message for given nonce.
41446
41518
  *
41447
41519
  * @param nonce - The nonce of the message to retrieve.
41448
- * @returns A promise that resolves to the Message object.
41520
+ * @returns A promise that resolves to the Message object or null.
41449
41521
  */
41450
41522
  async getMessageByNonce(nonce) {
41451
41523
  const { message } = await this.operations.getMessageByNonce({ nonce });
@@ -41454,6 +41526,12 @@ Supported fuel-core version: ${supportedVersion}.`
41454
41526
  }
41455
41527
  return message;
41456
41528
  }
41529
+ /**
41530
+ * Get the relayed transaction for the given transaction ID.
41531
+ *
41532
+ * @param relayedTransactionId - The relayed transaction ID to get the response for.
41533
+ * @returns A promise that resolves to the relayed transaction.
41534
+ */
41457
41535
  async getRelayedTransactionStatus(relayedTransactionId) {
41458
41536
  const { relayedTransactionStatus } = await this.operations.getRelayedTransactionStatus({
41459
41537
  relayedTransactionId
@@ -41463,6 +41541,9 @@ Supported fuel-core version: ${supportedVersion}.`
41463
41541
  }
41464
41542
  return relayedTransactionStatus;
41465
41543
  }
41544
+ /**
41545
+ * @hidden
41546
+ */
41466
41547
  extractDryRunError(transactionRequest, receipts, dryRunStatus) {
41467
41548
  const status = dryRunStatus;
41468
41549
  let logs = [];
@@ -41492,7 +41573,9 @@ Supported fuel-core version: ${supportedVersion}.`
41492
41573
  }
41493
41574
  });
41494
41575
  };
41576
+ /** @hidden */
41495
41577
  __publicField(Provider, "chainInfoCache", {});
41578
+ /** @hidden */
41496
41579
  __publicField(Provider, "nodeInfoCache", {});
41497
41580
 
41498
41581
  // src/providers/transaction-summary/get-transaction-summary.ts
@@ -41524,6 +41607,7 @@ Supported fuel-core version: ${supportedVersion}.`
41524
41607
  }
41525
41608
  } = provider.getChain();
41526
41609
  const gasPrice = await provider.getLatestGasPrice();
41610
+ const baseAssetId = provider.getBaseAssetId();
41527
41611
  const transactionInfo = assembleTransactionSummary({
41528
41612
  id: gqlTransaction.id,
41529
41613
  receipts,
@@ -41536,7 +41620,8 @@ Supported fuel-core version: ${supportedVersion}.`
41536
41620
  maxInputs,
41537
41621
  gasCosts,
41538
41622
  maxGasPerTx,
41539
- gasPrice
41623
+ gasPrice,
41624
+ baseAssetId
41540
41625
  });
41541
41626
  return {
41542
41627
  gqlTransaction,
@@ -41551,6 +41636,7 @@ Supported fuel-core version: ${supportedVersion}.`
41551
41636
  const transaction = transactionRequest.toTransaction();
41552
41637
  const transactionBytes = transactionRequest.toTransactionBytes();
41553
41638
  const gasPrice = await provider.getLatestGasPrice();
41639
+ const baseAssetId = provider.getBaseAssetId();
41554
41640
  const transactionSummary = assembleTransactionSummary({
41555
41641
  receipts,
41556
41642
  transaction,
@@ -41561,7 +41647,8 @@ Supported fuel-core version: ${supportedVersion}.`
41561
41647
  maxInputs,
41562
41648
  gasCosts,
41563
41649
  maxGasPerTx,
41564
- gasPrice
41650
+ gasPrice,
41651
+ baseAssetId
41565
41652
  });
41566
41653
  return transactionSummary;
41567
41654
  }
@@ -41577,6 +41664,7 @@ Supported fuel-core version: ${supportedVersion}.`
41577
41664
  }
41578
41665
  } = provider.getChain();
41579
41666
  const gasPrice = await provider.getLatestGasPrice();
41667
+ const baseAssetId = provider.getBaseAssetId();
41580
41668
  const transactions = edges.map((edge) => {
41581
41669
  const { node: gqlTransaction } = edge;
41582
41670
  const { id, rawPayload, status } = gqlTransaction;
@@ -41598,7 +41686,8 @@ Supported fuel-core version: ${supportedVersion}.`
41598
41686
  maxInputs,
41599
41687
  gasCosts,
41600
41688
  maxGasPerTx,
41601
- gasPrice
41689
+ gasPrice,
41690
+ baseAssetId
41602
41691
  });
41603
41692
  const output2 = {
41604
41693
  gqlTransaction,
@@ -41781,12 +41870,16 @@ Supported fuel-core version: ${supportedVersion}.`
41781
41870
  * The provider used to interact with the network.
41782
41871
  */
41783
41872
  _provider;
41873
+ /**
41874
+ * The connector for use with external wallets
41875
+ */
41784
41876
  _connector;
41785
41877
  /**
41786
41878
  * Creates a new Account instance.
41787
41879
  *
41788
41880
  * @param address - The address of the account.
41789
41881
  * @param provider - A Provider instance (optional).
41882
+ * @param connector - A FuelConnector instance (optional).
41790
41883
  */
41791
41884
  constructor(address, provider, connector) {
41792
41885
  super();
@@ -41828,8 +41921,8 @@ Supported fuel-core version: ${supportedVersion}.`
41828
41921
  /**
41829
41922
  * Retrieves resources satisfying the spend query for the account.
41830
41923
  *
41831
- * @param quantities - IDs of coins to exclude.
41832
- * @param excludedIds - IDs of resources to be excluded from the query.
41924
+ * @param quantities - Quantities of resources to be obtained.
41925
+ * @param excludedIds - IDs of resources to be excluded from the query (optional).
41833
41926
  * @returns A promise that resolves to an array of Resources.
41834
41927
  */
41835
41928
  async getResourcesToSpend(quantities, excludedIds) {
@@ -41838,7 +41931,7 @@ Supported fuel-core version: ${supportedVersion}.`
41838
41931
  /**
41839
41932
  * Retrieves coins owned by the account.
41840
41933
  *
41841
- * @param assetId - The asset ID of the coins to retrieve.
41934
+ * @param assetId - The asset ID of the coins to retrieve (optional).
41842
41935
  * @returns A promise that resolves to an array of Coins.
41843
41936
  */
41844
41937
  async getCoins(assetId) {
@@ -41891,7 +41984,7 @@ Supported fuel-core version: ${supportedVersion}.`
41891
41984
  /**
41892
41985
  * Retrieves the balance of the account for the given asset.
41893
41986
  *
41894
- * @param assetId - The asset ID to check the balance for.
41987
+ * @param assetId - The asset ID to check the balance for (optional).
41895
41988
  * @returns A promise that resolves to the balance amount.
41896
41989
  */
41897
41990
  async getBalance(assetId) {
@@ -41931,7 +42024,7 @@ Supported fuel-core version: ${supportedVersion}.`
41931
42024
  * @typeParam T - The type of the TransactionRequest.
41932
42025
  * @param request - The transaction request to fund.
41933
42026
  * @param params - The estimated transaction parameters.
41934
- * @returns The funded transaction request.
42027
+ * @returns A promise that resolves to the funded transaction request.
41935
42028
  */
41936
42029
  async fund(request, params) {
41937
42030
  const { addedSignatures, estimatedPredicates, requiredQuantities, updateMaxFee } = params;
@@ -42024,25 +42117,14 @@ Supported fuel-core version: ${supportedVersion}.`
42024
42117
  *
42025
42118
  * @param destination - The address of the destination.
42026
42119
  * @param amount - The amount of coins to transfer.
42027
- * @param assetId - The asset ID of the coins to transfer.
42028
- * @param txParams - The transaction parameters (gasLimit, tip, maturity, maxFee, witnessLimit).
42120
+ * @param assetId - The asset ID of the coins to transfer (optional).
42121
+ * @param txParams - The transaction parameters (optional).
42029
42122
  * @returns A promise that resolves to the prepared transaction request.
42030
42123
  */
42031
42124
  async createTransfer(destination, amount, assetId, txParams = {}) {
42032
42125
  let request = new ScriptTransactionRequest(txParams);
42033
- const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
42034
- request.addCoinOutput(Address.fromAddressOrString(destination), amount, assetIdToTransfer);
42035
- const txCost = await this.provider.getTransactionCost(request, {
42036
- estimateTxDependencies: true,
42037
- resourcesOwner: this
42038
- });
42039
- request = this.validateGasLimitAndMaxFee({
42040
- transactionRequest: request,
42041
- gasUsed: txCost.gasUsed,
42042
- maxFee: txCost.maxFee,
42043
- txParams
42044
- });
42045
- await this.fund(request, txCost);
42126
+ request = this.addTransfer(request, { destination, amount, assetId });
42127
+ request = await this.estimateAndFundTransaction(request, txParams);
42046
42128
  return request;
42047
42129
  }
42048
42130
  /**
@@ -42050,28 +42132,69 @@ Supported fuel-core version: ${supportedVersion}.`
42050
42132
  *
42051
42133
  * @param destination - The address of the destination.
42052
42134
  * @param amount - The amount of coins to transfer.
42053
- * @param assetId - The asset ID of the coins to transfer.
42054
- * @param txParams - The transaction parameters (gasLimit, maturity).
42135
+ * @param assetId - The asset ID of the coins to transfer (optional).
42136
+ * @param txParams - The transaction parameters (optional).
42055
42137
  * @returns A promise that resolves to the transaction response.
42056
42138
  */
42057
42139
  async transfer(destination, amount, assetId, txParams = {}) {
42058
- if (bn(amount).lte(0)) {
42059
- throw new FuelError(
42060
- ErrorCode.INVALID_TRANSFER_AMOUNT,
42061
- "Transfer amount must be a positive number."
42062
- );
42063
- }
42064
- const assetIdToTransfer = assetId ?? this.provider.getBaseAssetId();
42065
- const request = await this.createTransfer(destination, amount, assetIdToTransfer, txParams);
42140
+ const request = await this.createTransfer(destination, amount, assetId, txParams);
42141
+ return this.sendTransaction(request, { estimateTxDependencies: false });
42142
+ }
42143
+ /**
42144
+ * Transfers multiple amounts of a token to multiple recipients.
42145
+ *
42146
+ * @param transferParams - An array of `TransferParams` objects representing the transfers to be made.
42147
+ * @param txParams - Optional transaction parameters.
42148
+ * @returns A promise that resolves to a `TransactionResponse` object representing the transaction result.
42149
+ */
42150
+ async batchTransfer(transferParams, txParams = {}) {
42151
+ let request = new ScriptTransactionRequest(txParams);
42152
+ request = this.addBatchTransfer(request, transferParams);
42153
+ request = await this.estimateAndFundTransaction(request, txParams);
42066
42154
  return this.sendTransaction(request, { estimateTxDependencies: false });
42067
42155
  }
42156
+ /**
42157
+ * Adds a transfer to the given transaction request.
42158
+ *
42159
+ * @param request - The script transaction request to add transfers to.
42160
+ * @param transferParams - The object representing the transfer to be made.
42161
+ * @returns The updated transaction request with the added transfer.
42162
+ */
42163
+ addTransfer(request, transferParams) {
42164
+ const { destination, amount, assetId } = transferParams;
42165
+ this.validateTransferAmount(amount);
42166
+ request.addCoinOutput(
42167
+ Address.fromAddressOrString(destination),
42168
+ amount,
42169
+ assetId ?? this.provider.getBaseAssetId()
42170
+ );
42171
+ return request;
42172
+ }
42173
+ /**
42174
+ * Adds multiple transfers to a script transaction request.
42175
+ *
42176
+ * @param request - The script transaction request to add transfers to.
42177
+ * @param transferParams - An array of `TransferParams` objects representing the transfers to be made.
42178
+ * @returns The updated script transaction request.
42179
+ */
42180
+ addBatchTransfer(request, transferParams) {
42181
+ const baseAssetId = this.provider.getBaseAssetId();
42182
+ transferParams.forEach(({ destination, amount, assetId }) => {
42183
+ this.addTransfer(request, {
42184
+ destination,
42185
+ amount,
42186
+ assetId: assetId ?? baseAssetId
42187
+ });
42188
+ });
42189
+ return request;
42190
+ }
42068
42191
  /**
42069
42192
  * Transfers coins to a contract address.
42070
42193
  *
42071
42194
  * @param contractId - The address of the contract.
42072
42195
  * @param amount - The amount of coins to transfer.
42073
- * @param assetId - The asset ID of the coins to transfer.
42074
- * @param txParams - The optional transaction parameters.
42196
+ * @param assetId - The asset ID of the coins to transfer (optional).
42197
+ * @param txParams - The transaction parameters (optional).
42075
42198
  * @returns A promise that resolves to the transaction response.
42076
42199
  */
42077
42200
  async transferToContract(contractId, amount, assetId, txParams = {}) {
@@ -42112,7 +42235,7 @@ Supported fuel-core version: ${supportedVersion}.`
42112
42235
  *
42113
42236
  * @param recipient - Address of the recipient on the base chain.
42114
42237
  * @param amount - Amount of base asset.
42115
- * @param txParams - The optional transaction parameters.
42238
+ * @param txParams - The transaction parameters (optional).
42116
42239
  * @returns A promise that resolves to the transaction response.
42117
42240
  */
42118
42241
  async withdrawToBaseLayer(recipient, amount, txParams = {}) {
@@ -42142,6 +42265,14 @@ Supported fuel-core version: ${supportedVersion}.`
42142
42265
  await this.fund(request, txCost);
42143
42266
  return this.sendTransaction(request);
42144
42267
  }
42268
+ /**
42269
+ * Sign a message from the account via the connector.
42270
+ *
42271
+ * @param message - the message to sign.
42272
+ * @returns a promise that resolves to the signature.
42273
+ *
42274
+ * @hidden
42275
+ */
42145
42276
  async signMessage(message) {
42146
42277
  if (!this._connector) {
42147
42278
  throw new FuelError(ErrorCode.MISSING_CONNECTOR, "A connector is required to sign messages.");
@@ -42149,7 +42280,7 @@ Supported fuel-core version: ${supportedVersion}.`
42149
42280
  return this._connector.signMessage(this.address.toString(), message);
42150
42281
  }
42151
42282
  /**
42152
- * Signs a transaction with the wallet's private key.
42283
+ * Signs a transaction from the account via the connector..
42153
42284
  *
42154
42285
  * @param transactionRequestLike - The transaction request to sign.
42155
42286
  * @returns A promise that resolves to the signature of the transaction.
@@ -42167,6 +42298,7 @@ Supported fuel-core version: ${supportedVersion}.`
42167
42298
  * Sends a transaction to the network.
42168
42299
  *
42169
42300
  * @param transactionRequestLike - The transaction request to be sent.
42301
+ * @param sendTransactionParams - The provider send transaction parameters (optional).
42170
42302
  * @returns A promise that resolves to the transaction response.
42171
42303
  */
42172
42304
  async sendTransaction(transactionRequestLike, { estimateTxDependencies = true, awaitExecution } = {}) {
@@ -42188,6 +42320,7 @@ Supported fuel-core version: ${supportedVersion}.`
42188
42320
  * Simulates a transaction.
42189
42321
  *
42190
42322
  * @param transactionRequestLike - The transaction request to be simulated.
42323
+ * @param estimateTxParams - The estimate transaction params (optional).
42191
42324
  * @returns A promise that resolves to the call result.
42192
42325
  */
42193
42326
  async simulateTransaction(transactionRequestLike, { estimateTxDependencies = true } = {}) {
@@ -42197,6 +42330,31 @@ Supported fuel-core version: ${supportedVersion}.`
42197
42330
  }
42198
42331
  return this.provider.simulate(transactionRequest, { estimateTxDependencies: false });
42199
42332
  }
42333
+ /** @hidden * */
42334
+ validateTransferAmount(amount) {
42335
+ if (bn(amount).lte(0)) {
42336
+ throw new FuelError(
42337
+ ErrorCode.INVALID_TRANSFER_AMOUNT,
42338
+ "Transfer amount must be a positive number."
42339
+ );
42340
+ }
42341
+ }
42342
+ /** @hidden * */
42343
+ async estimateAndFundTransaction(transactionRequest, txParams) {
42344
+ let request = transactionRequest;
42345
+ const txCost = await this.provider.getTransactionCost(request, {
42346
+ resourcesOwner: this
42347
+ });
42348
+ request = this.validateGasLimitAndMaxFee({
42349
+ transactionRequest: request,
42350
+ gasUsed: txCost.gasUsed,
42351
+ maxFee: txCost.maxFee,
42352
+ txParams
42353
+ });
42354
+ request = await this.fund(request, txCost);
42355
+ return request;
42356
+ }
42357
+ /** @hidden * */
42200
42358
  validateGasLimitAndMaxFee({
42201
42359
  gasUsed,
42202
42360
  maxFee,
@@ -43801,6 +43959,8 @@ Supported fuel-core version: ${supportedVersion}.`
43801
43959
  * Populates the witness signature for a transaction and sends it to the network using `provider.sendTransaction`.
43802
43960
  *
43803
43961
  * @param transactionRequestLike - The transaction request to send.
43962
+ * @param estimateTxDependencies - Whether to estimate the transaction dependencies.
43963
+ * @param awaitExecution - Whether to wait for the transaction to be executed.
43804
43964
  * @returns A promise that resolves to the TransactionResponse object.
43805
43965
  */
43806
43966
  async sendTransaction(transactionRequestLike, { estimateTxDependencies = false, awaitExecution } = {}) {
@@ -43832,6 +43992,12 @@ Supported fuel-core version: ${supportedVersion}.`
43832
43992
  }
43833
43993
  );
43834
43994
  }
43995
+ /**
43996
+ * Encrypts an unlocked wallet with a password.
43997
+ *
43998
+ * @param password - the password to encrypt the wallet with.
43999
+ * @returns - the encrypted wallet.
44000
+ */
43835
44001
  async encrypt(password) {
43836
44002
  return encryptKeystoreWallet(this.privateKey, this.address, password);
43837
44003
  }
@@ -47133,7 +47299,8 @@ Supported fuel-core version: ${supportedVersion}.`
47133
47299
  );
47134
47300
  return resources.map((resource) => ({
47135
47301
  ...resource,
47136
- predicate: hexlify(this.bytes)
47302
+ predicate: hexlify(this.bytes),
47303
+ predicateData: hexlify(this.getPredicateData())
47137
47304
  }));
47138
47305
  }
47139
47306
  /**