@layerzerolabs/lz-v2-stellar-sdk 0.2.21 → 0.2.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.turbo/turbo-test.log +662 -466
  2. package/LICENSE +23 -0
  3. package/dist/generated/bml.d.ts +101 -106
  4. package/dist/generated/bml.js +108 -26
  5. package/dist/generated/counter.d.ts +123 -484
  6. package/dist/generated/counter.js +103 -25
  7. package/dist/generated/dvn.d.ts +141 -699
  8. package/dist/generated/dvn.js +106 -28
  9. package/dist/generated/dvn_fee_lib.d.ts +31 -248
  10. package/dist/generated/dvn_fee_lib.js +27 -24
  11. package/dist/generated/endpoint.d.ts +158 -836
  12. package/dist/generated/endpoint.js +107 -29
  13. package/dist/generated/executor.d.ts +139 -671
  14. package/dist/generated/executor.js +106 -28
  15. package/dist/generated/executor_fee_lib.d.ts +109 -264
  16. package/dist/generated/executor_fee_lib.js +106 -28
  17. package/dist/generated/executor_helper.d.ts +95 -92
  18. package/dist/generated/executor_helper.js +103 -25
  19. package/dist/generated/layerzero_view.d.ts +178 -335
  20. package/dist/generated/layerzero_view.js +172 -33
  21. package/dist/generated/oft.d.ts +137 -680
  22. package/dist/generated/oft.js +103 -25
  23. package/dist/generated/price_feed.d.ts +45 -444
  24. package/dist/generated/price_feed.js +27 -24
  25. package/dist/generated/sml.d.ts +119 -428
  26. package/dist/generated/sml.js +103 -25
  27. package/dist/generated/treasury.d.ts +109 -288
  28. package/dist/generated/treasury.js +103 -25
  29. package/dist/generated/uln302.d.ts +190 -527
  30. package/dist/generated/uln302.js +170 -31
  31. package/dist/generated/upgrader.d.ts +14 -34
  32. package/dist/generated/upgrader.js +24 -21
  33. package/package.json +8 -9
  34. package/src/generated/bml.ts +120 -141
  35. package/src/generated/counter.ts +141 -572
  36. package/src/generated/dvn.ts +161 -819
  37. package/src/generated/dvn_fee_lib.ts +48 -301
  38. package/src/generated/endpoint.ts +171 -977
  39. package/src/generated/executor.ts +159 -787
  40. package/src/generated/executor_fee_lib.ts +130 -323
  41. package/src/generated/executor_helper.ts +113 -124
  42. package/src/generated/layerzero_view.ts +201 -408
  43. package/src/generated/oft.ts +155 -796
  44. package/src/generated/price_feed.ts +62 -525
  45. package/src/generated/sml.ts +137 -508
  46. package/src/generated/treasury.ts +127 -348
  47. package/src/generated/uln302.ts +212 -627
  48. package/src/generated/upgrader.ts +28 -54
  49. package/test/counter-sml.test.ts +218 -142
  50. package/test/counter-uln.test.ts +189 -145
  51. package/test/oft-sml.test.ts +173 -156
  52. package/test/suites/constants.ts +7 -1
  53. package/test/suites/globalSetup.ts +140 -74
  54. package/turbo.json +1 -1
@@ -6,14 +6,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
6
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
7
7
  /**
8
8
  * Embedded WASM bytecode (base64-encoded)
9
- * Size: 33966 bytes (33.17 KB)
9
+ * Size: 34907 bytes (34.09 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "AGFzbQEAAAABiQEYYAJ+fgF+YAF+AX5gAAF+YAN+fn4BfmAEfn5+fgF+YAABf2ABfwBgAn9/AGABfwF/YAF/AX5gAn5+AX9gAABgAn5/AGABfgBgA39+fgBgBX5/f39/AGACf34AYAJ/fwF+YAN+f38AYAJ+fgBgBH9/f38BfmADf39/AGAEf35+fwBgBX9+fn5+AAK7AR8BbAExAAABYQEwAAEBYgE4AAEBYgEzAAABeAE3AAIBaQEzAAABZAFfAAMBaQE4AAEBaQE3AAEBaQE2AAABbAE2AAEBYgEwAAEBeAEwAAABbAE3AAQBeAExAAABbAEyAAABbAFfAAMBaQEwAAEBaQE1AAEBaQE0AAEBYgFqAAABYgExAAQBbQE5AAMBbQFhAAQBdgFnAAABeAEzAAIBeAE4AAIBbAEwAAABbAE4AAABeAE1AAEBYgFmAAMDUE8FBgcIBQkKCwICBgwLBg0JBg4ADxAQCAgRBxIREQsLAgEHBw0BBgECBwICAgACARMACwUOARQCCwIAABAJAgcHAgILFRUQFRAJFRYWFxcXBQMBABEGIQR/AUGAgMAAC38AQduCwAALfwBB/4TAAAt/AEGAhcAACwfYAhcGbWVtb3J5AgAHZ2V0X2ZlZQAxB3ZlcnNpb24APg1fX2NvbnN0cnVjdG9yAD8HdXBncmFkZQBDB21pZ3JhdGUARQZmcmVlemUARglpc19mcm96ZW4ASAphdXRob3JpemVyAEkFb3duZXIASg1wZW5kaW5nX293bmVyAEwSdHJhbnNmZXJfb3duZXJzaGlwAE0acHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIATxBhY2NlcHRfb3duZXJzaGlwAFUScmVub3VuY2Vfb3duZXJzaGlwAFcTZXh0ZW5kX2luc3RhbmNlX3R0bABYD3NldF90dGxfY29uZmlncwBZC3R0bF9jb25maWdzAFwSZnJlZXplX3R0bF9jb25maWdzAF8VaXNfdHRsX2NvbmZpZ3NfZnJvemVuAGABXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCrpdT1gBAn8jgICAgABBEGsiACSAgICAACAAQQRqEKCAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBChgICAAAtBABCigICAACEBIABBEGokgICAgAAgAUH9AXELDAAgAEEBEN2AgIAACxsAIACtQiCGQgSEIAGtQiCGQgSEEJyAgIAAGgtHAgF/AX5BAiEBAkAgABDngICAACICQgIQpYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAQuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahCggICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQoYCAgAALQQAhAQJAQQAQpICAgAAiAkICEKWAgIAARQ0AQQEhAQJAAkAgAkICEICAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB3oTAgABBBhDjgICAACABKAIADQMgASABKQMIEOaAgIAADAILIAFB5ITAgABBCBDjgICAACABKAIADQIgASABKQMIEOaAgIAADAELIAFB7ITAgABBChDjgICAACABKAIADQEgASABKQMIEOaAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJuAgIAAQgFRCw8AEKeAgIAAEIGAgIAAGgtmAgF/AX4jgICAgABBEGsiACSAgICAACAAEKCAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBChgICAAAsgABCpgICAACAAKQMIIQEgACkDAEGKCBCqgICAACAAQRBqJICAgIAAIAELSgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCpgICAACAAKQMIIQEgACkDAEGKCBCqgICAACABEIGAgIAAGiAAQRBqJICAgIAAIAELUAEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQoICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKGAgIAACyAAEK+AgIAAIAFBEGokgICAgAALKQACQCAAp0EBcUUNAA8LIAFB+ndqrUIghkKDgICA4IABfBCtgICAAAALQgEBfyOAgICAAEEQayIAJICAgIAAIAAQrICAgAACQCAAKQMAUA0AQoOAgICwgQEQrYCAgAAACyAAQRBqJICAgIAAC5MBAgF/An4jgICAgABBEGsiASSAgICAACABQQRqEKCAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBChgICAAAtCACECAkACQEEBEK6AgIAAIgNCABClgICAAEUNACADQgAQgICAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMAIAFBEGokgICAgAAPCwALCwAgABCdgICAABoLkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQfGDwIAAQQwQ44CAgAAgASgCAA0CIAEgASkDCBDmgICAAAwBCyABQeyDwIAAQQUQ44CAgAAgASgCAA0BIAEgASkDCBDmgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC00BAn5CACEBAkACQEEAEK6AgIAAIgJCAhClgICAAEUNACACQgIQgICAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsACygAAkAgAkJ/VQ0AQoOAgICQARCtgICAAAALIAAgATcDACAAIAI3AwgLthwFAn8OfgF/AX4GfyOAgICAAEGwBGsiAiSAgICAAAJAAkAgAEL/AYNCzQBSDQBBACEDAkADQCADQdgARg0BIAJBsANqIANqQgI3AwAgA0EIaiEDDAALCyABQv8Bg0LMAFINACABQZCBwIAAQQsgAkGwA2pBCxCygICAACACKQOwAyIBQv8Bg0IEUg0AIAIpA7gDIgBC/wGDQgRSDQAgAikDwAMiBEL/AYNCBFINACACQZACaiACKQPIAxCzgICAACACKAKQAkEBRg0AIAIpA6gCIQUgAikDoAIhBiACQZACaiACKQPQAxC0gICAACACKAKQAg0AIAIpA5gCIQcgAkGQAmogAikD2AMQtICAgAAgAigCkAINACACKQPgAyIIQv8Bg0IEUg0AIAIpA5gCIQkgAkGQAmogAikD6AMQs4CAgAAgAigCkAJBAUYNACACKQPwAyIKQv8Bg0LIAFINACACKQP4AyILQv8Bg0LNAFINACACKQOABCIMQv8Bg0LNAFINACACKQOoAiENIAIgAikDoAI3A6ACIAIgBjcDkAIgAiAIQiCIpzYC5AIgAiAAQiCIpzYC4AIgAiABQiCIpzYC3AIgAiAEQiCIpzYC2AIgAiAHNwPQAiACIAk3A8gCIAIgCzcDwAIgAiAKNwO4AiACIAw3A7ACIAIgDTcDqAIgAiAFNwOYAiACQbADahCggICAAAJAIAIoArADQQFHDQAgAigCtAMgAigCuAMQoYCAgAALAkAgAikDyAIiDkIAUQ0AIAIpA6gCIQ8gAikDoAIhECACKQPQAiERIAIoAtgCIQMCQCACKQO4AhCCgICAAEKAgICAEFQNACACQQA2AvQCIAIgAkG4AmoiEjYC8AIgAkGQBGqtQiCGQgSEIRMgA0Gv6gFLIRQgAkGwA2pBGGohFSACQbADakEIaiEWIANBsOoBSSEXQQAhA0IAIQdCACEGQQAhGEIAIQxCACEIQgAhBUIAIQBCACEBA0AgGCEZIAMgEikDABCCgICAAEIgiKciGEsNBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMgGEcNACAAIBBWIAEgD1YgASAPURtFDQFCg4CAgPAAEK2AgIAAAAsgAkHwAmoQtYCAgAAaIAJB8AJqELaAgIAAIQMgAkHwAmoQtYCAgAAhEiADQf//A3FFDRMgAiACQfACaiADQX9qQf//A3EQt4CAgAAiBDcD+AJBASEYIBJB/wFxQX9qDgQCAwQOAQsgByAGhEIAUQ0LIAggB3wiByAIVCIDIAUgBnwgA618IgQgBVQgBCAFURtBAUcNBAwSC0KDgICAoAEQrYCAgAAACwJAAkACQCAEEIKAgIAAQiCIIgSnIgNBIEYNACADQRBHDQELIAJBADYClAQgAiACQfgCajYCkAQgAkGwA2ogAkGQBGoQuICAgAAgAikDuAMhCyACKQOwAyENIARCIFENAUIAIQlCACEKDAwLQoOAgIDQABCtgICAAAALIAJBsANqIAJBkARqELiAgIAAIAIpA7gDIQogAikDsAMhCSAUDQogCSAKhEIAUQ0KQoOAgICgARCtgICAAAALIAQQgoCAgABCgICAgHCDQoCAgICABlINByACQQA2AqwDIAIgAkH4Amo2AqgDIAJBgANqIAJBqANqELiAgIAAIAJBqANqQSAQt4CAgAAiBBCCgICAAEKAgICAcINCgICAgIAEUg0GIBVCADcDACACQbADakEQaiIDQgA3AwAgFkIANwMAIAJCADcDsAMgBBCCgICAAEKAgICAcINCgICAgIAEUg0FIAQgAkGwA2pBIBC5gICAACACQZAEakEYaiAVKQMANwMAIAJBkARqQRBqIAMpAwA3AwAgAkGQBGpBCGogFikDADcDACACIAIpA7ADNwOQBCATQoSAgICABBCDgICAABogACACKQOAA3wiCSAAVCIDIAEgAikDiAN8IAOtfCIEIAFUIAQgAVEbDQ8gGSEYIAkhACAEIQEMCgsgFw0CAkAgBBCCgICAAEIgiCINpyIDQSJGDQAgA0ESRw0ECyACQQA2ApQEIAIgAkH4Amo2ApAEIAJBkARqELaAgIAAGiACQbADaiACQZAEahC4gICAACACKQO4AyEEIAIpA7ADIQlCACEKQgAhCwJAIA1CIlINACACQbADaiACQZAEahC4gICAACACKQO4AyELIAIpA7ADIQoLIAkgBIRQDQEgCCAJfCINIAhUIgMgBSAEfCADrXwiBCAFVCAEIAVRGw0OIAAgCnwiCiAAVCIDIAEgC3wgA618IgkgAVQgCSABURsNDiAMQgF8IgxQDQ4gGSEYIA0hCCAEIQUgCiEAIAkhAQwJCyAOIAd8IgcgDlQiA0EAIAQgA618IgVQG0EBRg0NIAJBgAJqIAxCACARQgAQ7YCAgAAgByACKQOAAnwiBiAHVCIDIAUgAikDiAJ8IAOtfCIEIAVUIAQgBVEbDQ0CQCAZQQFxRQ0AIAJB4AFqIARCAELmAEIAEO2AgIAAIAJB8AFqIAZCAELmAEIAEO2AgIAAIAIpA+gBQgBSIAIpA/gBIgQgAikD4AF8IgUgBFRyDQ4gAkHQAWogAikD8AEgBULkAEIAEOyAgIAAIAIpA9gBIQQgAikD0AEhBgsgAikDwAIhBRCEgICAACEHIAI1AtwCQiCGQgSEIQggAjUC2AJCIIZCBIQhCUHIgsCAAEETELqAgIAAIQoCQAJAIAZC//////////8AViAEQgBSIARQGw0AIAZCCIZCCoQhBAwBCyAEIAYQhYCAgAAhBAsgAiAENwOoBCACIAg3A6AEIAIgCTcDmAQgAiAHNwOQBEEAIQMCQANAAkAgA0EgRw0AQQAhAwJAA0AgA0EgRg0BIAJBsANqIANqIAJBkARqIANqKQMANwMAIANBCGohAwwACwsgBSAKIAJBsANqQQQQu4CAgAAQhoCAgAAhBEEAIQMCQANAIANBIEYNASACQZAEaiADakICNwMAIANBCGohAwwACwsgBEL/AYNCzABSDRAgBEGogsCAAEEEIAJBkARqQQQQsoCAgAAgAkGwA2ogAikDkAQQs4CAgAAgAigCsANBAUYNECACKQPIAyELIAIpA8ADIQwgAkGwA2ogAikDmAQQs4CAgAAgAigCsANBAUYNECACKQPIAyENIAIpA8ADIRMgAkGwA2ogAikDoAQQs4CAgAAgAigCsANBAUYNECACKQPIAyEPIAIpA8ADIQ4CQAJAIAIpA6gEIgSnQf8BcSIDQcUARg0AIANBC0cNEiAEQj+HIQYgBEIIhyEIDAELIAQQh4CAgAAhBiAEEIiAgIAAIQgLIAZCf1cNAiACKQOYAiEJIAIpA5ACIQogAkGwAWogBkIAIAIoAuQCIgMgAigC4AIgAxutIgdCABDtgICAACACQcABaiAIQgAgB0IAEO2AgIAAIAIpA7gBQgBSIAIpA8gBIgQgAikDsAF8IgUgBFRyDRAgAkGgAWogAikDwAEgBUKQzgBCABDsgICAACACQbADaiACKQOgASACKQOoARCwgICAACACKQO4AyEEIAIpA7ADIQUCQCAKIAmEUA0AIAwgC4RQDQAgAkGAAWogCUIAQoCt4gRCABDtgICAACACQZABaiAKQgBCgK3iBEIAEO2AgIAAIAIpA4gBQgBSIAIpA5gBIgkgAikDgAF8IgogCVRyQQFGDREgAkHwAGogAikDkAEgCiAMIAsQ7ICAgAAgAkGwA2ogAikDcCACKQN4ELCAgIAAIAIpA7gDIgkgBoVCf4UgCSAJIAZ8IAIpA7ADIgYgCHwiCCAGVK18IgaFg0IAUw0RIAQgBiAFIAhWIAQgBlUgBCAGURsiAxshBCAFIAggAxshBQsCQAJAIAAgAYRQRQ0AQgAhAEIAIQEMAQsgAkHAAGogAUIAIBNCABDtgICAACACQdAAaiANQgAgAEIAEO2AgIAAIAJB4ABqIABCACATQgAQ7YCAgAAgAUIAUiANQgBScSACKQNIQgBSciACKQNYQgBSciACKQNoIgEgAikDQCACKQNQfHwiACABVHINESAOIA+EUA0RIAJBMGogAikDYCAAIA4gDxDsgICAACACQRBqIAIpAzhCACAHQgAQ7YCAgAAgAkEgaiACKQMwQgAgB0IAEO2AgIAAIAIpAxhCAFIgAikDKCIBIAIpAxB8IgAgAVRyDREgAiACKQMgIABCkM4AQgAQ7ICAgAAgAkGwA2ogAikDACACKQMIELCAgIAAIAIpA7gDIQEgAikDsAMhAAsgBCABhUJ/hSAEIAQgAXwgBSAAfCIBIAVUrXwiAIWDQn9XDRACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSAAIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyAAIAEQiYCAgAAhAQsgAkGwBGokgICAgAAgAQ8LIAJBsANqIANqQgI3AwAgA0EIaiEDDAALC0KDgICAMBCtgICAAAALQoOAgICwARCtgICAAAALQoOAgICgARCtgICAAAALQoOAgIDAABCtgICAAAALELyAgIAAAAtCg4CAgICCARCtgICAAAALQoOAgIDgABCtgICAAAALQoOAgIDAARCtgICAAAALIAcgDXwiDSAHVCIDIAYgC3wgA618IgQgBlQgBCAGURsNBSAAIAl8IgsgAFQiAyABIAp8IAOtfCIJIAFUIAkgAVEbDQUgDSEHIAQhBiAZIRggCyEAIAkhAQsgAigC9AIhAyACKALwAiESDAALC0KDgICAgAEQrYCAgAAAC0KDgICAEBCtgICAAAALAAsQvYCAgAAACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCXgICAABoLewIBfwF+AkACQAJAIAGnQf8BcSICQcQARg0AIAJBCkcNAUIAIQMgAEIANwMYIAAgAUIIiDcDEAwCCyABEJKAgIAAIQMgARCTgICAACEBIAAgAzcDGCAAIAE3AxBCACEDDAELIABCg5CAgIABNwMIQgEhAwsgACADNwMAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQkYCAgAAhAQsgACADNwMAIAAgATcDCAuYAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABBARC3gICAACICEIKAgIAAQoCAgIBwg0KAgICAEFINACABQQA6AA8gAhCCgICAAEKAgICAcINCgICAgBBSDQEgAiABQQ9qQQEQuYCAgAAgAS0ADyEAIAFBEGokgICAgAAgAA8LQoOAgICAggEQrYCAgAAACxC8gICAAAALoQECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQCAAQQIQt4CAgAAiAhCCgICAAEKAgICAcINCgICAgCBSDQAgAUEAOwEOIAIQgoCAgABCgICAgHCDQoCAgIAgUg0BIAIgAUEOakECELmAgIAAIAEvAQ4hACABQRBqJICAgIAAIABBCHQgAEEIdnIPC0KDgICAgIIBEK2AgIAAAAsQvICAgAAAC3UCAn8BfgJAAkAgACgCBCICIAFqIgEgAkkNACABIAAoAgAiAykDABCCgICAAEIgiKdLDQEgAykDACACrUIghkIEhCABrUIghkIEhBCegICAACEEIAAgATYCBCAEDwsQvYCAgAAAC0KDgICAgP0AEK2AgIAAAAvRAgIBfwJ+I4CAgIAAQRBrIgIkgICAgAACQAJAIAFBEBC3gICAACIDEIKAgIAAQoCAgIBwg0KAgICAgAJSDQAgAkIANwMIIAJCADcDACADEIKAgIAAQoCAgIBwg0KAgICAgAJSDQEgAyACQRAQuYCAgAAgAikDCCEDIAAgAikDACIEQjiGIARCgP4Dg0IohoQgBEKAgPwHg0IYhiAEQoCAgPgPg0IIhoSEIARCCIhCgICA+A+DIARCGIhCgID8B4OEIARCKIhCgP4DgyAEQjiIhISENwMIIAAgA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDACACQRBqJICAgIAADwtCg4CAgICCARCtgICAAAALELyAgIAAAAsfACAAQgQgAa1CIIZCBIQgAq1CIIZCBIQQlYCAgAAaC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEOKAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwsaACAArUIghkIEhCABrUIghkIEhBCYgICAAAsJABC9gICAAAALCQAQ4YCAgAAAC2gCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQoICAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKGAgIAACyAAQoSAgIAQNwMIIABChgI3AwAgAEECELuAgIAAIQEgAEEQaiSAgICAACABC10AAkACQCAAQv8Bg0LNAFINAEGAyx5BgNIfEMCAgIAAQYDLHkGA0h8QwYCAgABBABCugICAAEICEKWAgIAADQEgABDCgICAAEICDwsAC0KDgICAkIEBEK2AgIAAAAsOAEEBIAAgARDogICAAAsOAEECIAAgARDogICAAAsOAEEAIABCAhDSgICAAAulAQEBfyOAgICAAEEQayIBJICAgIAAAkACQCAAQv8Bg0LIAFINACAAEIKAgIAAQoCAgIBwg0KAgICAgARSDQAgAUEEahCggICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQoYCAgAALEKaAgIAAEJ+AgIAADQFBARDEgICAACAAEIqAgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDAgwEQrYCAgAAACwwAQQEgABDHgICAAAutAQEBfyOAgICAAEEQayIBJICAgIAAAkACQAJAIABC/wGDQsgAUg0AIAFBBGoQoICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKGAgIAACxCmgICAAEEBEKKAgIAAQf0BcUUNASAAEIuAgIAAQv8Bg0ICUg0CQQAQxICAgAAgAUEQaiSAgICAAEICDwsAC0KDgICAsIMBEK2AgIAAAAtCg4CAgKCDARCtgICAAAALWgEBfyOAgICAAEEQayIAJICAgIAAIABBBGoQoICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEKGAgIAACxCmgICAAEEAQQEQx4CAgAAgAEEQaiSAgICAAEICCxoAIAAQ54CAgAAgAa1C/wGDQgIQkICAgAAaCwkAEJ+AgIAArQsIABCngICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKmAgIAAIAApAwAgACkDCBDLgICAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQrICAgAAgACkDACAAKQMIEMuAgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahCggICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQoYCAgAALEKiAgIAAIQIQq4CAgAAgABDCgICAACACIAAQzoCAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQeSCwIAAQRUQuoCAgAAQ04CAgAAhAyACIAA3AwggAiABNwMAIANBjIPAgABBAiACQQIQ1ICAgAAQjoCAgAAaIAJBEGokgICAgAAL3QICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahCggICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQoYCAgAALEKiAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahCsgICAACACKQMQIQEgAikDCEGICBCqgICAACABIAAQjICAgABQRQ0DENCAgIAADAELENGAgIAAIAFCIIinSQ0DQQEgAEIAENKAgIAAQQEQroCAgABCACABQoSAgIBwgyIBIAEQjYCAgAAaQZyDwIAAQRYQuoCAgAAQ04CAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQbiDwIAAQQMgAkEIakEDENSAgIAAEI6AgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABEK2AgIAAAAtCg4CAgPCAARCtgICAAAALEwBBARCugICAAEIAEI+AgIAAGgszAQJ+EJmAgIAAIQACQBCagICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxC9gICAAAALFQAgABCugICAACABIAIQkICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARC7gICAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJaAgIAAC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAEKCAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBChgICAAAsgABCsgICAACAAKQMIIQEgACkDAEGICBCqgICAACABEIGAgIAAGiAAEK+AgIAAAkAgACgCAA0AENaAgIAAAAsgACkDCCECENCAgIAAIAEQwoCAgAAgAiABEM6AgIAAIABBEGokgICAgABCAgsJABC9gICAAAALoAECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQoICAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKGAgIAACxCogICAACEBEKuAgIAAQQAQroCAgABCAhCPgICAABpB0IPAgABBExC6gICAABDTgICAACECIAAgATcDACACQeSDwIAAQQEgAEEBENSAgIAAEI6AgIAAGiAAQRBqJICAgIAAQgILMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQoYCAgABCAg8LAAveBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ2oCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDagICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqEKCAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBChgICAAAsQpoCAgAACQAJAAkAQo4CAgAANABDRgICAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABCtgICAAAALQoOAgIDA/wAQrYCAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBDAgICAAAwBC0EBEKSAgIAAQgIQj4CAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBDBgICAAAwBC0ECEKSAgIAAQgIQj4CAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRBmITAgABBDxC6gICAABDTgICAACEAIAJBKGoQ24CAgAAhASACIAJBNGoQ24CAgAA3A0ggAiABNwNAIABBvITAgABBAiACQcAAakECENSAgIAAEI6AgIAAGiACQdAAaiSAgICAAEICDwsAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARDkgICAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDegICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILxAECAn8BfiOAgICAAEHAAGsiACSAgICAACAAQQhqEKCAgIAAAkAgACgCCEEBRw0AIAAoAgwgACgCEBChgICAAAsgAEEIahCggICAACAAQRRqIgFBAhDdgICAACAAQTBqIABBCGoQ3oCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEN6AgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhC7gICAACECIABBwABqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEKSAgIAAIgRCAhClgICAAEUNACACQQRqIARCAhCAgICAABDkgICAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ5YCAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCggICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQoYCAgAALEKaAgIAAAkAQo4CAgABFDQBCg4CAgOD/ABCtgICAAAALQQAQpICAgABCAUICEJCAgIAAGkHMhMCAAEESELqAgIAAENOAgIAAQQRBACAAQRhqQQAQ1ICAgAAQjoCAgAAaIABBIGokgICAgABCAgsJABCjgICAAK0LAwAAC9sBAgF+BH8CQAJAIAJBCUsNAEIAIQMgAiEEIAEhBQNAAkAgBA0AIANCCIZCDoQhAwwDC0EBIQYCQCAFLQAAIgdB3wBGDQACQCAHQVBqQf8BcUEKSQ0AAkAgB0G/f2pB/wFxQRpJDQAgB0Gff2pB/wFxQRlLDQQgB0FFaiEGDAILIAdBS2ohBgwBCyAHQVJqIQYLIANCBoYgBq1C/wGDhCEDIARBf2ohBCAFQQFqIQUMAAsLIAGtQiCGQgSEIAKtQiCGQgSEEJSAgIAAIQMLIABCADcDACAAIAM3AwgLUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ4oCAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQYiEwIAAQQIgAkECELKAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBiITAgABBAiADQQIQ1ICAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQu4CAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQfaEwIAAQQkQ44CAgAAgASgCAA0CIAEgASkDCBDmgICAAAwBCyABQd6EwIAAQQYQ44CAgAAgASgCAA0BIAEgASkDCBDmgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQpICAgAAhBCADIAEgAhDlgICAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEJCAgIAAGiADQRBqJICAgIAAC1cBAX4CQAJAIANBwABxDQAgA0UNASACQQAgA2tBP3GthiABIANBP3GtIgSIhCEBIAIgBIghAgwBCyACIANBP3GtiCEBQgAhAgsgACABNwMAIAAgAjcDCAtXAQF+AkACQCADQcAAcQ0AIANFDQEgAiADQT9xrSIEhiABQQAgA2tBP3GtiIQhAiABIASGIQEMAQsgASADQT9xrYYhAkIAIQELIAAgATcDACAAIAI3AwgL0QgEAX8BfgN/BH4jgICAgABBsAFrIgUkgICAgABCACEGAkACQAJAAkACQCAEeSADeULAAHwgBEIAUhunIgcgAnkgAXlCwAB8IAJCAFIbpyIITQ0AIAhBP0sNASAHQd8ASw0CIAcgCGtBIEkNAyAFQaABaiADIARB4AAgB2siCRDpgICAACAFNQKgAUIBfCEKQgAhC0IAIQYCQAJAAkACQANAIAVBkAFqIAEgAkHAACAIayIIEOmAgIAAIAUpA5ABIQwCQCAIIAlPDQAgBUHQAGogAyAEIAgQ6YCAgAACQAJAIAUpA1AiClBFDQAMAQsgDCAKgCEMCyAFQcAAaiADIAQgDEIAEO2AgIAAAkAgASAFKQNAIg1UIgggAiAFKQNIIgpUIAIgClEbDQAgAiAKfSAIrX0hAiABIA19IQEgBiALIAx8IgwgC1StfCEGDAsLIAIgBHwgASADfCIEIAFUrXwgCn0gBCANVK19IQIgBCANfSEBIAYgDCALfEJ/fCIMIAtUrXwhBgwKCyAFQYABaiAMIAqAIgxCACAIIAlrIggQ6oCAgAAgBUHwAGogAyAEIAxCABDtgICAACAFQeAAaiAFKQNwIAUpA3ggCBDqgICAACAFKQOIASAGfCAFKQOAASIGIAt8IgsgBlStfCEGIAcgAiAFKQNofSABIAUpA2AiDFStfSICeSABIAx9IgF5QsAAfCACQgBSG6ciCE0NASAIQT9NDQALIANQRQ0BDAILIAEgA1QiCCACIARUIAIgBFEbRQ0CIAshDAwHCyABIAOAIQILIAEgA4IhASAGIAsgAnwiDCALVK18IQZCACECDAULIAIgBH0gCK19IQIgASADfSEBIAYgC0IBfCIMUK18IQYMBAsgAiAEQgAgASADWiACIARaIAIgBFEbIggbfSABIANCACAIGyIEVK19IQIgASAEfSEBIAitIQwMAwsgASABIAOAIgwgA359IQFCACEGQgAhAgwCCyACIAIgA0L/////D4MiBIAiBiADfn1CIIYgAUIgiCIMhCAEgCICQiCGIAwgAiADfn1CIIYgAUL/////D4OEIgEgBIAiA4QhDCABIAMgBH59IQEgAkIgiCAGhCEGQgAhAgwBCyAFQTBqIAMgBEHAACAIayIIEOmAgIAAIAVBIGogASACIAgQ6YCAgABCACEGIAVBEGogA0IAIAUpAyAgBSkDMIAiDEIAEO2AgIAAIAUgBEIAIAxCABDtgICAACAFKQMQIQoCQAJAIAUpAwggBSkDGCINIAUpAwB8IgsgDVStfEIAUg0AIAEgClQiCCACIAtUIAIgC1EbRQ0BCyAEIAJ8IAMgAXwiASADVK18IAt9IAEgClStfSECIAxCf3whDCABIAp9IQEMAQsgAiALfSAIrX0hAiABIAp9IQFCACEGCyAAIAE3AxAgACAMNwMAIAAgAjcDGCAAIAY3AwggBUGwAWokgICAgAALSAEBfyOAgICAAEEgayIFJICAgIAAIAUgASACIAMgBBDrgICAACAFKQMAIQQgACAFKQMINwMIIAAgBDcDACAFQSBqJICAgIAAC24BBn4gACADQv////8PgyIFIAFC/////w+DIgZ+IgcgA0IgiCIIIAZ+IgYgBSABQiCIIgl+fCIFQiCGfCIKNwMAIAAgCCAJfiAFIAZUrUIghiAFQiCIhHwgCiAHVK18IAQgAX4gAyACfnx8NwMICwuJBQEAQYCAwAAL/wRkZWZhdWx0X211bHRpcGxpZXJfYnBzZHN0X2VpZGZsb29yX21hcmdpbl91c2RtdWx0aXBsaWVyX2Jwc29wdGlvbnNwcmljZV9mZWVkc2VuZGVyY2FsbGRhdGFfc2l6ZWx6X2NvbXBvc2VfYmFzZV9nYXNsel9yZWNlaXZlX2Jhc2VfZ2FzbmF0aXZlX2NhcABSABAADQAAAAAAEAAWAAAAFgAQAAcAAAAdABAAEAAAAF8AEAATAAAAcgAQABMAAAAtABAADgAAAIUAEAAKAAAAOwAQAAcAAABCABAACgAAAEwAEAAGAAAAcHJpY2VfcmF0aW9uYXRpdmVfcHJpY2VfdXNkcHJpY2VfcmF0aW9fZGVub21pbmF0b3J0b3RhbF9nYXNfZmVlAPMAEAAQAAAA6AAQAAsAAAADARAAFwAAABoBEAANAAAAZXN0aW1hdGVfZmVlX2J5X2VpZHRocmVzaG9sZG93bmVyc2hpcF90cmFuc2ZlcnJlZG5ld19vd25lcm9sZF9vd25lcgB5ARAACQAAAIIBEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAHkBEAAJAAAAggEQAAkAAACyARAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAggEQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAA/QEQAAkAAABbARAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAACcCEAAIAAAALwIQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmcAt54BDmNvbnRyYWN0c3BlY3YwAAAABAAAAAAAAAAAAAAAE0V4ZWN1dG9yRmVlTGliRXJyb3IAAAAADAAAAAAAAAAPRWlkTm90U3VwcG9ydGVkAAAAAAEAAAAAAAAAFkludmFsaWRFeGVjdXRvck9wdGlvbnMAAAAAAAIAAAAAAAAACkludmFsaWRGZWUAAAAAAAMAAAAAAAAAFkludmFsaWRMekNvbXBvc2VPcHRpb24AAAAAAAQAAAAAAAAAFkludmFsaWRMelJlY2VpdmVPcHRpb24AAAAAAAUAAAAAAAAAF0ludmFsaWROYXRpdmVEcm9wT3B0aW9uAAAAAAYAAAAAAAAAFk5hdGl2ZUFtb3VudEV4Y2VlZHNDYXAAAAAAAAcAAAAAAAAACU5vT3B0aW9ucwAAAAAAAAgAAAAAAAAACE92ZXJmbG93AAAACQAAAAAAAAAVVW5zdXBwb3J0ZWRPcHRpb25UeXBlAAAAAAAACgAAAAAAAAAYWmVyb0x6Q29tcG9zZUdhc1Byb3ZpZGVkAAAACwAAAAAAAAAYWmVyb0x6UmVjZWl2ZUdhc1Byb3ZpZGVkAAAADAAAAAAAAAJRQ2FsY3VsYXRlcyB0aGUgdG90YWwgZXhlY3V0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgoKRGVjb2RlcyBleGVjdXRvciBvcHRpb25zLCBlc3RpbWF0ZXMgZ2FzIGZlZXMgZnJvbSB0aGUgcHJpY2UgZmVlZCwgYXBwbGllcwptdWx0aXBsaWVycyBhbmQgbWFyZ2lucywgYW5kIGNvbnZlcnRzIG5hdGl2ZSB0b2tlbiB2YWx1ZXMuIFJldHVybnMgdGhlCnRvdGFsIGZlZSBpbiBuYXRpdmUgdG9rZW5zLgoKIyBBcmd1bWVudHMKKiBgZXhlY3V0b3JgIC0gRXhlY3V0b3IgY29udHJhY3QgYWRkcmVzcyAodW51c2VkLCBrZXB0IGZvciBpbnRlcmZhY2UgY29tcGF0aWJpbGl0eSkKKiBgcGFyYW1zYCAtIEZlZSBjYWxjdWxhdGlvbiBwYXJhbWV0ZXJzCgojIFJldHVybnMKVG90YWwgZXhlY3V0aW9uIGZlZSBpbiBuYXRpdmUgdG9rZW5zLgoKIyBFcnJvcnMKKiBgRWlkTm90U3VwcG9ydGVkYCAtIElmIGRlc3RpbmF0aW9uIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgKGx6X3JlY2VpdmVfYmFzZV9nYXMgaXMgMCkKKiBWYXJpb3VzIGV4ZWN1dG9yIG9wdGlvbiBwYXJzaW5nIGVycm9ycyAoc2VlIGBwYXJzZV9leGVjdXRvcl9vcHRpb25zYCkAAAAAAAAHZ2V0X2ZlZQAAAAACAAAAAAAAAAhleGVjdXRvcgAAABMAAAAAAAAABnBhcmFtcwAAAAAH0AAAAAlGZWVQYXJhbXMAAAAAAAABAAAACwAAAAAAAABbUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgZmVlIGxpYnJhcnkuCgojIFJldHVybnMKVHVwbGUgb2YgKG1ham9yX3ZlcnNpb24sIG1pbm9yX3ZlcnNpb24pLgAAAAAHdmVyc2lvbgAAAAAAAAAAAQAAA+0AAAACAAAABgAAAAQAAAAAAAAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAACVVGhlIHR5cGUgb2YgZGF0YSByZXF1aXJlZCBmb3IgbWlncmF0aW9uLgpVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAHZSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpDYW4gb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgbWlncmF0aW9uIGZsYWcgaXMgc2V0IGJ5IGEgcHJldmlvdXMgYHVwZ3JhZGVgIGNhbGwuAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAAAAAAAAAAAXlBlcm1hbmVudGx5IGZyZWV6ZXMgdGhlIGNvbnRyYWN0LCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgdXBncmFkZXMuClRoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4AAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAALcGFja2V0X3NlbnQAAAAAAwAAAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAAAAAAAAxzZW5kX2xpYnJhcnkAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAOUGFja2V0VmVyaWZpZWQAAAAAAAEAAAAPcGFja2V0X3ZlcmlmaWVkAAAAAAMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPUGFja2V0RGVsaXZlcmVkAAAAAAEAAAAQcGFja2V0X2RlbGl2ZXJlZAAAAAIAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAACAAAABQAAAAAAAAAAAAAADkx6UmVjZWl2ZUFsZXJ0AAAAAAABAAAAEGx6X3JlY2VpdmVfYWxlcnQAAAAJAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAZacm9TZXQAAAAAAAEAAAAHenJvX3NldAAAAAABAAAAAAAAAAN6cm8AAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAC0RlbGVnYXRlU2V0AAAAAAEAAAAMZGVsZWdhdGVfc2V0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAABAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAATSW5ib3VuZE5vbmNlU2tpcHBlZAAAAAABAAAAFWluYm91bmRfbm9uY2Vfc2tpcHBlZAAAAAAAAAQAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAgAAAAUAAAAAAAAAAAAAAA5QYWNrZXROaWxpZmllZAAAAAAAAQAAAA9wYWNrZXRfbmlsaWZpZWQAAAAABQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAAAAAAADHBheWxvYWRfaGFzaAAAA+gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAC1BhY2tldEJ1cm50AAAAAAEAAAAMcGFja2V0X2J1cm50AAAABQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAARTGlicmFyeVJlZ2lzdGVyZWQAAAAAAAABAAAAEmxpYnJhcnlfcmVnaXN0ZXJlZAAAAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAVRGVmYXVsdFNlbmRMaWJyYXJ5U2V0AAAAAAAAAQAAABhkZWZhdWx0X3NlbmRfbGlicmFyeV9zZXQAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABhEZWZhdWx0UmVjZWl2ZUxpYnJhcnlTZXQAAAABAAAAG2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3NldAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABtEZWZhdWx0UmVjZWl2ZUxpYlRpbWVvdXRTZXQAAAAAAQAAAB9kZWZhdWx0X3JlY2VpdmVfbGliX3RpbWVvdXRfc2V0AAAAAAIAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB3RpbWVvdXQAAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA5TZW5kTGlicmFyeVNldAAAAAAAAQAAABBzZW5kX2xpYnJhcnlfc2V0AAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAPoAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAEVJlY2VpdmVMaWJyYXJ5U2V0AAAAAAAAAQAAABNyZWNlaXZlX2xpYnJhcnlfc2V0AAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAD6AAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABhSZWNlaXZlTGlicmFyeVRpbWVvdXRTZXQAAAABAAAAG3JlY2VpdmVfbGlicmFyeV90aW1lb3V0X3NldAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAAAAAAAB3RpbWVvdXQAAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtDb21wb3NlU2VudAAAAAABAAAADGNvbXBvc2Vfc2VudAAAAAUAAAAAAAAABGZyb20AAAATAAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAgAAAAUAAAAAAAAAAAAAABBDb21wb3NlRGVsaXZlcmVkAAAAAQAAABFjb21wb3NlX2RlbGl2ZXJlZAAAAAAAAAQAAAAAAAAABGZyb20AAAATAAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAgAAAAUAAAAAAAAAAAAAAA5MekNvbXBvc2VBbGVydAAAAAAAAQAAABBsel9jb21wb3NlX2FsZXJ0AAAACgAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAAAAAAA2dhcwAAAAALAAAAAAAAAAAAAAAFdmFsdWUAAAAAAAALAAAAAAAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAAAAAAAKZXh0cmFfZGF0YQAAAAAADgAAAAAAAAAAAAAABnJlYXNvbgAAAAAADgAAAAAAAAACAAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAAAAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQAAAAEAAAAtUGFyYW1ldGVycyBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAAA9NZXNzYWdpbmdQYXJhbXMAAAAABQAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAcVGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBzZW5kLgAAAAdtZXNzYWdlAAAAAA4AAAAhRW5jb2RlZCBleGVjdXRvciBhbmQgRFZOIG9wdGlvbnMuAAAAAAAAB29wdGlvbnMAAAAADgAAADlXaGV0aGVyIHRvIHBheSBmZWVzIGluIFpSTyB0b2tlbiBpbnN0ZWFkIG9mIG5hdGl2ZSB0b2tlbi4AAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAADVSZWNlaXZlciBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAKEZlZSBzdHJ1Y3R1cmUgZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2luZy4AAAAAAAAADE1lc3NhZ2luZ0ZlZQAAAAIAAAAfRmVlIHBhaWQgaW4gbmF0aXZlIHRva2VuIChYTE0pLgAAAAAKbmF0aXZlX2ZlZQAAAAAACwAAAChGZWUgcGFpZCBpbiBaUk8gdG9rZW4gKExheWVyWmVybyB0b2tlbikuAAAAB3pyb19mZWUAAAAACwAAAAEAAABCUmVjZWlwdCByZXR1cm5lZCBhZnRlciBzdWNjZXNzZnVsbHkgc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAADAAAAKVRoZSBmZWVzIGNoYXJnZWQgZm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UuAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAACtHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2UuAAAAAARndWlkAAAD7gAAACAAAAAkVGhlIG91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAAAIAAAA4VHlwZSBvZiBtZXNzYWdlIGxpYnJhcnkgaW5kaWNhdGluZyBzdXBwb3J0ZWQgb3BlcmF0aW9ucy4AAAAAAAAADk1lc3NhZ2VMaWJUeXBlAAAAAAADAAAAAAAAAB9TdXBwb3J0cyBvbmx5IHNlbmRpbmcgbWVzc2FnZXMuAAAAAARTZW5kAAAAAAAAACFTdXBwb3J0cyBvbmx5IHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAHUmVjZWl2ZQAAAAAAAAAALVN1cHBvcnRzIGJvdGggc2VuZGluZyBhbmQgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAA5TZW5kQW5kUmVjZWl2ZQAAAAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABAAAAAEAAAA2VGltZW91dCBjb25maWd1cmF0aW9uIGZvciByZWNlaXZlIGxpYnJhcnkgdHJhbnNpdGlvbnMuAAAAAAAAAAAAB1RpbWVvdXQAAAAAAgAAAChVbml4IHRpbWVzdGFtcCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAABmV4cGlyeQAAAAAABgAAAClUaGUgbmV3IGxpYnJhcnkgYWRkcmVzcyB0byB0cmFuc2l0aW9uIHRvLgAAAAAAAANsaWIAAAAAEwAAAAEAAAA1UGFyYW1ldGVycyBmb3Igc2V0dGluZyBtZXNzYWdlIGxpYnJhcnkgY29uZmlndXJhdGlvbi4AAAAAAAAAAAAADlNldENvbmZpZ1BhcmFtAAAAAAADAAAAH1hEUi1lbmNvZGVkIGNvbmZpZ3VyYXRpb24gZGF0YS4AAAAABmNvbmZpZwAAAAAADgAAADBUaGUgdHlwZSBvZiBjb25maWd1cmF0aW9uIChlLmcuLCBleGVjdXRvciwgVUxOKS4AAAALY29uZmlnX3R5cGUAAAAABAAAACdUaGUgZW5kcG9pbnQgSUQgdGhpcyBjb25maWcgYXBwbGllcyB0by4AAAAAA2VpZAAAAAAEAAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAATAAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAK0EgZmVlIHJlY2lwaWVudCB3aXRoIHRoZSBhbW91bnQgdG8gYmUgcGFpZC4AAAAAAAAAAAxGZWVSZWNpcGllbnQAAAACAAAAFUFtb3VudCBvZiBmZWUgdG8gcGF5LgAAAAAAAAZhbW91bnQAAAAAAAsAAAAfVGhlIGFkZHJlc3MgdG8gc2VuZCB0aGUgZmVlIHRvLgAAAAACdG8AAAAAABMAAAABAAAAPFJlc3VsdCBvZiBzZW5kIG9wZXJhdGlvbiBjb250YWluaW5nIGZlZXMgYW5kIGVuY29kZWQgcGFja2V0LgAAAAAAAAANRmVlc0FuZFBhY2tldAAAAAAAAAMAAAAqVGhlIGVuY29kZWQgcGFja2V0IHJlYWR5IGZvciB0cmFuc21pc3Npb24uAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAA/TGlzdCBvZiBuYXRpdmUgdG9rZW4gZmVlIHJlY2lwaWVudHMgKGV4ZWN1dG9yLCBEVk5zLCB0cmVhc3VyeSkuAAAAABVuYXRpdmVfZmVlX3JlY2lwaWVudHMAAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAsTGlzdCBvZiBaUk8gdG9rZW4gZmVlIHJlY2lwaWVudHMgKHRyZWFzdXJ5KS4AAAASenJvX2ZlZV9yZWNpcGllbnRzAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAABAAAA4VBhcmFtZXRlcnMgZm9yIERWTiBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIHZlcmlmaWNhdGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAAAAAMRHZuRmVlUGFyYW1zAAAACgAAACdOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZC4AAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KR2FzIGVzdGltYXRlIGZvciB2ZXJpZmljYXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAA2dhcwAAAAAKAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAtEVk4gb3B0aW9ucwAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAAAnTnVtYmVyIG9mIHJlcXVpcmVkIHNpZ25hdHVyZXMgKHF1b3J1bSkuAAAAAAZxdW9ydW0AAAAAAAQAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAA41BhcmFtZXRlcnMgZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgZXhlY3V0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAJRmVlUGFyYW1zAAAAAAAACwAAACZTaXplIG9mIHRoZSBtZXNzYWdlIGNhbGxkYXRhIGluIGJ5dGVzLgAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAANkJhc2UgZ2FzIGZvciBlYWNoIGx6Q29tcG9zZSBjYWxsIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAARM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJhc2UgZ2FzIGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAACxNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSBzZW50LgAAAApuYXRpdmVfY2FwAAAAAAAKAAAARkVuY29kZWQgZXhlY3V0b3Igb3B0aW9ucyAobHpSZWNlaXZlIGdhcywgbHpDb21wb3NlLCBuYXRpdmVEcm9wLCBldGMuKS4AAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAACER2FzIHByaWNlIGluZm9ybWF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKQ29udGFpbnMgdGhlIGV4Y2hhbmdlIHJhdGUgYW5kIGdhcyBjb3N0cyBuZWVkZWQgZm9yIGNyb3NzLWNoYWluIGZlZSBjYWxjdWxhdGlvbnMuAAAAAAAAAAVQcmljZQAAAAAAAAMAAAA3R2FzIGNvc3QgcGVyIGJ5dGUgb2YgY2FsbGRhdGEgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAMZ2FzX3Blcl9ieXRlAAAABAAAAEJHYXMgcHJpY2UgaW4gdGhlIHNtYWxsZXN0IHVuaXQgKHdlaSBmb3IgRVZNLCBzdHJvb3BzIGZvciBTdGVsbGFyKS4AAAAAABFnYXNfcHJpY2VfaW5fdW5pdAAAAAAAAAYAAACpUHJpY2UgcmF0aW8gPSAocmVtb3RlIG5hdGl2ZSB0b2tlbiBwcmljZSAvIGxvY2FsIG5hdGl2ZSB0b2tlbiBwcmljZSkgKiBQUklDRV9SQVRJT19ERU5PTUlOQVRPUi4KVXNlZCB0byBjb252ZXJ0IGRlc3RpbmF0aW9uIGNoYWluIGdhcyBjb3N0cyB0byBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAALAAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQAAAAQAAAAdV29ya2VyT3B0aW9uc0Vycm9yOiAxMTEwLTExMTkAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARWAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAEVwAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABFgAAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEWQAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFoAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARbAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFwAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEXQAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAAReAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMC4xIzk0MTQ0ODA3OWVjY2Y5NTYyN2QyZmZlYTEzYmEyNjhlMzA1YTkwNzcAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
11
+ export declare const WASM_BASE64 = "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pyIYSw0EAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAyAYRw0AIAAgEFYgASAPViABIA9RG0UNAUKDgICA8AAQq4CAgAAACyACQfACahC1gICAABogAkHwAmoQtoCAgAAhAyACQfACahC1gICAACESIANB//8DcUUNEyACIAJB8AJqIANBf2pB//8DcRC3gICAACIENwP4AkEBIRggEkH/AXFBf2oOBAIDBA4BCyAHIAaEQgBRDQsgCCAHfCIHIAhUIgMgBSAGfCADrXwiBCAFVCAEIAVRG0EBRw0EDBILQoOAgICgARCrgICAAAALAkACQAJAIAQQgoCAgABCIIgiBKciA0EgRg0AIANBEEcNAQsgAkEANgKUBCACIAJB+AJqNgKQBCACQbADaiACQZAEahC4gICAACACKQO4AyELIAIpA7ADIQ0gBEIgUQ0BQgAhCUIAIQoMDAtCg4CAgNAAEKuAgIAAAAsgAkGwA2ogAkGQBGoQuICAgAAgAikDuAMhCiACKQOwAyEJIBQNCiAJIAqEQgBRDQpCg4CAgKABEKuAgIAAAAsgBBCCgICAAEKAgICAcINCgICAgIAGUg0HIAJBADYCrAMgAiACQfgCajYCqAMgAkGAA2ogAkGoA2oQuICAgAAgAkGoA2pBIBC3gICAACIEEIKAgIAAQoCAgIBwg0KAgICAgARSDQYgFUIANwMAIAJBsANqQRBqIgNCADcDACAWQgA3AwAgAkIANwOwAyAEEIKAgIAAQoCAgIBwg0KAgICAgARSDQUgBCACQbADakEgELmAgIAAIAJBkARqQRhqIBUpAwA3AwAgAkGQBGpBEGogAykDADcDACACQZAEakEIaiAWKQMANwMAIAIgAikDsAM3A5AEIBNChICAgIAEEIOAgIAAGiAAIAIpA4ADfCIJIABUIgMgASACKQOIA3wgA618IgQgAVQgBCABURsNDyAZIRggCSEAIAQhAQwKCyAXDQICQCAEEIKAgIAAQiCIIg2nIgNBIkYNACADQRJHDQQLIAJBADYClAQgAiACQfgCajYCkAQgAkGQBGoQtoCAgAAaIAJBsANqIAJBkARqELiAgIAAIAIpA7gDIQQgAikDsAMhCUIAIQpCACELAkAgDUIiUg0AIAJBsANqIAJBkARqELiAgIAAIAIpA7gDIQsgAikDsAMh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AkAgAUEQELeAgIAAIgMQgoCAgABCgICAgHCDQoCAgICAAlINACACQgA3AwggAkIANwMAIAMQgoCAgABCgICAgHCDQoCAgICAAlINASADIAJBEBC5gICAACACKQMIIQMgACACKQMAIgRCOIYgBEKA/gODQiiGhCAEQoCA/AeDQhiGIARCgICA+A+DQgiGhIQgBEIIiEKAgID4D4MgBEIYiEKAgPwHg4QgBEIoiEKA/gODIARCOIiEhIQ3AwggACADQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMAIAJBEGokgICAgAAPC0KDgICAgIIBEKuAgIAAAAsQvICAgAAACx8AIABCBCABrUIghkIEhCACrUIghkIEhBCUgICAABoLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ5ICAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADCxoAIACtQiCGQgSEIAGtQiCGQgSEEJeAgIAACwkAEL2AgIAAAAsJABDjgICAAAALSQIBfwF+I4CAgIAAQRBrIgAkgICAgAAQoICAgAAgAEKEgICAEDcDCCAAQoYCNwMAIABBAhC7gICAACEBIABBEGokgICAgAAgAQtdAAJAAkAgAEL/AYNCzQBSDQBBgMseQYDSHxDAgICAAEGAyx5BgNIfEMGAgIAAQQAQroCAgABCAhCkgICAAA0BIAAQwoCAgABCAg8LAAtCg4CAgKCBARCrgICAAAALDgBBASAAIAEQ6oCAgAALDgBBAiAAIAEQ6oCAgAALDgBBACAAQgIQ1ICAgAALZQACQAJAIABC/wGDQsgAUg0AIAAQgoCAgABCgICAgHCDQoCAgICABFINABClgICAABCggICAABCfgICAAA0BQQEQxICAgAAgABCKgICAABpCAg8LAAtCg4CAgMCDARCrgICAAAALDABBASAAEMeAgIAAC20AAkACQAJAIABC/wGDQsgAUg0AEKWAgIAAEKCAgIAAQQEQoYCAgABB/QFxRQ0BIAAQi4CAgABC/wGDQgJSDQJBABDEgICAAEICDwsAC0KDgICAsIMBEKuAgIAAAAtCg4CAgKCDARCrgICAAAALNQAQpYCAgAAQoICAgAACQBCfgICAAEUNAEKDgICAwIMBEKuAgIAAAAtBAEEBEMeAgIAAQgILGgAgABDpgICAACABrUL/AYNCAhCPgICAABoLCQAQn4CAgACtCwgAEKaAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqICAgAAgACkDACAAKQMIEMuAgIAAIQEgAEEQaiSAgICAACABCw0AIAFCAiAAp0EBcRsLPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCtgICAACAAKQMAIAApAwgQy4CAgAAhASAAQRBqJICAgIAAIAELPAEBfgJAIABC/wGDQs0AUQ0AAAsQoICAgAAQp4CAgAAhARCsgICAACAAEMKAgIAAIAEgABDOgICAAEICC2ECAX8BfiOAgICAAEEQayICJICAgIAAQeSCwIAAQRUQuoCAgAAQ0YCAgAAhAyACIAA3AwggAiABNwMAIANBjIPAgABBAiACQQIQ0oCAgAAQjICAgAAaIAJBEGokgICAgAAL/AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAQoICAgAAQp4CAgAAhAwJAAkAgAUL/////D1YNACACQQhqEK2AgIAAIAIpAxAhASACKQMIQYkIEKmAgIAAIAEgABCqgICAAEUNAxDQgICAAEHQg8CAAEEcELqAgIAAENGAgIAAIQAgAiADNwMQIAIgATcDCCAAQYiEwIAAQQIgAkEIakECENKAgIAAEIyAgIAAGgwBCxDTgICAACABQiCIp0kNA0EBIABCABDUgICAAEEBEK6AgIAAQgAgAUKEgICAcIMiASABEI2AgIAAGkGcg8CAAEEWELqAgIAAENGAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEG4g8CAAEEDIAJBCGpBAxDSgICAABCMgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgPCAARCrgICAAAALQoOAgICAgQEQq4CAgAAACxMAQQEQroCAgABCABCOgICAABoLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBELuAgIAAIQAgAUEQaiSAgICAACAACy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQlYCAgAALMwECfhCZgICAACEAAkAQmoCAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQvYCAgAAACxUAIAAQroCAgAAgASACEI+AgIAAGguIAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAQoICAgAAgABCtgICAACAAKQMIIQEgACkDAEGJCBCpgICAACABEIGAgIAAGiAAEK+AgIAAAkAgACgCAA0AENaAgIAAAAsgACkDCCECENCAgIAAIAEQwoCAgAAgAiABEM6AgIAAIABBEGokgICAgABCAgsJABC9gICAAAALhAECAX8CfiOAgICAAEEQayIAJICAgIAAEKCAgIAAEKeAgIAAIQEQrICAgABBABCugICAAEICEI6AgIAAGkGYhMCAAEETELqAgIAAENGAgIAAIQIgACABNwMIIAJBrITAgABBASAAQQhqQQEQ0oCAgAAQjICAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDZgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJyAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ24CAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDbgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBClgICAABCggICAAAJAAkACQBCigICAAA0AENOAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEKuAgIAAAAtCg4CAgMD/ABCrgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQEMCAgIAADAELQQEQo4CAgABCAhCOgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgEMGAgIAADAELQQIQo4CAgABCAhCOgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEHghMCAAEEPELqAgIAAENGAgIAAIQAgAkEoahDcgICAACEBIAIgAkE0ahDcgICAADcDSCACIAE3A0AgAEGEhcCAAEECIAJBwABqQQIQ0oCAgAAQjICAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEOaAgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEOCAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAguiAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEKCAgIAAIABBCGoQ3oCAgAAgAEEUaiIBQQIQ34CAgAAgAEEwaiAAQQhqEOCAgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARDggICAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQu4CAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARDfgICAAAt3AgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQAJAIAEQo4CAgAAiBEICEKSAgIAARQ0AIAJBBGogBEICEICAgIAAEOaAgIAAQQEhAyACKAIEQQFGDQEgACACKQIINwIECyAAIAM2AgAgAkEQaiSAgICAAA8LAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBDngICAAA8LIABCADcDACAAQgI3AwgLiAEBAX8jgICAgABBEGsiACSAgICAABClgICAABCggICAAAJAEKKAgIAARQ0AQoOAgIDg/wAQq4CAgAAAC0EAEKOAgIAAQgFCAhCPgICAABpBlIXAgABBEhC6gICAABDRgICAAEEEQQAgAEEIakEAENKAgIAAEIyAgIAAGiAAQRBqJICAgIAAQgILCQAQooCAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCTgICAACEDCyAAQgA3AwAgACADNwMIC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEOSAgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUHQhMCAAEECIAJBAhCygICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQdCEwIAAQQIgA0ECENKAgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBELuAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUG+hcCAAEEJEOWAgIAAIAEoAgANAiABIAEpAwgQ6ICAgAAMAQsgAUGmhcCAAEEGEOWAgIAAIAEoAgANASABIAEpAwgQ6ICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtWAgF/AX4jgICAgABBEGsiAySAgICAACAAEKOAgIAAIQQgAyABIAIQ54CAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCPgICAABogA0EQaiSAgICAAAtXAQF+AkACQCADQcAAcQ0AIANFDQEgAkEAIANrQT9xrYYgASADQT9xrSIEiIQhASACIASIIQIMAQsgAiADQT9xrYghAUIAIQILIAAgATcDACAAIAI3AwgLVwEBfgJA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bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAAB5ARAACQAAAIIBEAAJAAAAsgEQAAMAAABvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkY2FuY2VsbGVkX3BlbmRpbmdfb3duZXJvd25lcuwBEAAXAAAAAwIQAAUAAABvd25lcnNoaXBfcmVub3VuY2VkAIIBEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AAEUCEAAJAAAAWwEQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAABvAhAACAAAAHcCEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nAPOpAQ5jb250cmFjdHNwZWN2MAAAAAQAAAAAAAAAAAAAABNFeGVjdXRvckZlZUxpYkVycm9yAAAAAAwAAAAAAAAAD0VpZE5vdFN1cHBvcnRlZAAAAAABAAAAAAAAABZJbnZhbGlkRXhlY3V0b3JPcHRpb25zAAAAAAACAAAAAAAAAApJbnZhbGlkRmVlAAAAAAADAAAAAAAAABZJbnZhbGlkTHpDb21wb3NlT3B0aW9uAAAAAAAEAAAAAAAAABZJbnZhbGlkTHpSZWNlaXZlT3B0aW9uAAAAAAAFAAAAAAAAABdJbnZhbGlkTmF0aXZlRHJvcE9wdGlvbgAAAAAGAAAAAAAAABZOYXRpdmVBbW91bnRFeGNlZWRzQ2FwAAAAAAAHAAAAAAAAAAlOb09wdGlvbnMAAAAAAAAIAAAAAAAAAAhPdmVyZmxvdwAAAAkAAAAAAAAAFVVuc3VwcG9ydGVkT3B0aW9uVHlwZQAAAAAAAAoAAAAAAAAAGFplcm9MekNvbXBvc2VHYXNQcm92aWRlZAAAAAsAAAAAAAAAGFplcm9MelJlY2VpdmVHYXNQcm92aWRlZAAAAAwAAAAAAAACUUNhbGN1bGF0ZXMgdGhlIHRvdGFsIGV4ZWN1dGlvbiBmZWUgZm9yIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4KCkRlY29kZXMgZXhlY3V0b3Igb3B0aW9ucywgZXN0aW1hdGVzIGdhcyBmZWVzIGZyb20gdGhlIHByaWNlIGZlZWQsIGFwcGxpZXMKbXVsdGlwbGllcnMgYW5kIG1hcmdpbnMsIGFuZCBjb252ZXJ0cyBuYXRpdmUgdG9rZW4gdmFsdWVzLiBSZXR1cm5zIHRoZQp0b3RhbCBmZWUgaW4gbmF0aXZlIHRva2Vucy4KCiMgQXJndW1lbnRzCiogYGV4ZWN1dG9yYCAtIEV4ZWN1dG9yIGNvbnRyYWN0IGFkZHJlc3MgKHVudXNlZCwga2VwdCBmb3IgaW50ZXJmYWNlIGNvbXBhdGliaWxpdHkpCiogYHBhcmFtc2AgLSBGZWUgY2FsY3VsYXRpb24gcGFyYW1ldGVycwoKIyBSZXR1cm5zClRvdGFsIGV4ZWN1dGlvbiBmZWUgaW4gbmF0aXZlIHRva2Vucy4KCiMgRXJyb3JzCiogYEVpZE5vdFN1cHBvcnRlZGAgLSBJZiBkZXN0aW5hdGlvbiBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIChsel9yZWNlaXZlX2Jhc2VfZ2FzIGlzIDApCiogVmFyaW91cyBleGVjdXRvciBvcHRpb24gcGFyc2luZyBlcnJvcnMgKHNlZSBgcGFyc2VfZXhlY3V0b3Jfb3B0aW9uc2ApAAAAAAAAB2dldF9mZWUAAAAAAgAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAZwYXJhbXMAAAAAB9AAAAAJRmVlUGFyYW1zAAAAAAAAAQAAAAsAAAAAAAAAW1JldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIGZlZSBsaWJyYXJ5LgoKIyBSZXR1cm5zClR1cGxlIG9mIChtYWpvcl92ZXJzaW9uLCBtaW5vcl92ZXJzaW9uKS4AAAAAB3ZlcnNpb24AAAAAAAAAAAEAAAPtAAAAAgAAAAYAAAAEAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAEAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAbFVwZ3JhZGVzIHRoZSBjb250cmFjdCB0byBuZXcgV0FTTSBieXRlY29kZS4KU2V0cyBhIG1pZ3JhdGlvbiBmbGFnIHRoYXQgbXVzdCBiZSBjbGVhcmVkIGJ5IGNhbGxpbmcgYG1pZ3JhdGVgLgAAAAd1cGdyYWRlAAAAAAEAAAAAAAAADW5ld193YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAAAAAAh1J1bnMgbWlncmF0aW9uIGxvZ2ljIGFmdGVyIGFuIHVwZ3JhZGUuClBhcnNlcyBYRFItZW5jb2RlZCBgbWlncmF0aW9uX2RhdGFgIGFuZCBjYWxscyBgX19taWdyYXRlYC4gQ2xlYXJzIHRoZSBtaWdyYXRpb24gZmxhZyBvbiBzdWNjZXNzLgAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAAAAAAAAAAAT1Blcm1hbmVudGx5IGZyZWV6ZXMgdGhlIGNvbnRyYWN0LCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgdXBncmFkZXMuIElycmV2ZXJzaWJsZS4AAAAABmZyZWV6ZQAAAAAAAAAAAAAAAAAAAAAAO1JldHVybnMgd2hldGhlciB0aGUgY29udHJhY3QgaXMgZnJvemVuICh1cGdyYWRlcyBkaXNhYmxlZCkuAAAAAAlpc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAABMAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgb3duZXIgYWRkcmVzcywgb3IgTm9uZSBpZiBubyBvd25lciBpcyBzZXQuAAAAAAAFb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAAFAAAAAAAAAAAAAAAKUGFja2V0U2VudAAAAAAAAQAAAAtwYWNrZXRfc2VudAAAAAADAAAAAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAAAAAADHNlbmRfbGlicmFyeQAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA5QYWNrZXRWZXJpZmllZAAA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Z3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAANRW5kcG9pbnRFcnJvcgAAAAAAABkAAAAvTGlicmFyeSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAAAEUFscmVhZHlSZWdpc3RlcmVkAAAAAAAAAQAAADZDb21wb3NlIG1lc3NhZ2UgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgR1VJRCBhbmQgaW5kZXgAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAADZDb21wb3NlIG1lc3NhZ2Ugbm90IGZvdW5kIGZvciB0aGUgZ2l2ZW4gR1VJRCBhbmQgaW5kZXgAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAADpEZWZhdWx0IHJlY2VpdmUgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgc291cmNlIGVuZHBvaW50AAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAA8RGVmYXVsdCBzZW5kIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50AAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAL1N1cHBsaWVkIG5hdGl2ZSB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAALFN1cHBsaWVkIFpSTyB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAEAAADhUGFyYW1ldGVycyBmb3IgRFZOIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgdmVyaWZpY2F0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAAAAxEdm5GZWVQYXJhbXMAAAAKAAAAJ051bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIHJlcXVpcmVkLgAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpHYXMgZXN0aW1hdGUgZm9yIHZlcmlmaWNhdGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAADZ2FzAAAAAAoAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAC0RWTiBvcHRpb25zAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAACdOdW1iZXIgb2YgcmVxdWlyZWQgc2lnbmF0dXJlcyAocXVvcnVtKS4AAAAABnF1b3J1bQAAAAAABAAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAADjUGFyYW1ldGVycyBmb3IgZXhlY3V0b3IgZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBleGVjdXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAlGZWVQYXJhbXMAAAAAAAALAAAAJlNpemUgb2YgdGhlIG1lc3NhZ2UgY2FsbGRhdGEgaW4gYnl0ZXMuAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAA2QmFzZSBnYXMgZm9yIGVhY2ggbHpDb21wb3NlIGNhbGwgb24gZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAABEz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQmFzZSBnYXMgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAABNsel9yZWNlaXZlX2Jhc2VfZ2FzAAAAAAYAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAALE1heGltdW0gbmF0aXZlIHRva2VuIHZhbHVlIHRoYXQgY2FuIGJlIHNlbnQuAAAACm5hdGl2ZV9jYXAAAAAAAAoAAABGRW5jb2RlZCBleGVjdXRvciBvcHRpb25zIChselJlY2VpdmUgZ2FzLCBsekNvbXBvc2UsIG5hdGl2ZURyb3AsIGV0Yy4pLgAAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAIRHYXMgcHJpY2UgaW5mb3JtYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgpDb250YWlucyB0aGUgZXhjaGFuZ2UgcmF0ZSBhbmQgZ2FzIGNvc3RzIG5lZWRlZCBmb3IgY3Jvc3MtY2hhaW4gZmVlIGNhbGN1bGF0aW9ucy4AAAAAAAAABVByaWNlAAAAAAAAAwAAADdHYXMgY29zdCBwZXIgYnl0ZSBvZiBjYWxsZGF0YSBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAxnYXNfcGVyX2J5dGUAAAAEAAAAQkdhcyBwcmljZSBpbiB0aGUgc21hbGxlc3QgdW5pdCAod2VpIGZvciBFVk0sIHN0cm9vcHMgZm9yIFN0ZWxsYXIpLgAAAAAAEWdhc19wcmljZV9pbl91bml0AAAAAAAABgAAAKlQcmljZSByYXRpbyA9IChyZW1vdGUgbmF0aXZlIHRva2VuIHByaWNlIC8gbG9jYWwgbmF0aXZlIHRva2VuIHByaWNlKSAqIFBSSUNFX1JBVElPX0RFTk9NSU5BVE9SLgpVc2VkIHRvIGNvbnZlcnQgZGVzdGluYXRpb24gY2hhaW4gZ2FzIGNvc3RzIHRvIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAABAAAAgEZlZSBlc3RpbWF0aW9uIHJlc3VsdCB3aXRoIGRldGFpbGVkIGJyZWFrZG93bi4KCkNvbnRhaW5zIHRoZSBjYWxjdWxhdGVkIGZlZSBhbmQgYWxsIGludGVybWVkaWF0ZSB2YWx1ZXMgdXNlZCBpbiB0aGUgY2FsY3VsYXRpb24uAAAAAAAAAAtGZWVFc3RpbWF0ZQAAAAAEAAAAMFNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gcHJpY2UgaW4gVVNEIChzY2FsZWQpLgAAABBuYXRpdmVfcHJpY2VfdXNkAAAACgAAACVQcmljZSByYXRpbyB1c2VkIGZvciB0aGUgY2FsY3VsYXRpb24uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAAyRGVub21pbmF0b3IgZm9yIHRoZSBwcmljZSByYXRpbyAodHlwaWNhbGx5IDEwXjIwKS4AAAAAABdwcmljZV9yYXRpb19kZW5vbWluYXRvcgAAAAAKAAAAMVRvdGFsIGdhcyBmZWUgaW4gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiB1bml0cy4AAAAAAAANdG90YWxfZ2FzX2ZlZQAAAAAAAAsAAAAEAAAAHVBhY2tldENvZGVjVjFFcnJvcjogMTEwMC0xMTA5AAAAAAAAAAAAABJQYWNrZXRDb2RlY1YxRXJyb3IAAAAAAAIAAAAAAAAAE0ludmFsaWRQYWNrZXRIZWFkZXIAAAAETAAAAAAAAAAUSW52YWxpZFBhY2tldFZlcnNpb24AAARNAAAABAAAAB1Xb3JrZXJPcHRpb25zRXJyb3I6IDExMTAtMTExOQAAAAAAAAAAAAASV29ya2VyT3B0aW9uc0Vycm9yAAAAAAAJAAAAAAAAABJJbnZhbGlkQnl0ZXNMZW5ndGgAAAAABFYAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTEAAAAAAARXAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUyAAAAAAAEWAAAAAAAAAARSW52YWxpZE9wdGlvblR5cGUAAAAAAARZAAAAAAAAAA5JbnZhbGlkT3B0aW9ucwAAAAAEWgAAAAAAAAAPSW52YWxpZFdvcmtlcklkAAAABFsAAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMUdhc092ZXJmbG93AAAAAAAEXAAAAAAAAAAgTGVnYWN5T3B0aW9uc1R5cGUyQW1vdW50T3ZlcmZsb3cAAARdAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTJHYXNPdmVyZmxvdwAAAAAABF4AAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAwAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4xLjAjODZjNTBhMWVhNGY4N2I0MGFkZDMwNjRmZjlkZjk1Yzc1NTM1NjVjNQAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
12
12
  /**
13
13
  * Pre-computed WASM hash (SHA-256)
14
14
  * Use this when the WASM is already uploaded on-chain
15
15
  */
16
- export declare const WASM_HASH = "05a18caf82faa48c7261039b061654cf831092422854a7c1d1b54fd32c459430";
16
+ export declare const WASM_HASH = "c2585633f3a40f18d491bc7bbe43859f102caae277d6b5b7d1096135eeae180e";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
@@ -58,78 +58,153 @@ export declare const ExecutorFeeLibError: {
58
58
  };
59
59
  };
60
60
  export declare const EndpointError: {
61
+ /**
62
+ * Library is already registered with the endpoint
63
+ */
61
64
  1: {
62
65
  message: string;
63
66
  };
67
+ /**
68
+ * Compose message already exists for this GUID and index
69
+ */
64
70
  2: {
65
71
  message: string;
66
72
  };
73
+ /**
74
+ * Compose message not found for the given GUID and index
75
+ */
67
76
  3: {
68
77
  message: string;
69
78
  };
79
+ /**
80
+ * Default receive library is not set for the source endpoint
81
+ */
70
82
  4: {
71
83
  message: string;
72
84
  };
85
+ /**
86
+ * Default send library is not set for the destination endpoint
87
+ */
73
88
  5: {
74
89
  message: string;
75
90
  };
91
+ /**
92
+ * Supplied native token fee is less than required
93
+ */
76
94
  6: {
77
95
  message: string;
78
96
  };
97
+ /**
98
+ * Supplied ZRO token fee is less than required
99
+ */
79
100
  7: {
80
101
  message: string;
81
102
  };
103
+ /**
104
+ * Timeout expiry is invalid (already expired)
105
+ */
82
106
  8: {
83
107
  message: string;
84
108
  };
109
+ /**
110
+ * Fee amount is invalid (negative)
111
+ */
85
112
  9: {
86
113
  message: string;
87
114
  };
115
+ /**
116
+ * Compose index exceeds maximum allowed value
117
+ */
88
118
  10: {
89
119
  message: string;
90
120
  };
121
+ /**
122
+ * Nonce is invalid for the requested operation
123
+ */
91
124
  11: {
92
125
  message: string;
93
126
  };
127
+ /**
128
+ * Payload hash is invalid (empty hash not allowed)
129
+ */
94
130
  12: {
95
131
  message: string;
96
132
  };
133
+ /**
134
+ * Receive library is not valid for the receiver and source endpoint
135
+ */
97
136
  13: {
98
137
  message: string;
99
138
  };
139
+ /**
140
+ * Operation requires a non-default (custom) library
141
+ */
100
142
  14: {
101
143
  message: string;
102
144
  };
145
+ /**
146
+ * Library must support receiving messages
147
+ */
103
148
  15: {
104
149
  message: string;
105
150
  };
151
+ /**
152
+ * Library must be registered with the endpoint
153
+ */
106
154
  16: {
107
155
  message: string;
108
156
  };
157
+ /**
158
+ * Library must support sending messages
159
+ */
109
160
  17: {
110
161
  message: string;
111
162
  };
163
+ /**
164
+ * Messaging path cannot be initialized for the given origin
165
+ */
112
166
  18: {
113
167
  message: string;
114
168
  };
169
+ /**
170
+ * Message cannot be verified for the given origin
171
+ */
115
172
  19: {
116
173
  message: string;
117
174
  };
175
+ /**
176
+ * Payload hash does not match the stored hash
177
+ */
118
178
  20: {
119
179
  message: string;
120
180
  };
181
+ /**
182
+ * New value is the same as existing value
183
+ */
121
184
  21: {
122
185
  message: string;
123
186
  };
187
+ /**
188
+ * Caller is not authorized (not OApp or delegate)
189
+ */
124
190
  22: {
125
191
  message: string;
126
192
  };
193
+ /**
194
+ * Endpoint ID is not supported by the library
195
+ */
127
196
  23: {
128
197
  message: string;
129
198
  };
199
+ /**
200
+ * ZRO fee must be greater than zero when pay_in_zro is true
201
+ */
130
202
  24: {
131
203
  message: string;
132
204
  };
205
+ /**
206
+ * ZRO token address is not set
207
+ */
133
208
  25: {
134
209
  message: string;
135
210
  };
@@ -244,11 +319,11 @@ export interface MessageLibVersion {
244
319
  */
245
320
  export interface Timeout {
246
321
  /**
247
- * Unix timestamp when the timeout expires.
322
+ * Unix timestamp in seconds when the timeout expires.
248
323
  */
249
324
  expiry: u64;
250
325
  /**
251
- * The new library address to transition to.
326
+ * The old library address that remains valid during the grace period.
252
327
  */
253
328
  lib: string;
254
329
  }
@@ -606,6 +681,9 @@ export declare const OwnableError: {
606
681
  1035: {
607
682
  message: string;
608
683
  };
684
+ 1036: {
685
+ message: string;
686
+ };
609
687
  };
610
688
  /**
611
689
  * BytesExtError: 1040-1049
@@ -630,9 +708,9 @@ export declare const UpgradeableError: {
630
708
  };
631
709
  };
632
710
  /**
633
- * MultisigError: 1060-1069
711
+ * MultiSigError: 1060-1069
634
712
  */
635
- export declare const MultisigError: {
713
+ export declare const MultiSigError: {
636
714
  1060: {
637
715
  message: string;
638
716
  };
@@ -657,8 +735,11 @@ export declare const MultisigError: {
657
735
  1067: {
658
736
  message: string;
659
737
  };
738
+ 1068: {
739
+ message: string;
740
+ };
660
741
  };
661
- export type MultisigStorage = {
742
+ export type MultiSigStorage = {
662
743
  tag: "Signers";
663
744
  values: void;
664
745
  } | {
@@ -725,20 +806,7 @@ export interface Client {
725
806
  get_fee: ({ executor, params }: {
726
807
  executor: string;
727
808
  params: FeeParams;
728
- }, txnOptions?: {
729
- /**
730
- * The fee to pay for the transaction. Default: BASE_FEE
731
- */
732
- fee?: number;
733
- /**
734
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
735
- */
736
- timeoutInSeconds?: number;
737
- /**
738
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
739
- */
740
- simulate?: boolean;
741
- }) => Promise<AssembledTransaction<i128>>;
809
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<i128>>;
742
810
  /**
743
811
  * Construct and simulate a version transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
744
812
  * Returns the version of the fee library.
@@ -746,153 +814,47 @@ export interface Client {
746
814
  * # Returns
747
815
  * Tuple of (major_version, minor_version).
748
816
  */
749
- version: (txnOptions?: {
750
- /**
751
- * The fee to pay for the transaction. Default: BASE_FEE
752
- */
753
- fee?: number;
754
- /**
755
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
756
- */
757
- timeoutInSeconds?: number;
758
- /**
759
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
760
- */
761
- simulate?: boolean;
762
- }) => Promise<AssembledTransaction<readonly [u64, u32]>>;
817
+ version: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [u64, u32]>>;
763
818
  /**
764
819
  * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
765
- * The type of data required for migration.
766
820
  * Upgrades the contract to new WASM bytecode.
767
821
  * Sets a migration flag that must be cleared by calling `migrate`.
768
822
  */
769
823
  upgrade: ({ new_wasm_hash }: {
770
824
  new_wasm_hash: Buffer;
771
- }, txnOptions?: {
772
- /**
773
- * The fee to pay for the transaction. Default: BASE_FEE
774
- */
775
- fee?: number;
776
- /**
777
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
778
- */
779
- timeoutInSeconds?: number;
780
- /**
781
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
782
- */
783
- simulate?: boolean;
784
- }) => Promise<AssembledTransaction<null>>;
825
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
785
826
  /**
786
827
  * Construct and simulate a migrate transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
787
828
  * Runs migration logic after an upgrade.
788
- * Can only be called when the migration flag is set by a previous `upgrade` call.
829
+ * Parses XDR-encoded `migration_data` and calls `__migrate`. Clears the migration flag on success.
789
830
  */
790
831
  migrate: ({ migration_data }: {
791
832
  migration_data: Buffer;
792
- }, txnOptions?: {
793
- /**
794
- * The fee to pay for the transaction. Default: BASE_FEE
795
- */
796
- fee?: number;
797
- /**
798
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
799
- */
800
- timeoutInSeconds?: number;
801
- /**
802
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
803
- */
804
- simulate?: boolean;
805
- }) => Promise<AssembledTransaction<null>>;
833
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
806
834
  /**
807
835
  * Construct and simulate a freeze transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
808
- * Permanently freezes the contract, preventing any future upgrades.
809
- * This action is irreversible.
836
+ * Permanently freezes the contract, preventing any future upgrades. Irreversible.
810
837
  */
811
- freeze: (txnOptions?: {
812
- /**
813
- * The fee to pay for the transaction. Default: BASE_FEE
814
- */
815
- fee?: number;
816
- /**
817
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
818
- */
819
- timeoutInSeconds?: number;
820
- /**
821
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
822
- */
823
- simulate?: boolean;
824
- }) => Promise<AssembledTransaction<null>>;
838
+ freeze: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
825
839
  /**
826
840
  * Construct and simulate a is_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
827
841
  * Returns whether the contract is frozen (upgrades disabled).
828
842
  */
829
- is_frozen: (txnOptions?: {
830
- /**
831
- * The fee to pay for the transaction. Default: BASE_FEE
832
- */
833
- fee?: number;
834
- /**
835
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
836
- */
837
- timeoutInSeconds?: number;
838
- /**
839
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
840
- */
841
- simulate?: boolean;
842
- }) => Promise<AssembledTransaction<boolean>>;
843
+ is_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
843
844
  /**
844
845
  * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
845
846
  */
846
- authorizer: (txnOptions?: {
847
- /**
848
- * The fee to pay for the transaction. Default: BASE_FEE
849
- */
850
- fee?: number;
851
- /**
852
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
853
- */
854
- timeoutInSeconds?: number;
855
- /**
856
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
857
- */
858
- simulate?: boolean;
859
- }) => Promise<AssembledTransaction<string>>;
847
+ authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
860
848
  /**
861
849
  * Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
862
850
  * Returns the current owner address, or None if no owner is set.
863
851
  */
864
- owner: (txnOptions?: {
865
- /**
866
- * The fee to pay for the transaction. Default: BASE_FEE
867
- */
868
- fee?: number;
869
- /**
870
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
871
- */
872
- timeoutInSeconds?: number;
873
- /**
874
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
875
- */
876
- simulate?: boolean;
877
- }) => Promise<AssembledTransaction<Option<string>>>;
852
+ owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
878
853
  /**
879
854
  * Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
880
855
  * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
881
856
  */
882
- pending_owner: (txnOptions?: {
883
- /**
884
- * The fee to pay for the transaction. Default: BASE_FEE
885
- */
886
- fee?: number;
887
- /**
888
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
889
- */
890
- timeoutInSeconds?: number;
891
- /**
892
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
893
- */
894
- simulate?: boolean;
895
- }) => Promise<AssembledTransaction<Option<string>>>;
857
+ pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
896
858
  /**
897
859
  * Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
898
860
  * Transfers ownership immediately to a new address.
@@ -906,20 +868,7 @@ export interface Client {
906
868
  */
907
869
  transfer_ownership: ({ new_owner }: {
908
870
  new_owner: string;
909
- }, txnOptions?: {
910
- /**
911
- * The fee to pay for the transaction. Default: BASE_FEE
912
- */
913
- fee?: number;
914
- /**
915
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
916
- */
917
- timeoutInSeconds?: number;
918
- /**
919
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
920
- */
921
- simulate?: boolean;
922
- }) => Promise<AssembledTransaction<null>>;
871
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
923
872
  /**
924
873
  * Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
925
874
  * Proposes an ownership transfer to a new address.
@@ -941,20 +890,7 @@ export interface Client {
941
890
  propose_ownership_transfer: ({ new_owner, ttl }: {
942
891
  new_owner: string;
943
892
  ttl: u32;
944
- }, txnOptions?: {
945
- /**
946
- * The fee to pay for the transaction. Default: BASE_FEE
947
- */
948
- fee?: number;
949
- /**
950
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
951
- */
952
- timeoutInSeconds?: number;
953
- /**
954
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
955
- */
956
- simulate?: boolean;
957
- }) => Promise<AssembledTransaction<null>>;
893
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
958
894
  /**
959
895
  * Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
960
896
  * Accepts a pending 2-step ownership transfer.
@@ -964,20 +900,7 @@ export interface Client {
964
900
  * # Panics
965
901
  * - `NoPendingTransfer` if there is no pending transfer (or it expired)
966
902
  */
967
- accept_ownership: (txnOptions?: {
968
- /**
969
- * The fee to pay for the transaction. Default: BASE_FEE
970
- */
971
- fee?: number;
972
- /**
973
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
974
- */
975
- timeoutInSeconds?: number;
976
- /**
977
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
978
- */
979
- simulate?: boolean;
980
- }) => Promise<AssembledTransaction<null>>;
903
+ accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
981
904
  /**
982
905
  * Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
983
906
  * Permanently renounces ownership.
@@ -986,20 +909,7 @@ export interface Client {
986
909
  * - `OwnerNotSet` if no owner is currently set
987
910
  * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
988
911
  */
989
- renounce_ownership: (txnOptions?: {
990
- /**
991
- * The fee to pay for the transaction. Default: BASE_FEE
992
- */
993
- fee?: number;
994
- /**
995
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
996
- */
997
- timeoutInSeconds?: number;
998
- /**
999
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1000
- */
1001
- simulate?: boolean;
1002
- }) => Promise<AssembledTransaction<null>>;
912
+ renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1003
913
  /**
1004
914
  * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1005
915
  * Extends the instance TTL.
@@ -1012,20 +922,7 @@ export interface Client {
1012
922
  extend_instance_ttl: ({ threshold, extend_to }: {
1013
923
  threshold: u32;
1014
924
  extend_to: u32;
1015
- }, txnOptions?: {
1016
- /**
1017
- * The fee to pay for the transaction. Default: BASE_FEE
1018
- */
1019
- fee?: number;
1020
- /**
1021
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1022
- */
1023
- timeoutInSeconds?: number;
1024
- /**
1025
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1026
- */
1027
- simulate?: boolean;
1028
- }) => Promise<AssembledTransaction<null>>;
925
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1029
926
  /**
1030
927
  * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1031
928
  * Sets TTL configs for instance and persistent storage.
@@ -1044,38 +941,12 @@ export interface Client {
1044
941
  set_ttl_configs: ({ instance, persistent }: {
1045
942
  instance: Option<TtlConfig>;
1046
943
  persistent: Option<TtlConfig>;
1047
- }, txnOptions?: {
1048
- /**
1049
- * The fee to pay for the transaction. Default: BASE_FEE
1050
- */
1051
- fee?: number;
1052
- /**
1053
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1054
- */
1055
- timeoutInSeconds?: number;
1056
- /**
1057
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1058
- */
1059
- simulate?: boolean;
1060
- }) => Promise<AssembledTransaction<null>>;
944
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1061
945
  /**
1062
946
  * Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1063
947
  * Returns the current TTL configs as (instance_config, persistent_config).
1064
948
  */
1065
- ttl_configs: (txnOptions?: {
1066
- /**
1067
- * The fee to pay for the transaction. Default: BASE_FEE
1068
- */
1069
- fee?: number;
1070
- /**
1071
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1072
- */
1073
- timeoutInSeconds?: number;
1074
- /**
1075
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1076
- */
1077
- simulate?: boolean;
1078
- }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
949
+ ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1079
950
  /**
1080
951
  * Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1081
952
  * Permanently freezes TTL configs, preventing any future modifications.
@@ -1086,38 +957,12 @@ export interface Client {
1086
957
  * # Panics
1087
958
  * - `TtlConfigAlreadyFrozen` if already frozen
1088
959
  */
1089
- freeze_ttl_configs: (txnOptions?: {
1090
- /**
1091
- * The fee to pay for the transaction. Default: BASE_FEE
1092
- */
1093
- fee?: number;
1094
- /**
1095
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1096
- */
1097
- timeoutInSeconds?: number;
1098
- /**
1099
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1100
- */
1101
- simulate?: boolean;
1102
- }) => Promise<AssembledTransaction<null>>;
960
+ freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1103
961
  /**
1104
962
  * Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1105
963
  * Returns whether TTL configs are frozen.
1106
964
  */
1107
- is_ttl_configs_frozen: (txnOptions?: {
1108
- /**
1109
- * The fee to pay for the transaction. Default: BASE_FEE
1110
- */
1111
- fee?: number;
1112
- /**
1113
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1114
- */
1115
- timeoutInSeconds?: number;
1116
- /**
1117
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1118
- */
1119
- simulate?: boolean;
1120
- }) => Promise<AssembledTransaction<boolean>>;
965
+ is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1121
966
  }
1122
967
  export declare class Client extends ContractClient {
1123
968
  readonly options: ContractClientOptions;