@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.
- package/.turbo/turbo-test.log +662 -466
- package/LICENSE +23 -0
- package/dist/generated/bml.d.ts +101 -106
- package/dist/generated/bml.js +108 -26
- package/dist/generated/counter.d.ts +123 -484
- package/dist/generated/counter.js +103 -25
- package/dist/generated/dvn.d.ts +141 -699
- package/dist/generated/dvn.js +106 -28
- package/dist/generated/dvn_fee_lib.d.ts +31 -248
- package/dist/generated/dvn_fee_lib.js +27 -24
- package/dist/generated/endpoint.d.ts +158 -836
- package/dist/generated/endpoint.js +107 -29
- package/dist/generated/executor.d.ts +139 -671
- package/dist/generated/executor.js +106 -28
- package/dist/generated/executor_fee_lib.d.ts +109 -264
- package/dist/generated/executor_fee_lib.js +106 -28
- package/dist/generated/executor_helper.d.ts +95 -92
- package/dist/generated/executor_helper.js +103 -25
- package/dist/generated/layerzero_view.d.ts +178 -335
- package/dist/generated/layerzero_view.js +172 -33
- package/dist/generated/oft.d.ts +137 -680
- package/dist/generated/oft.js +103 -25
- package/dist/generated/price_feed.d.ts +45 -444
- package/dist/generated/price_feed.js +27 -24
- package/dist/generated/sml.d.ts +119 -428
- package/dist/generated/sml.js +103 -25
- package/dist/generated/treasury.d.ts +109 -288
- package/dist/generated/treasury.js +103 -25
- package/dist/generated/uln302.d.ts +190 -527
- package/dist/generated/uln302.js +170 -31
- package/dist/generated/upgrader.d.ts +14 -34
- package/dist/generated/upgrader.js +24 -21
- package/package.json +8 -9
- package/src/generated/bml.ts +120 -141
- package/src/generated/counter.ts +141 -572
- package/src/generated/dvn.ts +161 -819
- package/src/generated/dvn_fee_lib.ts +48 -301
- package/src/generated/endpoint.ts +171 -977
- package/src/generated/executor.ts +159 -787
- package/src/generated/executor_fee_lib.ts +130 -323
- package/src/generated/executor_helper.ts +113 -124
- package/src/generated/layerzero_view.ts +201 -408
- package/src/generated/oft.ts +155 -796
- package/src/generated/price_feed.ts +62 -525
- package/src/generated/sml.ts +137 -508
- package/src/generated/treasury.ts +127 -348
- package/src/generated/uln302.ts +212 -627
- package/src/generated/upgrader.ts +28 -54
- package/test/counter-sml.test.ts +218 -142
- package/test/counter-uln.test.ts +189 -145
- package/test/oft-sml.test.ts +173 -156
- package/test/suites/constants.ts +7 -1
- package/test/suites/globalSetup.ts +140 -74
- package/turbo.json +1 -1
package/src/generated/dvn.ts
CHANGED
|
@@ -29,15 +29,15 @@ export * as rpc from '@stellar/stellar-sdk/rpc'
|
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Embedded WASM bytecode (base64-encoded)
|
|
32
|
-
* Size:
|
|
32
|
+
* Size: 56479 bytes (55.16 KB)
|
|
33
33
|
*/
|
|
34
|
-
export const WASM_BASE64 = "AGFzbQEAAAABzgEhYAJ+fgF+YAF+AX5gA35+fgF+YAABfmAEfn5+fgF+YAN/f38AYAF/AX5gA35+fgBgA39+fgBgAABgAAF/YAF/AGACf38AYAF/AX9gAn5+AX9gAn5+AGADfn5/AGACf34AYAF+AGACfn8AYAR/f39/AX5gAX4Bf2ACf38BfmAFfn9/f38AYAN+f38BfmACf38Bf2ADf35+AX5gA39/fgBgB35+fn5+fn4BfmAFf35/fn4AYAR+fn9/AX5gCX5+fn5+fn5+fgF+YAN/f38BfwKhAjABbAExAAABYQEwAAEBdgEzAAEBdgExAAABYgE4AAEBYgE2AAABYgFmAAIBYwEyAAIBYwExAAEBdgFkAAABdgEyAAABdgE2AAABeAExAAABdgFfAAMBeAE0AAMBaQEwAAEBdgE4AAEBeAE3AAMBeAEwAAABYgFlAAABYgEwAAEBYwEwAAIBbAFfAAIBbAEyAAABaQFfAAEBZAFfAAIBaQE4AAEBaQE3AAEBYgE0AAMBYgFfAAEBbAE2AAEBeAEzAAMBeAE4AAMBaQEzAAABaQE1AAEBaQE0AAEBYgEzAAABbQFhAAQBdgFnAAABYgFtAAIBaQE2AAABYgFqAAABYgEyAAQBbQE5AAIBbAEwAAABbAE4AAABeAE1AAEBbAE3AAQDqAGmAQUGBwgJCgsMDQoGDgMDDwoQAxEODA4SCQoFEQgTAxERCwUBFBIVEwMWCwwMCgwVDQsLFQoVCgYVEwwRFxEMCAIREQwYGQoRERENFhoBGwAAAAsLAAALABICABIAEhIDAQMBAwEDAQEDAwABAwMcHQgcDBYAAQMCHh8MDAYMEgsCAQsBAwwDAwAREhMBAwMBAwACAAARBgMMAwMJBRERBQYMBREMICAEBQFwAQEBBQMBABEGIQR/AUGAgMAAC38AQeCDwAALfwBB8IrAAAt/AEHwisAACwejBzcGbWVtb3J5AgAMX19jaGVja19hdXRoAG8Kc2V0X3BhdXNlZAB8CXNldF9hZG1pbgB+GXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAfw1zZXRfYWxsb3dsaXN0AIABDHNldF9kZW55bGlzdACDARpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwCEARNzZXRfZGVwb3NpdF9hZGRyZXNzAIYBGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAIgBEnNldF93b3JrZXJfZmVlX2xpYgCJAQ5zZXRfcHJpY2VfZmVlZACLAQZwYXVzZWQAjgEIaXNfYWRtaW4AjwEGYWRtaW5zAJABGGlzX3N1cHBvcnRlZF9tZXNzYWdlX2xpYgCRAQxtZXNzYWdlX2xpYnMAkgEPaXNfb25fYWxsb3dsaXN0AJMBDmFsbG93bGlzdF9zaXplAJQBDmlzX29uX2RlbnlsaXN0AJUBB2hhc19hY2wAlgEWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwCXAQ9kZXBvc2l0X2FkZHJlc3MAmAEaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAmgEOd29ya2VyX2ZlZV9saWIAmwEKcHJpY2VfZmVlZACcAQdnZXRfZmVlAJ0BCmFzc2lnbl9qb2IAoAEOc2V0X2RzdF9jb25maWcAowEKZHN0X2NvbmZpZwCkAQN2aWQApQEOaGFzaF9jYWxsX2RhdGEApgENX19jb25zdHJ1Y3RvcgCoARJzZXRfYWRtaW5fYnlfYWRtaW4ArwEHdXBncmFkZQCwAQdtaWdyYXRlALIBBmZyZWV6ZQCzAQlpc19mcm96ZW4AtQEKYXV0aG9yaXplcgC2AQpzZXRfc2lnbmVyALcBDXNldF90aHJlc2hvbGQAuwELZ2V0X3NpZ25lcnMAvAENdG90YWxfc2lnbmVycwC9AQlpc19zaWduZXIAvgEJdGhyZXNob2xkAL8BEXZlcmlmeV9zaWduYXR1cmVzAMABE3ZlcmlmeV9uX3NpZ25hdHVyZXMAwQETZXh0ZW5kX2luc3RhbmNlX3R0bADCAQ9zZXRfdHRsX2NvbmZpZ3MAwwELdHRsX2NvbmZpZ3MAxgESZnJlZXplX3R0bF9jb25maWdzAMgBFWlzX3R0bF9jb25maWdzX2Zyb3plbgDJAQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKtbYBpgEiACAAELGAgIAAIAGtQiCGQgSEIAKtQiCGQgSEELKAgIAAC9EBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAKAIADgMAAQIACyABQY2CwIAAQQMQyYCAgAAgASgCAA0DIAEgASkDCBDKgICAAAwCCyABQZCCwIAAQQkQyYCAgAAgASgCAA0CIAEgASkDCCAANQIEQiCGQgSEEMuAgIAADAELIAFBmYLAgABBCBDJgICAACABKAIADQEgASABKQMIIAApAwgQy4CAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsRACAAQgEgASACEK+AgIAAGgs3AQF+QgAhAwJAAkAgAUICUQ0AIAGnQQFxDQEgACACNwMIQgEhAwsgACADNwMADwsQtICAgAAACwkAEMqBgIAAAAtYAQJ/I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALQQAQuICAgAAhASAAQRBqJICAgIAAIAFB/QFxCwwAIABBARDQgYCAAAsbACAArUIghkIEhCABrUIghkIEhBCtgICAABoLRwIBfwF+QQIhAQJAIAAQz4GAgAAiAkICELuAgIAARQ0AQQEhAQJAAkAgAkICEICAgIAAp0H/AXEOAgECAAsAC0EAIQELIAELiwECAn8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtoCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELeAgIAAC0EAIQECQEEAELqAgIAAIgJCAhC7gICAAEUNAEEBIQECQAJAIAJCAhCAgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQaaGwIAAQQYQyYCAgAAgASgCAA0DIAEgASkDCBDKgICAAAwCCyABQayGwIAAQQgQyYCAgAAgASgCAA0CIAEgASkDCBDKgICAAAwBCyABQbSGwIAAQQoQyYCAgAAgASgCAA0BIAEgASkDCBDKgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AIAAgARCsgICAAEIBUQsVAQF+EL2AgIAAIgAQgYCAgAAaIAALVAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALEJGAgIAAIQEgAEEQaiSAgICAACABC1gBAX8jgICAgABBEGsiAiSAgICAACACQQRqELaAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC3gICAAAsgACABEL+AgIAAEMCAgIAAIAJBEGokgICAgAALRgIBfwF+QQAhAAJAAkBBARCrgYCAACIBQgIQu4CAgABFDQAgAUICEICAgIAAIgFC/wGDQgRSDQEgAUIgiKchAAsgAA8LAAuSBQQBfwV+An8BfiOAgICAAEEwayIDJICAgIAAIANBIGoQtoCAgAACQCADKAIgQQFHDQAgAygCJCADKAIoELeAgIAACwJAAkACQAJAAkACQCACRQ0AIAIgARCCgICAAEIgiKdLDQEQwYCAgAAhBCABEIKAgIAAQiCIIQVCACEGQQAhAgJAA0AgBiAFUQ0FAkAgASAGQiCGQgSEEIOAgIAAIgdC/wGDQsgAUg0AIAcQhICAgAAhCCAGQv////8PUQ0CIAhCgICAgHCDQoCAgICQCFINAiAHEISAgIAAQv////+PCFgNBSAHQoSAgICACBCFgICAACEIIAdCBEKEgICAgAgQhoCAgAAiBxCEgICAAEKAgICAcINCgICAgIAIUg0CIANBIGogACAHIAhCIIinIglBZWoiCiAJIApB/wFxQQRJG61C/wGDQiCGQgSEEIeAgIAAQoSAgIAQQoSAgICQCBCGgICAABCIgICAAEKEgICAwAFChICAgIAEEIaAgIAAEMKAgIAAIAMoAiBBAUYNAiADKQMoIQcCQCACQQFxRQ0AIAcgCxDDgICAAEEYdEEYdUEATA0ICyAEEIKAgIAAIQggA0EANgIIIAMgBDcDACADIAhCIIg+AgwDQCADQSBqIAMQxICAgAAgA0EQaiADKQMgIAMpAygQs4CAgAAgAygCEEEBRw0JIAMpAxggBxDFgICAAEUNAAsgBkIBfCEGQQEhAiAHIQsMAQsLIAZC/////w9SGgsQtICAgAAAC0KDgICAsIUBEMaAgIAAAAtCg4CAgOCEARDGgICAAAALEMeAgIAAAAsgA0EwaiSAgICAAA8LQoOAgICghQEQxoCAgAAAC0KDgICAgIUBEMaAgIAAAAuNAQQBfwF+AX8BfiOAgICAAEEQayIAJICAgIAAAkACQEEAEKuBgIAAIgFCARC7gICAACICRQ0AIAFCARCAgICAACIDQv8Bg0LLAFINASAAQQRqENCAgIAAIAAoAgRFDQAgACgCCCAAKAIMEKyBgIAACxCNgICAACEBIABBEGokgICAgAAgAyABIAIbDwsACzYBAX5CASECAkAgARCEgICAAEKAgICAcINCgICAgMACUg0AIAAgATcDCEIAIQILIAAgAjcDAAsXACAAIAEQkoCAgAAiAUIAVSABQgBTawuRAQICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQg4CAgAAQuIGAgAACQCADQQFqIgNFDQAgAikDACEEIAAgAikDCDcDCCAAIAQ3AwAgASADNgIIDAELELSAgIAAAAsgAkEQaiSAgICAAAsRACAAIAEQw4CAgABB/wFxRQsLACAAEK6AgIAAGgsJABC0gICAAAALUgECfyOAgICAAEEQayIAJICAgIAAIABBBGoQtoCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELeAgIAACxC/gICAACEBIABBEGokgICAgAAgAQtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDLgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQooGAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEKKBgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC80CAwF/An4BfyOAgICAAEEwayICJICAgIAAEM2AgIAAIgMgABCJgICAACEEAkACQAJAAkACQCABDQAgAkEIaiAEEM6AgIAAIAIoAggiBUECRg0BIAVBAXFFDQIgAigCDCIFIAMQgoCAgABCIIinTw0EIAMgBa1CIIZCBIQQioCAgAAhAwwECyAEQgJRDQJCg4CAgICWARDGgICAAAALELSAgIAAAAtCg4CAgJCWARDGgICAAAALIAMgABCLgICAACEDCyACQQE2AiAgAkEgaiADEM+AgIAAIAJBFGoQ0ICAgAACQCACKAIUQQFHDQAgAkEgaiACKAIYIAIoAhwQ0YCAgAALQo7mrrnqjOTVOBDSgICAACEDIAIgADcDKCACIAGtNwMgIANB1IbAgABBAiACQSBqQQIQ04CAgAAQjICAgAAaIAJBMGokgICAgAALqQECAX8DfiOAgICAAEEwayIAJICAgIAAIABBEGoQtoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELeAgIAACyAAQQE2AgAgAEEQaiAAENuAgIAAAkAgACkDECIBUA0AIABBJGoQ0ICAgAAgACgCJEEBRw0AIAAgACgCKCAAKAIsENGAgIAACxCNgICAACECIAApAxghAyAAQTBqJICAgIAAIAMgAiABpxsLPQECfwJAAkAgAUICUg0AQQAhAgwBC0EBQQIgAUL/AYNCBFEbIQIgAUIgiKchAwsgACADNgIEIAAgAjYCAAsVACAAEOaAgIAAIAFCARCWgICAABoLDAAgAEECENCBgIAACyIAIAAQ5oCAgAAgAa1CIIZCBIQgAq1CIIZCBIQQsoCAgAALYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEKKBgIAAIQAgAUEQaiSAgICAACAACy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQq4CAgAALJwAgABCBgICAABoCQCAAENWAgIAADQBCg4CAgMCXARDGgICAAAALC10BAX8jgICAgABBEGsiASSAgICAACABQQRqELaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC3gICAAAsQzYCAgAAgABCJgICAACEAIAFBEGokgICAgAAgAEICUgvRAgMBfwJ+AX8jgICAgABBMGsiAiSAgICAABDXgICAACIDIAAQiYCAgAAhBAJAAkACQAJAAkAgAQ0AIAJBCGogBBDOgICAACACKAIIIgVBAkYNASAFQQFxRQ0CIAIoAgwiBSADEIKAgIAAQiCIp08NBCADIAWtQiCGQgSEEIqAgIAAIQMMBAsgBEICUQ0CQoOAgIDQlgEQxoCAgAAACxC0gICAAAALQoOAgIDglgEQxoCAgAAACyADIAAQi4CAgAAhAwsgAkECNgIgIAJBIGogAxDPgICAACACQRRqENCAgIAAAkAgAigCFEEBRw0AIAJBIGogAigCGCACKAIcENGAgIAAC0HkhsCAAEEZENiAgIAAENKAgIAAIQMgAiABrTcDKCACIAA3AyAgA0GUh8CAAEECIAJBIGpBAhDTgICAABCMgICAABogAkEwaiSAgICAAAupAQIBfwN+I4CAgIAAQTBrIgAkgICAgAAgAEEQahC2gICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQt4CAgAALIABBAjYCACAAQRBqIAAQ24CAgAACQCAAKQMQIgFQDQAgAEEkahDQgICAACAAKAIkQQFHDQAgACAAKAIoIAAoAiwQ0YCAgAALEI2AgIAAIQIgACkDGCEDIABBMGokgICAgAAgAyACIAGnGwtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDLgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLVgEBfyOAgICAAEEQayIBJICAgIAAIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACyABQQo2AgAgACABENqAgIAAIAFBEGokgICAgAALTQECfkIAIQICQAJAIAEQ5oCAgAAiA0ICELuAgIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALTQECfkIAIQICQAJAIAEQ5oCAgAAiA0IBELuAgIAARQ0AIANCARCAgICAACICQv8Bg0LLAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALdwEDfyOAgICAAEEgayIAJICAgIAAIABBEGoQtoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELeAgIAACyAAQQQ2AhAgAEEIaiAAQRBqEN2AgIAAIAAoAgghASAAKAIMIQIgAEEgaiSAgICAACACQQAgAUEBcRsLWgIBfgF/AkACQAJAIAEQ5oCAgAAiAkICELuAgIAADQBBACEBDAELIAJCAhCAgICAACICQv8Bg0IEUg0BIAJCIIinIQNBASEBCyAAIAM2AgQgACABNgIADwsAC4wBAQJ/I4CAgIAAQSBrIgEkgICAgAAgARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALIAFBBTYCACABIAA3AwgCQCABEN+AgIAAIgJFDQAgAUEUahDQgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQ0YCAgAALIAFBIGokgICAgAAgAgsSACAAEOaAgIAAQgEQu4CAgAALVgEBfyOAgICAAEEQayIBJICAgIAAIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACyABQQk2AgAgACABENqAgIAAIAFBEGokgICAgAALVgEBfyOAgICAAEEQayIBJICAgIAAIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACyABQQc2AgAgACABENqAgIAAIAFBEGokgICAgAALjAEBAn8jgICAgABBIGsiASSAgICAACABELaAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC3gICAAAsgAUEDNgIAIAEgADcDCAJAIAEQ34CAgAAiAkUNACABQRRqENCAgIAAIAEoAhRBAUcNACABIAEoAhggASgCHBDRgICAAAsgAUEgaiSAgICAACACC3cBA38jgICAgABBIGsiACSAgICAACAAQRBqELaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC3gICAAAsgAEEGNgIQIABBCGogAEEQahDdgICAACAAKAIIIQEgACgCDCECIABBIGokgICAgAAgAkEAIAFBAXEbC10BAX8jgICAgABBEGsiASSAgICAACABQQRqELaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC3gICAAAsQ14CAgAAgABCJgICAACEAIAFBEGokgICAgAAgAEICUguPAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgABC2gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQt4CAgAALQQAhASAAQQA2AgACQCAAEOaAgIAAIgJCAhC7gICAAEUNAEEBIQECQAJAIAJCAhCAgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELpgQCAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgsAAQIDBAUGBwgJCgALIAFB8InAgABBBhDJgICAACABKAIADQsgASABKQMIEMqAgIAADAoLIAFB9onAgABBBhDJgICAACABKAIADQogASABKQMIEMqAgIAADAkLIAFB/InAgABBCxDJgICAACABKAIADQkgASABKQMIEMqAgIAADAgLIAFBh4rAgABBCRDJgICAACABKAIADQggASABKQMIIAApAwgQy4CAgAAMBwsgAUGQisCAAEENEMmAgIAAIAEoAgANByABIAEpAwgQyoCAgAAMBgsgAUGdisCAAEEIEMmAgIAAIAEoAgANBiABIAEpAwggACkDCBDLgICAAAwFCyABQaWKwIAAQRQQyYCAgAAgASgCAA0FIAEgASkDCBDKgICAAAwECyABQbmKwIAAQQ4QyYCAgAAgASgCAA0EIAEgASkDCBDKgICAAAwDCyABQceKwIAAQRQQyYCAgAAgASgCAA0DIAEgASkDCCAANQIEQiCGQgSEEMuAgIAADAILIAFB24rAgABBDBDJgICAACABKAIADQIgASABKQMIEMqAgIAADAELIAFB54rAgABBCRDJgICAACABKAIADQEgASABKQMIEMqAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILfAECfyOAgICAAEEQayIBJICAgIAAIAFBBGoQtoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELeAgIAACwJAAkAgABDegICAAEUNAEEAIQIMAQsCQBDcgICAAA0AQQEhAgwBCyAAEOKAgIAAIQILIAFBEGokgICAgAAgAgspAAJAIACnQQFxRQ0ADwsgAUHQdmqtQiCGQoOAgICAlgGEEMaAgIAAAAtpAgF/AX4CQCABKAIIIgIgASgCDEkNACAAQgI3AwAPCyABKQMAIAKtQiCGQgSEEIOAgIAAIQMCQCACQQFqIgJFDQAgACADNwMIIAEgAjYCCCAAIANC/wGDQs0AUq03AwAPCxC0gICAAAALlQICAn8EfiOAgICAAEHAAGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUG4gcCAAEEDIAJBCGpBAxDrgICAACACQSBqIAIpAwgQ7ICAgAAgAigCIEEBRg0AIAIpAzghASACKQMwIQYgAkEgaiACKQMQEOyAgIAAIAIoAiBBAUYNACACKQMYIgdC/wGDQgRSDQAgAikDOCEEIAIpAzAhBSAAIAY3AyAgACAFNwMQIAAgATcDKCAAIAQ3AxggACAHQiCIPgIwQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkHAAGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEKWAgIAAGgt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQooCAgAAhAyABEKOAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALrgECAX8CfiOAgICAAEEgayICJICAgIAAIAJBCGogASkDECABKQMYEO6AgIAAQgEhAwJAIAIoAggNACACKQMQIQQgAkEIaiABKQMAIAEpAwgQ7oCAgAAgAigCCA0AIAIgAikDEDcDECACIAQ3AwggAiABNQIgQiCGQgSENwMYIABBuIHAgABBAyACQQhqQQMQ04CAgAA3AwhCACEDCyAAIAM3AwAgAkEgaiSAgICAAAtGAAJAAkAgAUL//////////wBWIAJCAFIgAlAbDQAgAUIIhkIKhCECDAELIAIgARChgICAACECCyAAQgA3AwAgACACNwMIC5ESCAF/AX4BfwN+An8BfgF/A34jgICAgABBwABrIgMkgICAgAAgA0EQaiAAEPCAgIAAAkAgAygCEEEBRg0AIAMpAxghBEEAIQUCQANAIAVBIEYNASADQRBqIAVqQgI3AwAgBUEIaiEFDAALCyABQv8Bg0LMAFINACABQZiBwIAAQQQgA0EQakEEEOuAgIAAIANBMGogAykDEBDxgICAACADKAIwDQAgAykDGCIBQv8Bg0LLAFINACADKQM4IQYgARCCgICAACEAIANBADYCCCADIAE3AwAgAyAAQiCIPgIMIANBMGogAxDygICAACADKQMwIgFCAlENACABp0EBcQ0AAkAgAykDOCIBp0H/AXEiBUHKAEYNACAFQQ5HDQELAkACQAJAIAFB8IDAgABBAhDzgICAAEIgiKcOAgABAwsgAygCCCADKAIMEPSAgIAADQJBACEFDAELIAMoAgggAygCDBD0gICAAEECSw0BIANBMGogAxDygICAACADKQMwIgFCAlENASABp0EBcQ0BIANBMGogAykDOBDwgICAACADKAIwDQEgAykDOCEHIANBMGogAxDygICAACADKQMwIgFCAlENASABp0EBcQ0BIAMpAzgiAEL/AYNCyABSDQFBASEFIAAQhICAgABCgICAgHCDQoCAgICACFINAQsgAykDICIIQv8Bg0LLAFINACADKQMoIgFC/wGDQgRSDQAgAkL/AYNCywBSDQAgAUIgiKchCSADQRBqELaAgIAAAkAgAygCEEEBRw0AIAMoAhQgAygCGBC3gICAAAsCQAJAAkAQ9YCAgAAgCUYNAEKDgICAwAAhAQwBCwJAAkAQjoCAgAAiAadB/wFxIgpBBkYNACAKQcAARw0DIAEQj4CAgAAhAQwBCyABQgiIIQELAkAgBiABVg0AQoOAgIAQIQEMAQsCQAJAIAIQgoCAgABCgICAgHCDQoCAgIAQUg0AIAIQgoCAgABCgICAgBBUDQAgAhCQgICAACIBQv8Bg0LLAFINBCABEIKAgIAAIQsgA0EANgIIIAMgATcDACADIAtCIIg+AgwgA0EQaiADEPKAgIAAIAMpAxAiAUICUQ0EIAGnQQFxDQQCQCADKQMYIgGnQf8BcSIKQcoARg0AIApBDkcNBQsCQAJAAkACQCABQbCAwIAAQQMQ84CAgABCIIinDgMAAQIICyADKAIIIAMoAgwQ9ICAgABBAUsNByADQTBqIAMQ8oCAgAAgAykDMCIBQgJRDQcgAadBAXENByADQRBqIAMpAzgQ9oCAgAAgAygCEEEBRg0HIAMpAyAhASADKQMYEJGAgIAAEJKAgIAAQgBSDQNBhILAgABBCRDYgICAACELAkAgAUL/AYNCDlINACALQv8Bg0IOUQ0DCyABIAsQkoCAgABQDQQMAwsgAygCCCADKAIMEPSAgIAAQQFLDQYgA0EwaiADEPKAgIAAIAMpAzAiAUICUQ0GIAGnQQFxDQYgA0EQaiADKQM4EPeAgIAAIAMoAhBFDQIMBgsgAygCCCADKAIMEPSAgIAAQQFLDQUgA0EwaiADEPKAgIAAIAMpAzAiAUICUQ0FIAGnQQFxDQUgA0EQaiADKQM4EPiAgIAAIAMoAhBFDQEMBQsgAyALQgiINwMQIAMgAUIIiDcDMAJAA0AgA0EwahD5gICAACEKIANBEGoQ+YCAgAAhDCAKQYCAxABGDQEgCiAMRw0CDAALCyAMQYCAxABGDQELQoOAgIDgACEBIAVFDQFB4IPAgABBDBD6gICAACAHEJOAgIAAEJSAgIAAIgtC/wGDQs0AUg0DIAsQ1YCAgABFDQEgByAEIAAQlYCAgAAaCxCNgICAACENIAIQgoCAgABCIIghDkIAIQFCBCEAAkADQCAOIAFRDQECQAJAIAIgABCDgICAACIHQv8Bg0LLAFINAEEAIQogBxCCgICAACEEIANBADYCCCADIAc3AwAgAyAEQiCIPgIMIANBEGogAxDygICAAEEBIQUCQAJAIAMpAxAiB0ICUQ0AQQEhBSAHp0EBcQ0AAkAgAykDGCIPp0H/AXEiDEHKAEYNACAMQQ5HDQELAkACQAJAIA9BsIDAgABBAxDzgICAAEIgiKcOAwABAgQLQQEhBSADKAIIIAMoAgwQ9ICAgABBAUsNAiADQTBqIAMQ8oCAgAAgAykDMCIHQgJRDQIgB6dBAXENAiADQRBqIAMpAzgQ9oCAgAAgAygCEA0CIAMpAyghByADKQMgIQQgAykDGCELQQEhCkEAIQUMAwtBASEFIAMoAgggAygCDBD0gICAAEEBSw0BIANBMGogAxDygICAACADKQMwIgdCAlENASAHp0EBcQ0BIANBEGogAykDOBD3gICAACADKAIQDQEgAykDICEEIAMpAxghC0EAIQVBACEKDAILQQEhBSADKAIIIAMoAgwQ9ICAgABBAUsNACADQTBqIAMQ8oCAgAAgAykDMCIHQgJRDQAgB6dBAXENACADQRBqIAMpAzgQ+ICAgAAgAygCEA0AIAMpAyghByADKQMgIQQgAykDGCELQQAhBUEAIQoMAQsLIAFC/////w9RDQUgBQ0FIAoNAUKDgICA0AAhAQwECyABQv////8PUhoMBAsgAyALNwMgIAMgBDcDGCADIAc3AxAgAEKAgICAEHwhACABQgF8IQEgDUHsgcCAAEEDIANBEGpBAxDTgICAABCLgICAACENDAALCyAJIAYgDRD7gICAACEBIANBAjYCECADIAE3AxgCQCADQRBqELGAgIAAIgJCARC7gICAAEUNAEEBIQUCQAJAIAJCARCAgICAAKdB/wFxDgIAAQULQQAhBQsgA0EwahDQgICAAAJAIAMoAjBBAUcNACADQRBqIAMoAjQgAygCOBCwgICAAAsgBUUNAEKDgICAMCEBDAELIANBAjYCECADIAE3AxggA0EQahCxgICAAEIBQgEQloCAgAAaIANBMGoQ0ICAgAACQCADKAIwQQFHDQAgA0EQaiADKAI0IAMoAjgQsICAgAALIAEgCBC+gICAAEICIQELIANBwABqJICAgIAAIAEPCxC0gICAAAALAAtCAQF+QgEhAgJAIAFC/wGDQsgAUg0AIAEQhICAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCPgICAACEBCyAAIAM3AwAgACABNwMIC0oCAX4Bf0ICIQICQCABKAIIIgMgASgCDE8NACAAIAEpAwAgA61CIIZCBIQQg4CAgAA3AwggASADQQFqNgIIQgAhAgsgACACNwMACxwAIAAgAa1CIIZCBIQgAq1CIIZCBIQQp4CAgAALGQACQCABIABJDQAgASAAaw8LELSAgIAAAAuMAQIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABC2gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQt4CAgAALIABBADYCAAJAAkAgABCxgICAACIBQgIQu4CAgABFDQAgAUICEICAgIAAIgFC/wGDQgRRDQEACxDHgICAAAALIABBEGokgICAgAAgAUIgiKcL0wECAn8DfiOAgICAAEEgayICJICAgIAAQQAhAwJAA0AgA0EYRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBhITAgABBAyACQQhqQQMQ64CAgAAgAikDCCIBQv8Bg0LLAFINACACKQMQIgVC/wGDQs0AUg0AAkAgAikDGCIGp0H/AXEiA0HKAEYNACADQQ5HDQELIAAgATcDGCAAIAY3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBIGokgICAgAALvgECAn8BfiOAgICAAEEgayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBrITAgABBAiACQQIQ64CAgAAgAkEQaiACKQMAEMyBgIAAIAIoAhANACACKQMYIQEgAkEQaiACKQMIEPCAgIAAIAIoAhANACAAIAIpAxg3AxAgACABNwMIQgAhBAsgACAENwMAIAJBIGokgICAgAAL4AECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EYRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBzITAgABBAyACQQhqQQMQ64CAgAAgAikDCCIBQv8Bg0LLAFINACACQSBqIAIpAxAQzIGAgAAgAigCIA0AIAIpAyghBSACQSBqIAIpAxgQ8ICAgAAgAigCIA0AIAIpAyghBCAAIAE3AxggACAENwMQIAAgBTcDCEIAIQQLIAAgBDcDACACQTBqJICAgIAAC5YBAgF+An8gACkDACEBA0ACQCABUEUNAEGAgMQADwsCQAJAIAFCMIinQT9xIgJBAUcNAEHfACECDAELAkACQAJAIAJBf2pBC08NAEEuIQMMAQsCQCACQXRqQRpPDQBBNSEDDAELIAJBJU0NAUE7IQMLIAIgA2ohAgwBCyAAIAFCBoYiATcDAAwBCwsgACABQgaGNwMAIAILGgAgAK1CIIZCBIQgAa1CIIZCBIQQpICAgAALowICAX8BfiOAgICAAEEQayIDJICAgIAAIAMQtoCAgAACQCADKAIAQQFHDQAgAygCBCADKAIIELeAgIAACxCcgICAACEEIAMgAEEYdCAAQYD+A3FBCHRyIABBCHZBgP4DcSAAQRh2cnI2AgAgBCAEEISAgIAAQoCAgIBwg0IEhCADQQQQp4GAgAAhBCADIAFCOIYgAUKA/gODQiiGhCABQoCA/AeDQhiGIAFCgICA+A+DQgiGhIQgAUIIiEKAgID4D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQ3AwAgBCAEEISAgIAAQoCAgIBwg0IEhCADQQgQp4GAgAAgAhCdgICAABCTgICAABCIgICAACEBIANBEGokgICAgAAgAQudAgICfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAQQEgAKdB/wFxIgJBAEdBAXQgAkEBRhsiAkECRg0AIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACxC8gICAACEAEOWAgIAAIAJzQQFxRQ0BIAFBADYCACABIAJCAhD9gICAAAJAAkAgAkEBcQ0AQo7SqtzurM/1ABDSgICAACEDIAEgADcDACADQYiIwIAAQQEgAUEBENOAgIAAEIyAgIAAGgwBC0KO0qrc7qwDENKAgIAAIQMgASAANwMAIANB+IfAgABBASABQQEQ04CAgAAQjICAgAAaCyABQRBqJICAgIAAQgIPCwALQoOAgICglwEQxoCAgAAACxoAIAAQ5oCAgAAgAa1C/wGDIAIQloCAgAAaC40BAQJ/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACQQRqELaAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC3gICAAAsQvICAgAAaIAAgA0EBcRDMgICAACACQRBqJICAgIAAQgIPCwALjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQtoCAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELeAgIAACxC8gICAABogACADQQFxENaAgIAAIAJBEGokgICAgABCAg8LAAujAwEDfyOAgICAAEEgayICJICAgIAAAkACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEQahC2gICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQt4CAgAALELyAgIAAGiAAEOKAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBAzYCECACIAA3AxggAkEQahDmgICAAEIBEJeAgIAAGhDcgICAACIERQ0FIARBf2ohBAwBCyAEDQMgAkEDNgIQIAIgADcDGCACQRBqEIGBgIAAIAJBBGoQ0ICAgAACQCACKAIEQQFHDQAgAkEQaiACKAIIIAIoAgwQ0YCAgAALENyAgIAAQQFqIgRFDQQLIAQQgoGAgABBpIfAgABBDRDYgICAABDSgICAACEBIAIgADcDGCACIAOtNwMQIAFBvIfAgABBAiACQRBqQQIQ04CAgAAQjICAgAAaIAJBIGokgICAgABCAg8LAAtCg4CAgICXARDGgICAAAALQoOAgICglgEQxoCAgAAACxC0gICAAAALDgAgAEEBQgEQ/YCAgAALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBBDYCACABIAAQ04GAgAAgAUEQaiSAgICAAAvuAgEDfyOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBEGoQtoCAgAACQCACKAIQQQFHDQAgAigCFCACKAIYELeAgIAACxC8gICAABogABDegICAACEEAkACQCADQQFxDQAgBEUNAyACQQU2AhAgAiAANwMYIAJBEGoQ5oCAgABCARCXgICAABoMAQsgBA0DIAJBBTYCECACIAA3AxggAkEQahCBgYCAACACQQRqENCAgIAAIAIoAgRBAUcNACACQRBqIAIoAgggAigCDBDRgICAAAtBzIfAgABBDBDYgICAABDSgICAACEBIAIgADcDGCACIAOtNwMQIAFB4IfAgABBAiACQRBqQQIQ04CAgAAQjICAgAAaIAJBIGokgICAgABCAg8LAAtCg4CAgJCXARDGgICAAAALQoOAgICwlgEQxoCAgAAAC3oBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEEahC2gICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQt4CAgAALIAAQ1ICAgAAgAUIgiKcQhYGAgAAgAkEQaiSAgICAAEICDwsAC3ICAX8BfiOAgICAAEEQayIBJICAgIAAIAFBBjYCACABIAAQ04GAgABBkIjAgABBGhDYgICAABDSgICAACECIAEgAK1CIIZCBIQ3AwAgAkG4iMCAAEEBIAFBARDTgICAABCMgICAABogAUEQaiSAgICAAAusAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAhC2gICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQt4CAgAALIAAQ1ICAgAAgARCHgYCAAEHAiMCAAEETENiAgIAAENKAgIAAIQAgAiABNwMAIABB5IjAgABBASACQQEQ04CAgAAQjICAgAAaIAJBEGokgICAgABCAg8LAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEHNgIAIAEgABDSgYCAACABQRBqJICAgIAAC5cCAQF/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJC/wGDQsgAUg0AIANBEGoQtoCAgAACQCADKAIQQQFHDQAgAygCFCADKAIYELeAgIAACyAAENSAgIAAIANBCDYCECADIAFCIIg+AhQgA0EQahDmgICAACACQgEQloCAgAAaIANBBGoQ0ICAgAACQCADKAIEQQFHDQAgA0EQaiADKAIIIAMoAgwQ0YCAgAALQYyJwIAAQRoQ2ICAgAAQ0oCAgAAhACADIAI3AxggAyABQoSAgIBwgzcDECAAQbyJwIAAQQIgA0EQakECENOAgIAAEIyAgIAAGiADQSBqJICAgIAAQgIPCwALrAEBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAIQtoCAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELeAgIAACyAAENSAgIAAIAEQioGAgABBzInAgABBEhDYgICAABDSgICAACEAIAIgATcDACAAQeiJwIAAQQEgAkEBENOAgIAAEIyAgIAAGiACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBCTYCACABIAAQ0oGAgAAgAUEQaiSAgICAAAt/AQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQQRqELaAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC3gICAAAsgABDUgICAACABEIyBgIAAIAEQjYGAgAAgAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQo2AgAgASAAENKBgIAAIAFBEGokgICAgAALXQIBfwF+I4CAgIAAQRBrIgEkgICAgABB7IjAgABBDhDYgICAABDSgICAACECIAEgADcDCCACQYSJwIAAQQEgAUEIakEBENOAgIAAEIyAgIAAGiABQRBqJICAgIAACwkAEOWAgIAArQsbAAJAIABC/wGDQs0AUQ0AAAsgABDVgICAAK0LCAAQzYCAgAALGwACQCAAQv8Bg0LNAFENAAALIAAQ5ICAgACtCwgAENeAgIAACxsAAkAgAEL/AYNCzQBRDQAACyAAEOKAgIAArQsPABDcgICAAK1CIIZCBIQLGwACQCAAQv8Bg0LNAFENAAALIAAQ3oCAgACtCxsAAkAgAEL/AYNCzQBRDQAACyAAEOeAgIAArQsPABDjgICAAK1CIIZCBIQLPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDhgICAACAAKQMAIAApAwgQmYGAgAAhASAAQRBqJICAgIAAIAELDQAgAUICIACnQQFxGwvIAQICfwF+I4CAgIAAQSBrIgEkgICAgAACQCAAQv8Bg0IEUg0AIABCIIinIQIgARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALIAFBCDYCACABIAI2AgRCAiEAAkAgARDmgICAACIDQgEQu4CAgABFDQAgA0IBEICAgIAAIgBC/wGDQsgAUg0BIAFBFGoQ0ICAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcENGAgIAACyABQSBqJICAgIAAIAAPCwALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDggICAACAAKQMAIAApAwgQmYGAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDZgICAACAAKQMAIAApAwgQmYGAgAAhASAAQRBqJICAgIAAIAELzQEBAX8jgICAgABBIGsiBySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgA0L/AYNCyABSDQAgB0EQaiAEEPCAgIAAIAcoAhBBAUYNACAHQRBqIAUQ8YCAgAAgBygCEEEBRg0AIAZC/wGDQsgAUg0AIAcgASACQiCIpyAHKQMYIAYQnoGAgAAgB0EQaiAHKQMAIAcpAwgQn4GAgAAgBygCEEEBRg0AIAcpAxghASAHQSBqJICAgIAAIAEPCwAL0AUEAX8HfgJ/AX4jgICAgABB4ABrIgUkgICAgAAgBRC2gICAAAJAIAUoAgBBAUcNACAFKAIEIAUoAggQt4CAgAALAkAQ5YCAgAANAAJAIAEQ54CAgABFDQAgBSACEKGBgIAAAkACQCAFKAIAQQFxRQ0AIAUpAyghBiAFKQMgIQcgBSkDGCEIIAUpAxAhCSAFNQIwIQogBRDZgICAACAFKQMIIQsgBSkDAEG7CRDogICAACAFEOCAgIAAIAUpAwghDCAFKQMAQb4JEOiAgIAAEOOAgIAAIQ0QyICAgAAhDhCRgICAACEPAkACQCADQv//////////AFYNACADQgiGQgaEIQMMAQsgAxCYgICAACEDCyAFQdAAaiAHIAYQ7oCAgAAgBSgCUA0BIAUpA1ghBiAFQdAAaiAJIAgQ7oCAgAAgBSgCUEEBRg0BIAUpA1ghByAFIAE3A0ggBSALNwM4IAUgBDcDMCAFIAc3AyAgBSAGNwMYIAUgAq1CIIZCBIQ3AxAgBSANrUIghkIEhDcDCCAFIAM3AwAgBSAKQiCGQgSENwMoIAUgDq1CIIZCBIQ3A0AgBUGIg8CAAEEKIAVBChDTgICAADcDWCAFIA83A1BBACECA0ACQCACQRBHDQBBACECAkADQCACQRBGDQEgBSACaiAFQdAAaiACaikDADcDACACQQhqIQIMAAsLAkACQCAMQo7U6rWQ17IBIAVBAhCigYCAABCZgICAACIDp0H/AXEiAkHFAEYNAAJAIAJBC0cNACADQj+HIQEgA0IIhyEDDAILELSAgIAAAAsgAxCagICAACEBIAMQm4CAgAAhAwsgACADNwMAIAAgATcDCCAFQeAAaiSAgICAAA8LIAUgAmpCAjcDACACQQhqIQIMAAsLQoOAgIAgEMaAgIAACwALQoOAgIDwlgEQxoCAgAAAC0KDgICA8JcBEMaAgIAAAAtbAAJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAIgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAIgARCogICAACEBCyAAQgA3AwAgACABNwMIC98CAQF/I4CAgIAAQcAAayIHJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgA0L/AYNCyABSDQAgByAEEPCAgIAAIAcoAgBBAUYNACAHIAUQ8YCAgAAgBygCAEEBRg0AIAZC/wGDQsgAUg0AIAcpAwghAyAHELaAgIAAAkAgBygCAEEBRw0AIAcoAgQgBygCCBC3gICAAAsgABCBgICAABogABDkgICAAEUNASAHIAEgAkIgiKcgAyAGEJ6BgIAAIAdBMGoQ4YCAgAAgBykDOCEAIAcpAzBBtAkQ6ICAgAAgB0EwaiAHKQMAIAcpAwgQn4GAgAAgBygCMEEBRw0CCwALQoOAgIDQlwEQxoCAgAAACyAHKQM4IQEgByAANwMoIAcgATcDIEGsgsCAAEECIAdBIGpBAhDTgICAACEAIAdBwABqJICAgIAAIAAL9AECAX8BfiOAgICAAEHQAGsiAiSAgICAACACQRBqELaAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC3gICAAAsgAkEBNgIAIAIgATYCBAJAAkACQCACELGAgIAAIgNCARC7gICAAEUNACACQRBqIANCARCAgICAABDqgICAACACKAIQQQFxRQ0BAAsgAEIANwMIIABCADcDAAwBCyAAQRBqIAJBEGpBEGpBMBDVgYCAABogAEIANwMIIABCATcDACACQRBqENCAgIAAIAIoAhBBAUcNACACIAIoAhQgAigCGBCwgICAAAsgAkHQAGokgICAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQpoCAgAAL9gQFAX8BfgF/AX4CfyOAgICAAEHgAWsiAiSAgICAAAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCywBSDQAgAkGgAWoQtoCAgAACQCACKAKgAUEBRw0AIAIoAqQBIAIoAqgBELeAgIAACyAAENSAgIAAIAEQgoCAgABCIIghAyACQaABakEQaiEEQgAhAAJAA0AgACADUQ0BIAEgAEIghkIEhBCDgICAACEFQQAhBgJAA0AgBkEQRg0BIAJB4ABqIAZqQgI3AwAgBkEIaiEGDAALCwJAAkAgBUL/AYNCzABSDQAgBUHYgcCAAEECIAJB4ABqQQIQ64CAgAAgAkGgAWogAikDYBDqgICAACACKAKgAUEBcQ0AIAJB8ABqIARBMBDVgYCAABogAikDaCIFQv8Bg0IEUQ0BCyAAQv////8PUQ0EIAIgAkEwakEwENWBgIAAGgwECyACQTBqIAJB8ABqQTAQ1YGAgAAaIABC/////w9RDQMgAiACQTBqQTAQ1YGAgAAiBkGgAWogBkEwENWBgIAAGiAGIAVCIIinIgc2AtABIAYgBzYCNCAGQQE2AjAgBkEwahCxgICAACEFIAZB8ABqIAZBoAFqEO2AgIAAIAYoAnBBAUYNAiAFIAYpA3hCARCWgICAABogBkHwAGoQ0ICAgAACQCAGKAJwQQFHDQAgBkEwaiAGKAJ0IAYoAngQsICAgAALIABCAXwhAAwACwtByIDAgABBDhDYgICAABDSgICAACEAIAIgATcDoAEgAEHcgMCAAEEBIAJBoAFqQQEQ04CAgAAQjICAgAAaIAJB4AFqJICAgIAAQgIPCwALELSAgIAAAAt6AQF/I4CAgIAAQdAAayIBJICAgIAAAkAgAEL/AYNCBFINACABIABCIIinEKGBgIAAAkACQCABKAIAQQFxDQBCAiEADAELIAFBwABqIAFBEGoQ7YCAgAAgASgCQEEBcQ0BIAEpA0ghAAsgAUHQAGokgICAgAAgAA8LAAsPABD1gICAAK1CIIZCBIQLZwEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCBFINACADIAEQ8YCAgAAgAygCAEEBRg0AIAJC/wGDQssAUg0AIABCIIinIAMpAwggAhD7gICAACEAIANBEGokgICAgAAgAA8LAAseACAAIAEgAq1CIIZCBIQgA61CIIZCBIQQqoCAgAALgAUBAn8jgICAgABBMGsiCSSAgICAAAJAIABC/wGDQgRSDQAgAUL/AYNCywBSDQAgAkL/AYNCBFINACADQv8Bg0LLAFINACAEQv8Bg0LLAFINACAFQv8Bg0LNAFINACAGQv8Bg0IEUg0AIAdC/wGDQs0AUg0AIAhC/wGDQs0AUg0AQYDLHkGA0h8QqYGAgABBgMseQYDSHxCqgYCAAAJAQQAQq4GAgABCARC7gICAAEUNACAJQSBqENCAgIAAAkAgCSgCIEEBRw0AIAkoAiQgCSgCKBCsgYCAAAtCg4CAgMCEARDGgICAAAALIAJCIIinIQogARCCgICAACECIAlBADYCCCAJIAE3AwAgCSACQiCIPgIMAkADQCAJQSBqIAkQxICAgAAgCUEQaiAJKQMgIAkpAygQs4CAgAAgCSgCEEEBRw0BIAkpAxgQrYGAgAAMAAsLIAoQroGAgAAgAxCCgICAACEBIAlBADYCCCAJIAM3AwAgCSABQiCIPgIMAkADQCAJQSBqIAkQ6YCAgAAgCUEQaiAJKQMgIAkpAygQs4CAgAAgCSgCEEEBRw0BIAkpAxhBARDMgICAAAwACwsgBBCCgICAACEBIAlBADYCCCAJIAQ3AwAgCSABQiCIPgIMAkADQCAJQSBqIAkQ6YCAgAAgCUEQaiAJKQMgIAkpAygQs4CAgAAgCSgCEEEBRw0BIAkpAxhBARDWgICAAAwACwsgBRCMgYCAACAFEI2BgIAAIAZCIIinEIWBgIAAIAcQioGAgAAgCBCHgYCAACAJQQA2AiAgCUEgahCxgICAACAAQoSAgIBwg0ICEJaAgIAAGiAJQTBqJICAgIAAQgIPCwALDgBBASAAIAEQ0YGAgAALDgBBAiAAIAEQ0YGAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQbuFwIAAQQkQyYCAgAAgASgCAA0CIAEgASkDCBDKgICAAAwBCyABQbSFwIAAQQcQyYCAgAAgASgCAA0BIAEgASkDCBDKgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCyIAQQAQq4GAgAAgAK1CIIZCBIQgAa1CIIZCBIQQsoCAgAAL3wECAX8CfiOAgICAAEEwayIBJICAgIAAAkACQCAAQeyEwIAAQRQQ+oCAgAAQxYCAgAANABDBgICAACICEIKAgIAAIQMgAUEANgIIIAEgAjcDACABIANCIIg+AgwDQCABQSBqIAEQxICAgAAgAUEQaiABKQMgIAEpAygQs4CAgAAgASgCEEEBRw0CIAEpAxggABDFgICAAEUNAAtCg4CAgPCEARDGgICAAAALQoOAgIDQhAEQxoCAgAAACyACIAAQi4CAgAAQuYGAgAAgAEEBELqBgIAAIAFBMGokgICAgAALuAECAX8CfiOAgICAAEEQayIBJICAgIAAAkACQCAARQ0AIAAQwYCAgAAQgoCAgABCIIinSw0BQQEQq4GAgAAgAK1CIIZCBIQiAkICEJaAgIAAGkGUhcCAAEENENiAgIAAENKAgIAAIQMgASACNwMIIANBrIXAgABBASABQQhqQQEQ04CAgAAQjICAgAAaIAFBEGokgICAgAAPC0KDgICAsIUBEMaAgIAAAAtCg4CAgJCFARDGgICAAAALmgEBAn8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBEECRg0AIANBBGoQtoCAgAACQCADKAIEQQFHDQAgAygCCCADKAIMELeAgIAACyAAENSAgIAAIAEgBEEBcRDMgICAACADQRBqJICAgIAAQgIPCwALmQEBAX8jgICAgABBEGsiASSAgICAACABIAAQ8ICAgAACQAJAIAEoAgBBAUYNACABKQMIIQAgARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALELyAgIAAGhC1gICAAA0BQQEQsYGAgAAgABCegICAABogAUEQaiSAgICAAEICDwsAC0KDgICAwIMBEMaAgIAAAAsMAEEBIAAQtIGAgAALrgEBAX8jgICAgABBEGsiASSAgICAAAJAAkACQCAAQv8Bg0LIAFINACABQQRqELaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC3gICAAAsQvICAgAAaQQEQuICAgABB/QFxRQ0BIAAQlICAgABC/wGDQgJSDQJBABCxgYCAACABQRBqJICAgIAAQgIPCwALQoOAgICwgwEQxoCAgAAAC0KDgICAoIMBEMaAgIAAAAtbAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALELyAgIAAGkEAQQEQtIGAgAAgAEEQaiSAgICAAEICCxoAIAAQz4GAgAAgAa1C/wGDQgIQloCAgAAaCwkAELWAgIAArQsIABC9gICAAAvcAgICfwF+I4CAgIAAQSBrIgIkgICAgAAgAkEQaiAAELiBgIAAAkACQAJAAkAgAigCEEEBRg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAIpAxghACACQRBqELaAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC3gICAAAsQvICAgAAaAkACQCADQQFxDQAgAkEIahDBgICAACIBIAAQiYCAgAAQzoCAgAAgAigCCCIDQQJGDQMgA0UNBAJAIAIoAgwiAyABEIKAgIAAQiCIp08NACABIAOtQiCGQgSEEIqAgIAAIQELIAEQgoCAgAAhBBC/gICAACAEQiCIp0sNBSABELmBgIAAIABBABC6gYCAAAwBCyAAEK2BgIAACyACQSBqJICAgIAAQgIPCwALELSAgIAAAAtCg4CAgICFARDGgICAAAALQoOAgICQhQEQxoCAgAAACyMAAkAgAUL/AYNCyABRDQAgAEIBNwMADwsgACABEMKAgIAAC1sBAX8jgICAgABBEGsiASSAgICAAEEAEKuBgIAAIABCARCWgICAABogAUEEahDQgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQrIGAgAALIAFBEGokgICAgAAL0AEDAX8BfgF/I4CAgIAAQSBrIgIkgICAgABBgIXAgABBChDYgICAACEDIAIgADcDCCACIAM3AwBBACEEA0ACQCAEQRBHDQBBACEEAkADQCAEQRBGDQEgAkEQaiAEaiACIARqKQMANwMAIARBCGohBAwACwsgAkEQakECEKKBgIAAIQAgAiABrUL/AYM3AxAgAEGMhcCAAEEBIAJBEGpBARDTgICAABCMgICAABogAkEgaiSAgICAAA8LIAJBEGogBGpCAjcDACAEQQhqIQQMAAsLbQEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCBFINACABQQRqELaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC3gICAAAsQvICAgAAaIABCIIinEK6BgIAAIAFBEGokgICAgABCAg8LAAtUAgF/AX4jgICAgABBEGsiACSAgICAACAAQQRqELaAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC3gICAAAsQwYCAgAAhASAAQRBqJICAgIAAIAELZAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALEMGAgIAAEIKAgIAAIQEgAEEQaiSAgICAACABQoCAgIBwg0IEhAvcAQIBfwJ+I4CAgIAAQTBrIgEkgICAgAAgAUEgaiAAELiBgIAAAkAgASgCIEEBRg0AIAEpAyghAiABQSBqELaAgIAAAkAgASgCIEEBRw0AIAEoAiQgASgCKBC3gICAAAsQwYCAgAAiABCCgICAACEDIAFBADYCCCABIAA3AwAgASADQiCIPgIMAkADQCABQSBqIAEQxICAgAAgAUEQaiABKQMgIAEpAygQs4CAgAAgASkDECIAp0EBRw0BIAEpAxggAhDFgICAAEUNAAsLIAFBMGokgICAgAAgAA8LAAsPABDIgICAAK1CIIZCBIQLVAEBfyOAgICAAEEQayICJICAgIAAIAIgABDwgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQvoCAgAAgAkEQaiSAgICAAEICDwsAC2UBAX8jgICAgABBEGsiAySAgICAACADIAAQ8ICAgAACQCADKAIAQQFGDQAgAUL/AYNCywBSDQAgAkL/AYNCBFINACADKQMIIAEgAkIgiKcQwICAgAAgA0EQaiSAgICAAEICDwsACzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinELeAgIAAQgIPCwALhwUBBX8jgICAgABB0ABrIgIk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AAAAlAAQAAMAAABfARAAEAAAAG8BEAADAAAAKgQQAA4AAABjb25maWcAANAAEAAGAAAApgQQAAcAAABmdW5j8AEQAAQAAADoABAABAAAACcBEAACAAAAc2V0X2FkbWluVmlkRHN0Q29uZmlnVXNlZEhhc2hhbW91bnR0bwAAACEBEAAGAAAAJwEQAAIAAABjb25maXJtYXRpb25zZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc2Zsb29yX21hcmdpbl91c2RnYXNvcHRpb25zcXVvcnVtc2VuZGVyAAAAPAEQAA0AAABJARAAFgAAAKYEEAAHAAAAXwEQABAAAABvARAAAwAAACoEEAAOAAAAcgEQAAcAAAB6BBAACgAAAHkBEAAGAAAAfwEQAAYAAABDb250cmFjdAAAABIAAAAAAAAAAFdhc21hcmdzY29udHJhY3Rmbl9uYW1lAPABEAAEAAAA9AEQAAgAAAD8ARAABwAAAGV4ZWN1dGFibGVzYWx0AAAcAhAACgAAACYCEAAEAAAAY29uc3RydWN0b3JfYXJnczwCEAAQAAAAHAIQAAoAAAAmAhAABAAAAOwBEAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzaWduZXJfc2V0AABHAxAABgAAAHRocmVzaG9sZF9zZXR0aHJlc2hvbGQAAKECEAAJAAAAU2lnbmVyc1RocmVzaG9sZGV4dGVuZF90bwAAAMQCEAAJAAAAoQIQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAADvAhAACAAAAPcCEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nYWN0aXZlYWRtaW4AAEcDEAAGAAAATQMQAAUAAABzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGlibWVzc2FnZV9saWJzdXBwb3J0ZWQAAAB9AxAACwAAAIgDEAAJAAAAc2V0X2FsbG93bGlzdGFsbG93ZWRvYXBwsQMQAAcAAAC4AxAABAAAAHNldF9kZW55bGlzdGRlbmllZAAA2AMQAAYAAAC4AxAABAAAAHBhdXNlcgAA8AMQAAYAAAB1bnBhdXNlcgAEEAAIAAAAc2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHNtdWx0aXBsaWVyX2JwcyoEEAAOAAAAc2V0X2RlcG9zaXRfYWRkcmVzc2RlcG9zaXRfYWRkcmVzcwAAUwQQAA8AAABzZXRfcHJpY2VfZmVlZHByaWNlX2ZlZWR6BBAACgAAAHNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzZHN0X2VpZG9wdGlvbl90eXBlcwAAAKYEEAAHAAAArQQQAAwAAABzZXRfd29ya2VyX2ZlZV9saWJmZWVfbGliAAAA3gQQAAcAAABQYXVzZWRBZG1pbnNNZXNzYWdlTGlic0FsbG93bGlzdEFsbG93bGlzdFNpemVEZW55bGlzdERlZmF1bHRNdWx0aXBsaWVyQnBzRGVwb3NpdEFkZHJlc3NTdXBwb3J0ZWRPcHRpb25UeXBlc1dvcmtlckZlZUxpYlByaWNlRmVlZADn8AEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAAIRHZuRXJyb3IAAAAGAAAAAAAAAA9BdXRoRGF0YUV4cGlyZWQAAAAAAQAAAAAAAAAPRWlkTm90U3VwcG9ydGVkAAAAAAIAAAAAAAAAD0hhc2hBbHJlYWR5VXNlZAAAAAADAAAAAAAAAApJbnZhbGlkVmlkAAAAAAAEAAAAAAAAABFOb25Db250cmFjdEludm9rZQAAAAAAAAUAAAAAAAAACU9ubHlBZG1pbgAAAAAAAAYAAAAFAAAAAAAAAAAAAAAMU2V0RHN0Q29uZmlnAAAAAQAAAA5zZXRfZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5Ec3RDb25maWdQYXJhbQAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAGU2VuZGVyAAAAAAACAAAAAAAAAC5ObyBleHBsaWNpdCBzZW5kZXIgKHBlcm1pc3Npb25sZXNzIGV4ZWN1dGlvbikuAAAAAAAETm9uZQAAAAEAAACPQSByZWdpc3RlcmVkIGFkbWluIChlZDI1NTE5KSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbi4KVGhlIHR1cGxlIGlzIGAocHVibGljX2tleSwgc2lnbmF0dXJlKWAgd2hlcmUgdGhlIHNpZ25hdHVyZSBjb3ZlcnMgdGhlIFNvcm9iYW4gcGF5bG9hZC4AAAAABUFkbWluAAAAAAAAAgAAA+4AAAAgAAAD7gAAAEAAAAABAAAAx0F1dGhlbnRpY2F0aW9uIGRhdGEgZm9yIERWTiBjb250cmFjdCB0cmFuc2FjdGlvbnMuCgpUaGlzIHN0cnVjdCBpcyB1c2VkIHdpdGggU29yb2JhbidzIGN1c3RvbSBhY2NvdW50IGludGVyZmFjZSB0byBhdXRob3JpemUKdHJhbnNhY3Rpb25zIHRocm91Z2ggYSBjb21iaW5hdGlvbiBvZiBhZG1pbiBzaWduYXR1cmUgYW5kIG11bHRpc2lnIHF1b3J1bS4AAAAAAAAAABNUcmFuc2FjdGlvbkF1dGhEYXRhAAAAAAQAAABERXhwaXJhdGlvbiB0aW1lc3RhbXAgKGxlZGdlciB0aW1lKSBhZnRlciB3aGljaCB0aGlzIGF1dGggaXMgaW52YWxpZC4AAAAKZXhwaXJhdGlvbgAAAAAABgAAAD1FbnRpdHkgc3VibWl0dGluZyB0aGUgdHJhbnNhY3Rpb24gKGFkbWluLCBvciBwZXJtaXNzaW9ubGVzcykuAAAAAAAABnNlbmRlcgAAAAAH0AAAAAZTZW5kZXIAAAAAADxTaWduYXR1cmVzIGZyb20gbXVsdGlzaWcgc2lnbmVycyAoc2VjcDI1NmsxLCA2NSBieXRlcyBlYWNoKS4AAAAKc2lnbmF0dXJlcwAAAAAD6gAAA+4AAABBAAAAMlZlcmlmaWVyIElEIC0gbXVzdCBtYXRjaCB0aGUgRFZOJ3MgY29uZmlndXJlZCBWSUQuAAAAAAADdmlkAAAAAAQAAAABAAAAckNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gY2hhaW4uCgpDb250YWlucyBmZWUgY2FsY3VsYXRpb24gcGFyYW1ldGVycyBzcGVjaWZpYyB0byBlYWNoIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAAAAAAAlEc3RDb25maWcAAAAAAAADAAAAO01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCBieSBuYXRpdmUgZGVjaW1hbHMgcmF0ZSkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAAC5HYXMgZm9yIHZlcmlmaWNhdGlvbiBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAADZ2FzAAAAAAoAAABnRmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDEwMCUpLgpJZiAwLCB0aGUgZGVmYXVsdCBtdWx0aXBsaWVyIGZyb20gd29ya2VyIGNvbmZpZyBpcyB1c2VkLgAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAABAAAANlBhcmFtZXRlciBmb3Igc2V0dGluZyBkZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9uLgAAAAAAAAAAAA5Ec3RDb25maWdQYXJhbQAAAAAAAgAAACdUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkZXN0aW5hdGlvbi4AAAAABmNvbmZpZwAAAAAH0AAAAAlEc3RDb25maWcAAAAAAAAcVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAABAAAAiVJlcHJlc2VudHMgYSBzaW5nbGUgY29udHJhY3QgaW52b2NhdGlvbiBmb3IgbXVsdGlzaWcgYXV0aG9yaXphdGlvbi4KClVzZWQgaW4gYGhhc2hfY2FsbF9kYXRhYCB0byBjb21wdXRlIHRoZSBoYXNoIHRoYXQgc2lnbmVycyBzaWduIG92ZXIuAAAAAAAAAAAAAARDYWxsAAAAAwAAABNGdW5jdGlvbiBhcmd1bWVudHMuAAAAAARhcmdzAAAD6gAAAAAAAAAYRnVuY3Rpb24gbmFtZSB0byBpbnZva2UuAAAABGZ1bmMAAAARAAAAGFRhcmdldCBjb250cmFjdCBhZGRyZXNzLgAAAAJ0bwAAAAAAEwAAAAAAAAA0VmFsaWRhdGVzIGF1dGhvcml6YXRpb24gZm9yIERWTiBjb250cmFjdCBvcGVyYXRpb25zLgAAAAxfX2NoZWNrX2F1dGgAAAADAAAAAAAAABFzaWduYXR1cmVfcGF5bG9hZAAAAAAAA+4AAAAgAAAAAAAAAAlhdXRoX2RhdGEAAAAAAAfQAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAAAAAAAA1hdXRoX2NvbnRleHRzAAAAAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAAAIAAAADAAAAAAAAAORTZXRzIHRoZSBwYXVzZWQgc3RhdGUgb2YgdGhlIHdvcmtlci4KCldoZW4gcGF1c2VkLCB0aGUgd29ya2VyIHdpbGwgcmVqZWN0IG5ldyBqb2IgYXNzaWdubWVudHMgKGUuZy4sIGFzc2lnbl9qb2IsIGdldF9mZWUpLgpFeGlzdGluZyBqb2JzIGluIHByb2dyZXNzIGFyZSBub3QgYWZmZWN0ZWQuCgojIEFyZ3VtZW50cwoqIGBwYXVzZWRgIC0gYHRydWVgIHRvIHBhdXNlLCBgZmFsc2VgIHRvIHVucGF1c2UAAAAKc2V0X3BhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VkAAAAAAABAAAAAAAAAAAAAAD9U2V0cyBhZG1pbiBzdGF0dXMgZm9yIGFuIGFkZHJlc3MuCgpBZG1pbnMgY2FuIGNvbmZpZ3VyZSB3b3JrZXIgc2V0dGluZ3MgbGlrZSBmZWUgbXVsdGlwbGllcnMsIGRlcG9zaXQgYWRkcmVzc2VzLAphbmQgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcy4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIFRoZSBhZGRyZXNzIHRvIHNldCBhZG1pbiBzdGF0dXMgZm9yCiogYGFjdGl2ZWAgLSBgdHJ1ZWAgdG8gYWRkIGFkbWluLCBgZmFsc2VgIHRvIHJlbW92ZQAAAAAAAAlzZXRfYWRtaW4AAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAAAAABN1NldHMgd2hldGhlciBhIG1lc3NhZ2UgbGlicmFyeSBpcyBzdXBwb3J0ZWQgYnkgdGhpcyB3b3JrZXIuCgpNZXNzYWdlIGxpYnJhcmllcyAoZS5nLiwgVUxOMzAyKSBjYWxsIHdvcmtlcnMgdG8gYXNzaWduIGpvYnMuIE9ubHkgc3VwcG9ydGVkCmxpYnJhcmllcyBjYW4gaW50ZXJhY3Qgd2l0aCB0aGlzIHdvcmtlci4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIFRoZSBtZXNzYWdlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwoqIGBzdXBwb3J0ZWRgIC0gYHRydWVgIHRvIGFkZCBzdXBwb3J0LCBgZmFsc2VgIHRvIHJlbW92ZSBzdXBwb3J0AAAAABlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAAAAAAAAAgAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAAAAAAJc3VwcG9ydGVkAAAAAAAAAQAAAAAAAAAAAAABWFNldHMgYWxsb3dsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKV2hlbiB0aGUgYWxsb3dsaXN0IGlzIGVtcHR5LCBhbGwgT0FwcHMgYXJlIGFsbG93ZWQgKHVubGVzcyBvbiBkZW55bGlzdCkuCldoZW4gdGhlIGFsbG93bGlzdCBpcyBub3QgZW1wdHksIG9ubHkgYWxsb3dsaXN0ZWQgT0FwcHMgYXJlIGFsbG93ZWQuCkRlbnlsaXN0IGFsd2F5cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYWxsb3dsaXN0LgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBUaGUgT0FwcCBjb250cmFjdCBhZGRyZXNzCiogYGFsbG93ZWRgIC0gYHRydWVgIHRvIGFkZCB0byBhbGxvd2xpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAADXNldF9hbGxvd2xpc3QAAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAHYWxsb3dlZAAAAAABAAAAAAAAAAAAAAEJU2V0cyBkZW55bGlzdCBzdGF0dXMgZm9yIGFuIE9BcHAgYWRkcmVzcy4KCkRlbnlsaXN0ZWQgT0FwcHMgYXJlIGJsb2NrZWQgZnJvbSB1c2luZyB0aGlzIHdvcmtlciwgZXZlbiBpZiB0aGV5J3JlIG9uCnRoZSBhbGxvd2xpc3QgKGRlbnlsaXN0IHRha2VzIHByZWNlZGVuY2UpLgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBUaGUgT0FwcCBjb250cmFjdCBhZGRyZXNzCiogYGRlbmllZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGRlbnlsaXN0LCBgZmFsc2VgIHRvIHJlbW92ZQAAAAAAAAxzZXRfZGVueWxpc3QAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAAAAAE7U2V0cyB0aGUgZGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMuCgpUaGUgbXVsdGlwbGllciBpcyBhcHBsaWVkIHRvIGJhc2UgZmVlcyBkdXJpbmcgZmVlIGNhbGN1bGF0aW9uLiBVc2VkIHdoZW4Kbm8gZGVzdGluYXRpb24tc3BlY2lmaWMgbXVsdGlwbGllciBpcyBjb25maWd1cmVkLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYG11bHRpcGxpZXJfYnBzYCAtIE11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDF4LCAxMjAwMCA9IDEuMngpAAAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAAAAAAAAAAA8VNldHMgdGhlIGRlcG9zaXQgYWRkcmVzcyB3aGVyZSB3b3JrZXIgZmVlcyBhcmUgY29sbGVjdGVkLgoKV2hlbiBqb2JzIGFyZSBhc3NpZ25lZCwgZmVlcyBhcmUgZGlyZWN0ZWQgdG8gdGhpcyBhZGRyZXNzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGRlcG9zaXRfYWRkcmVzc2AgLSBBZGRyZXNzIHRvIHJlY2VpdmUgY29sbGVjdGVkIGZlZXMAAAAAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAAAAAEJU2V0cyBzdXBwb3J0ZWQgZXhlY3V0b3Igb3B0aW9uIHR5cGVzIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikKKiBgb3B0aW9uX3R5cGVzYCAtIFN1cHBvcnRlZCBvcHRpb24gdHlwZXMuIEVhY2ggYnl0ZSByZXByZXNlbnRzIGFuIG9wdGlvbiB0eXBlLgAAAAAAABpzZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwAAAAAAAwAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAANlaWQAAAAABAAAAAAAAAAMb3B0aW9uX3R5cGVzAAAADgAAAAAAAAAAAAABElNldHMgdGhlIHdvcmtlciBmZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzLgoKVGhlIGZlZSBsaWJyYXJ5IGNhbGN1bGF0ZXMgZmVlcyBiYXNlZCBvbiBleGVjdXRvciBvcHRpb25zIGFuZCBwcmljZSBmZWVkIGRhdGEuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgd29ya2VyX2ZlZV9saWJgIC0gRmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcyBpbXBsZW1lbnRpbmcgYElFeGVjdXRvckZlZUxpYmAAAAAAABJzZXRfd29ya2VyX2ZlZV9saWIAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAOd29ya2VyX2ZlZV9saWIAAAAAABMAAAAAAAAAAAAAARJTZXRzIHRoZSBwcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MuCgpUaGUgcHJpY2UgZmVlZCBwcm92aWRlcyBnYXMgcHJpY2VzIGFuZCBleGNoYW5nZSByYXRlcyBmb3IgY3Jvc3MtY2hhaW4KZmVlIGNhbGN1bGF0aW9ucy4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBpbXBsZW1lbnRpbmcgYElMYXllclplcm9QcmljZUZlZWRgAAAAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAKcHJpY2VfZmVlZAAAAAAAEwAAAAAAAAAAAAAAJVJldHVybnMgd2hldGhlciB0aGUgd29ya2VyIGlzIHBhdXNlZC4AAAAAAAAGcGF1c2VkAAAAAAAAAAAAAQAAAAEAAAAAAAAAVVJldHVybnMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGFuIGFkbWluLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gY2hlY2sAAAAAAAAIaXNfYWRtaW4AAAABAAAAAAAAAAVhZG1pbgAAAAAAABMAAAABAAAAAQAAAAAAAAAcUmV0dXJucyBhbGwgYWRtaW4gYWRkcmVzc2VzLgAAAAZhZG1pbnMAAAAAAAAAAAABAAAD6gAAABMAAAAAAAAAb1JldHVybnMgd2hldGhlciBhIG1lc3NhZ2UgbGlicmFyeSBpcyBzdXBwb3J0ZWQuCgojIEFyZ3VtZW50cwoqIGBtZXNzYWdlX2xpYmAgLSBNZXNzYWdlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwAAAAAYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAAAAAQAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAEAAAABAAAAAAAAAHNSZXR1cm5zIGFsbCBzdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGFkZHJlc3Nlcy4KCiMgUmV0dXJucwpWZWN0b3Igb2Ygc3VwcG9ydGVkIG1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzZXMuAAAAAAxtZXNzYWdlX2xpYnMAAAAAAAAAAQAAA+oAAAATAAAAAAAAAFpSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBpcyBvbiB0aGUgYWxsb3dsaXN0LgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MAAAAAAA9pc19vbl9hbGxvd2xpc3QAAAAAAQAAAAAAAAAEb2FwcAAAABMAAAABAAAAAQAAAAAAAAAxUmV0dXJucyB0aGUgbnVtYmVyIG9mIGFkZHJlc3NlcyBvbiB0aGUgYWxsb3dsaXN0LgAAAAAAAA5hbGxvd2xpc3Rfc2l6ZQAAAAAAAAAAAAEAAAAEAAAAAAAAAFlSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBpcyBvbiB0aGUgZGVueWxpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcwAAAAAAAA5pc19vbl9kZW55bGlzdAAAAAAAAQAAAAAAAAAEb2FwcAAAABMAAAABAAAAAQAAAAAAAAD5UmV0dXJucyB3aGV0aGVyIGFuIE9BcHAgaGFzIGFjY2VzcyBjb250cm9sIGxpc3QgKEFDTCkgcGVybWlzc2lvbi4KCkFDTCBldmFsdWF0aW9uIG9yZGVyOgoxLiBJZiBvbiBkZW55bGlzdCDihpIgZGVuaWVkCjIuIElmIGFsbG93bGlzdCBpcyBlbXB0eSBPUiBvbiBhbGxvd2xpc3Qg4oaSIGFsbG93ZWQKMy4gT3RoZXJ3aXNlIOKGkiBkZW5pZWQKCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzIHRvIGNoZWNrAAAAAAAAB2hhc19hY2wAAAAAAQAAAAAAAAAEb2FwcAAAABMAAAABAAAAAQAAAAAAAAAzUmV0dXJucyB0aGUgZGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMuAAAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAAAAAAAQAAAAQAAAAAAAAANVJldHVybnMgdGhlIGRlcG9zaXQgYWRkcmVzcyB3aGVyZSBmZWVzIGFyZSBjb2xsZWN0ZWQuAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAHxSZXR1cm5zIHN1cHBvcnRlZCBvcHRpb24gdHlwZXMgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBlaWRgIC0gRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpAAAAGmdldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAPoAAAADgAAAAAAAAAwUmV0dXJucyB0aGUgd29ya2VyIGZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MuAAAADndvcmtlcl9mZWVfbGliAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAChSZXR1cm5zIHRoZSBwcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MuAAAACnByaWNlX2ZlZWQAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAeENhbGN1bGF0ZXMgdGhlIHZlcmlmaWNhdGlvbiBmZWUgZm9yIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4KCkNhbGxlZCBieSB0aGUgc2VuZCBsaWJyYXJ5IHRvIHF1b3RlIERWTiBmZWVzIGJlZm9yZSBzZW5kaW5nLgAAAAdnZXRfZmVlAAAAAAcAAAAAAAAACHNlbmRfbGliAAAAEwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAADXBhY2tldF9oZWFkZXIAAAAAAAAOAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAAAAAAAAB29wdGlvbnMAAAAADgAAAAEAAAALAAAAAAAAALhBc3NpZ25zIGEgdmVyaWZpY2F0aW9uIGpvYiB0byB0aGlzIERWTiBhbmQgcmV0dXJucyBmZWUgcGF5bWVudCBpbmZvLgoKQ2FsbGVkIGJ5IHRoZSBzZW5kIGxpYnJhcnkgd2hlbiBhIG1lc3NhZ2UgaXMgc2VudC4gVGhlIERWTiB3aWxsIGxhdGVyCnZlcmlmeSB0aGUgbWVzc2FnZSBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAACmFzc2lnbl9qb2IAAAAAAAcAAAAAAAAACHNlbmRfbGliAAAAEwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAADXBhY2tldF9oZWFkZXIAAAAAAAAOAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAAAAAAAAB29wdGlvbnMAAAAADgAAAAEAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAABEU2V0cyBkZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9ucy4gUmVxdWlyZXMgYWRtaW4gYXV0aG9yaXphdGlvbi4AAAAOc2V0X2RzdF9jb25maWcAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5Ec3RDb25maWdQYXJhbQAAAAAAAAAAAAAAAABBUmV0dXJucyB0aGUgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBlbmRwb2ludCBJRC4AAAAAAAAKZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACURzdENvbmZpZwAAAAAAAAAAAAAlUmV0dXJucyB0aGUgVmVyaWZpZXIgSUQgZm9yIHRoaXMgRFZOLgAAAAAAAAN2aWQAAAAAAAAAAAEAAAAEAAAAAAAAAHdDb21wdXRlcyB0aGUgaGFzaCBvZiBjYWxsIGRhdGEgZm9yIG11bHRpc2lnIHNpZ25pbmcuCgpPZmYtY2hhaW4gc2lnbmVycyB1c2UgdGhpcyB0byBjb21wdXRlIHRoZSBoYXNoIHRoZXkgbmVlZCB0byBzaWduLgAAAAAOaGFzaF9jYWxsX2RhdGEAAAAAAAMAAAAAAAAAA3ZpZAAAAAAEAAAAAAAAAApleHBpcmF0aW9uAAAAAAAGAAAAAAAAAAVjYWxscwAAAAAAA+oAAAfQAAAABENhbGwAAAABAAAD7gAAACAAAAAAAAACZEluaXRpYWxpemVzIHRoZSBEVk4gY29udHJhY3QuCgojIEFyZ3VtZW50cwoqIGB2aWRgIC0gVmVyaWZpZXIgSUQsIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIERWTgoqIGBzaWduZXJzYCAtIEluaXRpYWwgbXVsdGlzaWcgc2lnbmVycyAoMjAtYnl0ZSBFdGhlcmV1bSBhZGRyZXNzZXMpCiogYHRocmVzaG9sZGAgLSBNaW5pbXVtIHNpZ25hdHVyZXMgcmVxdWlyZWQgZm9yIG11bHRpc2lnIG9wZXJhdGlvbnMKKiBgYWRtaW5zYCAtIEluaXRpYWwgYWRtaW4gYWRkcmVzc2VzIGZvciBvcGVyYXRpb25hbCBmdW5jdGlvbnMKKiBgc3VwcG9ydGVkX21zZ2xpYnNgIC0gTWVzc2FnZSBsaWJyYXJpZXMgdGhpcyBEVk4gc3VwcG9ydHMgKGUuZy4sIFVMTjMwMikKKiBgcHJpY2VfZmVlZGAgLSBQcmljZSBmZWVkIGNvbnRyYWN0IGZvciBmZWUgY2FsY3VsYXRpb25zCiogYGRlZmF1bHRfbXVsdGlwbGllcl9icHNgIC0gRGVmYXVsdCBmZWUgbXVsdGlwbGllciAoMTAwMDAgPSAxeCkKKiBgd29ya2VyX2ZlZV9saWJgIC0gRmVlIGxpYnJhcnkgY29udHJhY3QgZm9yIGNvbXB1dGluZyBEVk4gZmVlcwoqIGBkZXBvc2l0X2FkZHJlc3NgIC0gQWRkcmVzcyB0byByZWNlaXZlIGZlZSBwYXltZW50cwAAAA1fX2NvbnN0cnVjdG9yAAAAAAAACQAAAAAAAAADdmlkAAAAAAQAAAAAAAAAB3NpZ25lcnMAAAAD6gAAA+4AAAAUAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAZhZG1pbnMAAAAAA+oAAAATAAAAAAAAABFzdXBwb3J0ZWRfbXNnbGlicwAAAAAAA+oAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAWpTZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4gQ2FuIGJlIGNhbGxlZCBieSBhbiBleGlzdGluZyBhZG1pbi4KClRoaXMgYWxsb3dzIGV4aXN0aW5nIGFkbWlucyB0byBhZGQgb3IgcmVtb3ZlIG90aGVyIGFkbWlucyB3aXRob3V0IGdvaW5nIHRocm91Z2gKdGhlIG93bmVyL211bHRpc2lnIHBhdGguCgojIEFyZ3VtZW50cwoqIGBjYWxsZXJgIC0gVGhlIGFkbWluIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGFkbWluYCAtIFRoZSBhZGRyZXNzIHRvIHNldCBhZG1pbiBzdGF0dXMgZm9yCiogYGFjdGl2ZWAgLSBgdHJ1ZWAgdG8gYWRkIGFkbWluLCBgZmFsc2VgIHRvIHJlbW92ZQAAAAAAEnNldF9hZG1pbl9ieV9hZG1pbgAAAAAAAwAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAAAAAAlVRoZSB0eXBlIG9mIGRhdGEgcmVxdWlyZWQgZm9yIG1pZ3JhdGlvbi4KVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAB2UnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KQ2FuIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIG1pZ3JhdGlvbiBmbGFnIGlzIHNldCBieSBhIHByZXZpb3VzIGB1cGdyYWRlYCBjYWxsLgAAAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAF5QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLgpUaGlzIGFjdGlvbiBpcyBpcnJldmVyc2libGUuAAAAAAAGZnJlZXplAAAAAAAAAAAAAAAAAAAAAAA7UmV0dXJucyB3aGV0aGVyIHRoZSBjb250cmFjdCBpcyBmcm96ZW4gKHVwZ3JhZGVzIGRpc2FibGVkKS4AAAAACWlzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAABJQWRkcyBvciByZW1vdmVzIGEgc2lnbmVyIGZyb20gdGhlIG11bHRpc2lnLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAAAAAApzZXRfc2lnbmVyAAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAAAAAAH1JldHVybnMgYWxsIHJlZ2lzdGVyZWQgc2lnbmVycy4AAAAAC2dldF9zaWduZXJzAAAAAAAAAAABAAAD6gAAA+4AAAAUAAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABAAAAAAAAAAsQ2hlY2tzIGlmIGFuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIHNpZ25lci4AAAAJaXNfc2lnbmVyAAAAAAAAAQAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABAAAAAAAAAA1VmVyaWZpZXMgc2lnbmF0dXJlcyBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4AAAAAAAARdmVyaWZ5X3NpZ25hdHVyZXMAAAAAAAACAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0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AAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAAAAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQAAAAEAAAAtUGFyYW1ldGVycyBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAAA9NZXNzYWdpbmdQYXJhbXMAAAAABQAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAcVGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBzZW5kLgAAAAdtZXNzYWdlAAAAAA4AAAAhRW5jb2RlZCBleGVjdXRvciBhbmQgRFZOIG9wdGlvbnMuAAAAAAAAB29wdGlvbnMAAAAADgAAADlXaGV0aGVyIHRvIHBheSBmZWVzIGluIFpSTyB0b2tlbiBpbnN0ZWFkIG9mIG5hdGl2ZSB0b2tlbi4AAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAADVSZWNlaXZlciBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAKEZlZSBzdHJ1Y3R1cmUgZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2luZy4AAAAAAAAADE1lc3NhZ2luZ0ZlZQAAAAIAAAAfRmVlIHBhaWQgaW4gbmF0aXZlIHRva2VuIChYTE0pLgAAAAAKbmF0aXZlX2ZlZQAAAAAACwAAAChGZWUgcGFpZCBpbiBaUk8gdG9rZW4gKExheWVyWmVybyB0b2tlbikuAAAAB3pyb19mZWUAAAAACwAAAAEAAABCUmVjZWlwdCByZXR1cm5lZCBhZnRlciBzdWNjZXNzZnVsbHkgc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAADAAAAKVRoZSBmZWVzIGNoYXJnZWQgZm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UuAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAACtHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2UuAAAAAARndWlkAAAD7gAAACAAAAAkVGhlIG91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAAAIAAAA4VHlwZSBvZiBtZXNzYWdlIGxpYnJhcnkgaW5kaWNhdGluZyBzdXBwb3J0ZWQgb3BlcmF0aW9ucy4AAAAAAAAADk1lc3NhZ2VMaWJUeXBlAAAAAAADAAAAAAAAAB9TdXBwb3J0cyBvbmx5IHNlbmRpbmcgbWVzc2FnZXMuAAAAAARTZW5kAAAAAAAAACFTdXBwb3J0cyBvbmx5IHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAHUmVjZWl2ZQAAAAAAAAAALVN1cHBvcnRzIGJvdGggc2VuZGluZyBhbmQgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAA5TZW5kQW5kUmVjZWl2ZQAAAAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABAAAAAEAAAA2VGltZW91dCBjb25maWd1cmF0aW9uIGZvciByZWNlaXZlIGxpYnJhcnkgdHJhbnNpdGlvbnMuAAAAAAAAAAAAB1RpbWVvdXQAAAAAAgAAAChVbml4IHRpbWVzdGFtcCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAABmV4cGlyeQAAAAAABgAAAClUaGUgbmV3IGxpYnJhcnkgYWRkcmVzcyB0byB0cmFuc2l0aW9uIHRvLgAAAAAAAANsaWIAAAAAEwAAAAEAAAA1UGFyYW1ldGVycyBmb3Igc2V0dGluZyBtZXNzYWdlIGxpYnJhcnkgY29uZmlndXJhdGlvbi4AAAAAAAAAAAAADlNldENvbmZpZ1BhcmFtAAAAAAADAAAAH1hEUi1lbmNvZGVkIGNvbmZpZ3VyYXRpb24gZGF0YS4AAAAABmNvbmZpZwAAAAAADgAAADBUaGUgdHlwZSBvZiBjb25maWd1cmF0aW9uIChlLmcuLCBleGVjdXRvciwgVUxOKS4AAAALY29uZmlnX3R5cGUAAAAABAAAACdUaGUgZW5kcG9pbnQgSUQgdGhpcyBjb25maWcgYXBwbGllcyB0by4AAAAAA2VpZAAAAAAEAAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAATAAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAK0EgZmVlIHJlY2lwaWVudCB3aXRoIHRoZSBhbW91bnQgdG8gYmUgcGFpZC4AAAAAAAAAAAxGZWVSZWNpcGllbnQAAAACAAAAFUFtb3VudCBvZiBmZWUgdG8gcGF5LgAAAAAAAAZhbW91bnQAAAAAAAsAAAAfVGhlIGFkZHJlc3MgdG8gc2VuZCB0aGUgZmVlIHRvLgAAAAACdG8AAAAAABMAAAABAAAAPFJlc3VsdCBvZiBzZW5kIG9wZXJhdGlvbiBjb250YWluaW5nIGZlZXMgYW5kIGVuY29kZWQgcGFja2V0LgAAAAAAAAANRmVlc0FuZFBhY2tldAAAAAAAAAMAAAAqVGhlIGVuY29kZWQgcGFja2V0IHJlYWR5IGZvciB0cmFuc21pc3Npb24uAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAA/TGlzdCBvZiBuYXRpdmUgdG9rZW4gZmVlIHJlY2lwaWVudHMgKGV4ZWN1dG9yLCBEVk5zLCB0cmVhc3VyeSkuAAAAABVuYXRpdmVfZmVlX3JlY2lwaWVudHMAAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAsTGlzdCBvZiBaUk8gdG9rZW4gZmVlIHJlY2lwaWVudHMgKHRyZWFzdXJ5KS4AAAASenJvX2ZlZV9yZWNpcGllbnRzAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAABAAAA4VBhcmFtZXRlcnMgZm9yIERWTiBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIHZlcmlmaWNhdGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAAAAAMRHZuRmVlUGFyYW1zAAAACgAAACdOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZC4AAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KR2FzIGVzdGltYXRlIGZvciB2ZXJpZmljYXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAA2dhcwAAAAAKAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAtEVk4gb3B0aW9ucwAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAAAnTnVtYmVyIG9mIHJlcXVpcmVkIHNpZ25hdHVyZXMgKHF1b3J1bSkuAAAAAAZxdW9ydW0AAAAAAAQAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAA41BhcmFtZXRlcnMgZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgZXhlY3V0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAJRmVlUGFyYW1zAAAAAAAACwAAACZTaXplIG9mIHRoZSBtZXNzYWdlIGNhbGxkYXRhIGluIGJ5dGVzLgAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAANkJhc2UgZ2FzIGZvciBlYWNoIGx6Q29tcG9zZSBjYWxsIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAARM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJhc2UgZ2FzIGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAACxNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSBzZW50LgAAAApuYXRpdmVfY2FwAAAAAAAKAAAARkVuY29kZWQgZXhlY3V0b3Igb3B0aW9ucyAobHpSZWNlaXZlIGdhcywgbHpDb21wb3NlLCBuYXRpdmVEcm9wLCBldGMuKS4AAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAACER2FzIHByaWNlIGluZm9ybWF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKQ29udGFpbnMgdGhlIGV4Y2hhbmdlIHJhdGUgYW5kIGdhcyBjb3N0cyBuZWVkZWQgZm9yIGNyb3NzLWNoYWluIGZlZSBjYWxjdWxhdGlvbnMuAAAAAAAAAAVQcmljZQAAAAAAAAMAAAA3R2FzIGNvc3QgcGVyIGJ5dGUgb2YgY2FsbGRhdGEgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAMZ2FzX3Blcl9ieXRlAAAABAAAAEJHYXMgcHJpY2UgaW4gdGhlIHNtYWxsZXN0IHVuaXQgKHdlaSBmb3IgRVZNLCBzdHJvb3BzIGZvciBTdGVsbGFyKS4AAAAAABFnYXNfcHJpY2VfaW5fdW5pdAAAAAAAAAYAAACpUHJpY2UgcmF0aW8gPSAocmVtb3RlIG5hdGl2ZSB0b2tlbiBwcmljZSAvIGxvY2FsIG5hdGl2ZSB0b2tlbiBwcmljZSkgKiBQUklDRV9SQVRJT19ERU5PTUlOQVRPUi4KVXNlZCB0byBjb252ZXJ0IGRlc3RpbmF0aW9uIGNoYWluIGdhcyBjb3N0cyB0byBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAALAAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQAAAAQAAAAdV29ya2VyT3B0aW9uc0Vycm9yOiAxMTEwLTExMTkAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARWAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAEVwAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABFgAAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEWQAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFoAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARbAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFwAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEXQAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAAReAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBl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";
|
|
34
|
+
export const WASM_BASE64 = "AGFzbQEAAAABzgEhYAJ+fgF+YAF+AX5gAAF+YAN+fn4BfmAEfn5+fgF+YAN/fn4AYAAAYAABf2ABfwF/YAF/AX5gAn5+AX9gAX8AYAN+fn4AYAF+AGACfn4AYAN+fn8AYAJ/fgBgAn9/AGADf39/AGACfn8AYAR/f39/AX5gAX4Bf2ACf38BfmAFfn9/f38AYAN+f38BfmACf38Bf2ADf35+AX5gA39/fgBgB35+fn5+fn4BfmAFf35/fn4AYAR+fn9/AX5gCX5+fn5+fn5+fgF+YAN/f38BfwKhAjABbAExAAABYQEwAAEBeAE3AAIBdgEzAAEBdgExAAABYgE4AAEBYgE2AAABYgFmAAMBYwEyAAMBYwExAAEBdgFkAAABdgEyAAABdgE2AAABeAExAAABdgFfAAIBeAE0AAIBaQEwAAEBdgE4AAEBeAEwAAABYgFlAAABYgEwAAEBYwEwAAMBbAFfAAMBbAEyAAABaQFfAAEBZAFfAAMBaQE4AAEBaQE3AAEBYgE0AAIBYgFfAAEBbAE2AAEBeAEzAAIBeAE4AAIBaQEzAAABaQE1AAEBaQE0AAEBYgEzAAABbQFhAAQBdgFnAAABYgFtAAMBaQE2AAABYgFqAAABYgEyAAQBbQE5AAMBbAEwAAABbAE4AAABeAE1AAEBbAE3AAQDqwGpAQUGBwYIBwkKCwsJDAICBgoNDgcPAhAKEQoGBxIQBRMCEBALARQNFRMCFgsREQcRFQgLCxUHFQcJFRMREBcQEQUDEBARGBkHEBAQCBYaARsAAAALCwAACwANAwANAA0NAgECAQIBAgEBAgIAAQICHB0FHBEWAAECAx4fEREJDQYLAwELAQIRAgIAEA0TAQICAQIAAwARABAJAgsRAgIGEhAQEgkREhARICAEBQFwAQEBBQMBABEGIQR/AUGAgMAAC38AQeCDwAALfwBB8IrAAAt/AEHwisAACwekBzcGbWVtb3J5AgAMX19jaGVja19hdXRoAHAKc2V0X3BhdXNlZAB9CXNldF9hZG1pbgB/GXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAgAENc2V0X2FsbG93bGlzdACBAQxzZXRfZGVueWxpc3QAhAEac2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHMAhQETc2V0X2RlcG9zaXRfYWRkcmVzcwCHARpzZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwCJARJzZXRfd29ya2VyX2ZlZV9saWIAigEOc2V0X3ByaWNlX2ZlZWQAjAEGcGF1c2VkAI8BCGlzX2FkbWluAJABBmFkbWlucwCRARhpc19zdXBwb3J0ZWRfbWVzc2FnZV9saWIAkgEMbWVzc2FnZV9saWJzAJMBD2lzX29uX2FsbG93bGlzdACUAQ5hbGxvd2xpc3Rfc2l6ZQCVAQ5pc19vbl9kZW55bGlzdACWAQdoYXNfYWNsAJcBFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAmAEPZGVwb3NpdF9hZGRyZXNzAJkBGmdldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAJsBDndvcmtlcl9mZWVfbGliAJwBCnByaWNlX2ZlZWQAnQEHZ2V0X2ZlZQCeAQphc3NpZ25fam9iAKEBDnNldF9kc3RfY29uZmlnAKQBCmRzdF9jb25maWcApQEDdmlkAKYBDmhhc2hfY2FsbF9kYXRhAKcBDV9fY29uc3RydWN0b3IAqQESc2V0X2FkbWluX2J5X2FkbWluALABB3VwZ3JhZGUAsQEHbWlncmF0ZQCzAQZmcmVlemUAtAEJaXNfZnJvemVuALYBCmF1dGhvcml6ZXIAtwEKc2V0X3NpZ25lcgC4AQ1zZXRfdGhyZXNob2xkALwBC2dldF9zaWduZXJzAL0BDXRvdGFsX3NpZ25lcnMAvgEJaXNfc2lnbmVyAL8BCXRocmVzaG9sZADAARF2ZXJpZnlfc2lnbmF0dXJlcwDBARN2ZXJpZnlfbl9zaWduYXR1cmVzAMIBE2V4dGVuZF9pbnN0YW5jZV90dGwAwwEPc2V0X3R0bF9jb25maWdzAMUBC3R0bF9jb25maWdzAMgBEmZyZWV6ZV90dGxfY29uZmlncwDLARVpc190dGxfY29uZmlnc19mcm96ZW4AzAEBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCvOiAakBNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LELGAgIAAAAsJABDNgYCAAAALFAAQs4CAgABBABC0gICAAEH9AXELSAEBfyOAgICAAEEQayIAJICAgIAAIABBBGoQyYGAgAACQCAAKAIEQQFH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hkIEhBCEgICAABC5gYCAAAJAIANBAWoiA0UNACACKQMAIQQgACACKQMINwMIIAAgBDcDACABIAM2AggMAQsQsYCAgAAACyACQRBqJICAgIAACxEAIAAgARDGgICAAEH/AXFFCwkAELGAgIAAAAsOABCzgICAABDCgICAAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDOgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQo4GAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEKOBgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC6sCAwF/An4BfyOAgICAAEEgayICJICAgIAAEM+AgIAAIgMgABCKgICAACEEAkACQAJAAkACQCABDQAgAkEIaiAEENCAgIAAIAIoAggiBUECRg0BIAVBAXFFDQIgAigCDCIFIAMQg4CAgABCIIinTw0EIAMgBa1CIIZCBIQQi4CAgAAhAwwECyAEQgJRDQJCg4CAgICWARDAgICAAAALELGAgIAAAAtCg4CAgJCWARDAgICAAAALIAMgABCMgICAACEDCyACQQE2AhAgAkEQaiADENGAgIAAIAJBEGoQ0oCAgABCjuauueqM5NU4ENOAgIAAIQMgAiAANwMYIAIgAa03AxAgA0HUhsCAAEECIAJBEGpBAhDUgICAABCNgICAABogAkEgaiSAgICAAAtoAgF/A34jgICAgABBIGsiACSAgICAABCzgICAACAAQQE2AgAgAEEQaiAAENyAgIAAAkAgACkDECIBUA0AIAAQ0oCAgAALEI6AgIAAIQIgACkDGCEDIABBIGokgICAgAAgAyACIAGnGws9AQJ/AkACQCABQgJSDQBBACECDAELQQFBAiABQv8Bg0IEURshAiABQiCIpyEDCyAAIAM2AgQgACACNgIACxUAIAAQ54CAgAAgAUIBEJaAgIAAGgtmAgF/An4jgICAgABBEGsiASSAgICAACABQQRqELmAgIAAAkAgASgCBEEBRw0AIAE1AgwhAiABNQIIIQMgABDngICAACADQiCGQgSEIAJCIIZCBIQQu4CAgAALIAFBEGokgICAgAALYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEKOBgIAAIQAgAUEQaiSAgICAACAACy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQq4CAgAALJwAgABCBgICAABoCQCAAENaAgIAADQBCg4CAgMCXARDAgICAAAALCxkAELOAgIAAEM+AgIAAIAAQioCAgABCAlILrwIDAX8CfgF/I4CAgIAAQSBrIgIkgICAgAAQ2ICAgAAiAyAAEIqAgIAAIQQCQAJAAkACQAJAIAENACACQQhqIAQQ0ICAgAAgAigCCCIFQQJGDQEgBUEBcUUNAiACKAIMIgUgAxCDgICAAEIgiKdPDQQgAyAFrUIghkIEhBCLgICAACEDDAQLIARCAlENAkKDgICA0JYBEMCAgIAAAAsQsYCAgAAAC0KDgICA4JYBEMCAgIAAAAsgAyAAEIyAgIAAIQMLIAJBAjYCECACQRBqIAMQ0YCAgAAgAkEQahDSgICAAEHkhsCAAEEZENmAgIAAENOAgIAAIQMgAiABrTcDGCACIAA3AxAgA0GUh8CAAEECIAJBEGpBAhDUgICAABCNgICAABogAkEgaiSAgICAAAtoAgF/A34jgICAgABBIGsiACSAgICAABCzgICAACAAQQI2AgAgAEEQaiAAENyAgIAAAkAgACkDECIBUA0AIAAQ0oCAgAALEI6AgIAAIQIgACkDGCEDIABBIGokgICAgAAgAyACIAGnGwtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDOgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLNwEBfyOAgICAAEEQayIBJICAgIAAELOAgIAAIAFBCjYCACAAIAEQ24CAgAAgAUEQaiSAgICAAAtNAQJ+QgAhAgJAAkAgARDngICAACIDQgIQt4CAgABFDQAgA0ICEICAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDAA8LAAtNAQJ+QgAhAgJAAkAgARDngICAACIDQgEQt4CAgABFDQAgA0IBEICAgIAAIgJC/wGDQssAUg0BIAAgAjcDCEIBIQILIAAgAjcDAA8LAAtVAQN/I4CAgIAAQSBrIgAkgICAgAAQs4CAgAAgAEEENgIQIABBCGogAEEQahDegICAACAAKAIIIQEgACgCDCECIABBIGokgICAgAAgAkEAIAFBAXEbC1oCAX4BfwJAAkACQCABEOeAgIAAIgJCAhC3gICAAA0AQQAhAQwBCyACQgIQgICAgAAiAkL/AYNCBFINASACQiCIpyEDQQEhAQsgACADNgIEIAAgATYCAA8LAAtOAQJ/I4CAgIAAQRBrIgEkgICAgAAQs4CAgAAgAUEFNgIAIAEgADcDCAJAIAEQ4ICAgAAiAkUNACABENKAgIAACyABQRBqJICAgIAAIAILEgAgABDngICAAEIBELeAgIAACzcBAX8jgICAgABBEGsiASSAgICAABCzgICAACABQQk2AgAgACABENuAgIAAIAFBEGokgICAgAALNwEBfyOAgICAAEEQayIBJICAgIAAELOAgIAAIAFBBzYCACAAIAEQ24CAgAAgAUEQaiSAgICAAAtOAQJ/I4CAgIAAQRBrIgEkgICAgAAQs4CAgAAgAUEDNgIAIAEgADcDCAJAIAEQ4ICAgAAiAkUNACABENKAgIAACyABQRBqJICAgIAAIAILVQEDfyOAgICAAEEgayIAJICAgIAAELOAgIAAIABBBjYCECAAQQhqIABBEGoQ3oCAgAAgACgCCCEBIAAoAgwhAiAAQSBqJICAgIAAIAJBACABQQFxGwsZABCzgICAABDYgICAACAAEIqAgIAAQgJSC3ACAn8BfiOAgICAAEEQayIAJICAgIAAELOAgIAAQQAhASAAQQA2AgACQCAAEOeAgIAAIgJCAhC3gICAAEUNAEEBIQECQAJAIAJCAhCAgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELpgQCAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgsAAQIDBAUGBwgJCgALIAFB8InAgABBBhDLgICAACABKAIADQsgASABKQMIEMyAgIAADAoLIAFB9onAgABBBhDLgICAACABKAIADQogASABKQMIEMyAgIAADAkLIAFB/InAgABBCxDLgICAACABKAIADQkgASABKQMIEMyAgIAADAgLIAFBh4rAgABBCRDLgICAACABKAIADQggASABKQMIIAApAwgQzYCAgAAMBwsgAUGQisCAAEENEMuAgIAAIAEoAgANByABIAEpAwgQzICAgAAMBgsgAUGdisCAAEEIEMuAgIAAIAEoAgANBiABIAEpAwggACkDCBDNgICAAAwFCyABQaWKwIAAQRQQy4CAgAAgASgCAA0FIAEgASkDCBDMgICAAAwECyABQbmKwIAAQQ4Qy4CAgAAgASgCAA0EIAEgASkDCBDMgICAAAwDCyABQceKwIAAQRQQy4CAgAAgASgCAA0DIAEgASkDCCAANQIEQiCGQgSEEM2AgIAADAILIAFB24rAgABBDBDLgICAACABKAIADQIgASABKQMIEMyAgIAADAELIAFB54rAgABBCRDLgICAACABKAIADQEgASABKQMIEMyAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILLwAQs4CAgAACQCAAEN+AgIAARQ0AQQAPCwJAEN2AgIAADQBBAQ8LIAAQ44CAgAALKQACQCAAp0EBcUUNAA8LIAFB0HZqrUIghkKDgICAgJYBhBDAgICAAAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCEgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAAC5UCAgJ/BH4jgICAgABBwABrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFBuIHAgABBAyACQQhqQQMQ7ICAgAAgAkEgaiACKQMIEO2AgIAAIAIoAiBBAUYNACACKQM4IQEgAikDMCEGIAJBIGogAikDEBDtgICAACACKAIgQQFGDQAgAikDGCIHQv8Bg0IEUg0AIAIpAzghBCACKQMwIQUgACAGNwMgIAAgBTcDECAAIAE3AyggACAENwMYIAAgB0IgiD4CMEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBwABqJICAgIAACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBClgICAABoLewIBfwF+AkACQAJAIAGnQf8BcSICQcQARg0AIAJBCkcNAUIAIQMgAEIANwMYIAAgAUIIiDcDEAwCCyABEKKAgIAAIQMgARCjgICAACEBIAAgAzcDGCAAIAE3AxBCACEDDAELIABCg5CAgIABNwMIQgEhAwsgACADNwMAC64BAgF/An4jgICAgABBIGsiAiSAgICAACACQQhqIAEpAxAgASkDGBDvgICAAEIBIQMCQCACKAIIDQAgAikDECEEIAJBCGogASkDACABKQMIEO+AgIAAIAIoAggNACACIAIpAxA3AxAgAiAENwMIIAIgATUCIEIghkIEhDcDGCAAQbiBwIAAQQMgAkEIakEDENSAgIAANwMIQgAhAwsgACADNwMAIAJBIGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQoYCAgAAhAgsgAEIANwMAIAAgAjcDCAulEQgBfwF+AX8DfgJ/AX4BfwN+I4CAgIAAQcAAayIDJICAgIAAIANBEGogABDxgICAAAJAIAMoAhBBAUYNACADKQMYIQRBACEFAkADQCAFQSBGDQEgA0EQaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUGYgcCAAEEEIANBEGpBBBDsgICAACADQTBqIAMpAxAQ8oCAgAAgAygCMA0AIAMpAxgiAUL/AYNCywBSDQAgAykDOCEGIAEQg4CAgAAhACADQQA2AgggAyABNwMAIAMgAEIgiD4CDCADQTBqIAMQ84CAgAAgAykDMCIBQgJRDQAgAadBAXENAAJAIAMpAzgiAadB/wFxIgVBygBGDQAgBUEORw0BCwJAAkACQCABQfCAwIAAQQIQ9ICAgABCIIinDgIAAQMLIAMoAgggAygCDBD1gICAAA0CQQAhBQwBCyADKAIIIAMoAgwQ9YCAgABBAksNASADQTBqIAMQ84CAgAAgAykDMCIBQgJRDQEgAadBAXENASADQTBqIAMpAzgQ8YCAgAAgAygCMA0BIAMpAzghByADQTBqIAMQ84CAgAAgAykDMCIBQgJRDQEgAadBAXENASADKQM4IgBC/wGDQsgAUg0BQQEhBSAAEIWAgIAAQoCAgIBwg0KAgICAgAhSDQELIAMpAyAiCEL/AYNCywBSDQAgAykDKCIBQv8Bg0IEUg0AIAJC/wGDQssAUg0AELOAgIAAAkACQAJAEPaAgIAAIAFCIIinIglGDQBCg4CAgMAAIQEMAQsCQAJAEI+AgIAAIgGnQf8BcSIKQQZGDQAgCkHAAEcNAyABEJCAgIAAIQEMAQsgAUIIiCEBCwJAIAYgAVYNAEKDgICAECEBDAELAkACQCACEIOAgIAAQoCAgIBwg0KAgICAEFINACACEIOAgIAAQoCAgIAQVA0AIAIQkYCAgAAiAUL/AYNCywBSDQQgARCDgICAACELIANBADYCCCADIAE3AwAgAyALQiCIPgIMIANBEGogAxDzgICAACADKQMQIgFCAlENBCABp0EBcQ0EAkAgAykDGCIBp0H/AXEiCkHKAEYNACAKQQ5HDQULAkACQAJAAkAgAUGwgMCAAEEDEPSAgIAAQiCIpw4DAAECCAsgAygCCCADKAIMEPWAgIAAQQFLDQcgA0EwaiADEPOAgIAAIAMpAzAiAUICUQ0HIAGnQQFxDQcgA0EQaiADKQM4EPeAgIAAIAMoAhBBAUYNByADKQMgIQEgAykDGBCCgICAABC/gICAAEUNA0GEgsCAAEEJENmAgIAAIQsCQCABQv8Bg0IOUg0AIAtC/wGDQg5RDQMLIAEgCxCSgICAAFANBAwDCyADKAIIIAMoAgwQ9YCAgABBAUsNBiADQTBqIAMQ84CAgAAgAykDMCIBQgJRDQYgAadBAXENBiADQRBqIAMpAzgQ+ICAgAAgAygCEEUNAgwGCyADKAIIIAMoAgwQ9YCAgABBAUsNBSADQTBqIAMQ84CAgAAgAykDMCIBQgJRDQUgAadBAXENBSADQRBqIAMpAzgQ+YCAgAAgAygCEEUNAQwFCyADIAtCCIg3AxAgAyABQgiINwMwAkADQCADQTBqEPqAgIAAIQogA0EQahD6gICAACEMIApBgIDEAEYNASAKIAxHDQIMAAsLIAxBgIDEAEYNAQtCg4CAgOAAIQEgBUUNAUHgg8CAAEEMEPuAgIAAIAcQk4CAgAAQlICAgAAiC0L/AYNCzQBSDQMgCxDWgICAAEUNASAHIAQgABCVgICAABoLEI6AgIAAIQ0gAhCDgICAAEIgiCEOQgAhAUIEIQACQANAIA4gAVENAQJAAkAgAiAAEISAgIAAIgdC/wGDQssAUg0AQQAhCiAHEIOAgIAAIQQgA0EANgIIIAMgBzcDACADIARCIIg+AgwgA0EQaiADEPOAgIAAQQEhBQJAAkAgAykDECIHQgJRDQBBASEFIAenQQFxDQACQCADKQMYIg+nQf8BcSIMQcoARg0AIAxBDkcNAQsCQAJAAkAgD0GwgMCAAEEDEPSAgIAAQiCIpw4DAAECBAtBASEFIAMoAgggAygCDBD1gICAAEEBSw0CIANBMGogAxDzgICAACADKQMwIgdCAlENAiAHp0EBcQ0CIANBEGogAykDOBD3gICAACADKAIQDQIgAykDKCEHIAMpAyAhBCADKQMYIQtBASEKQQAhBQwDC0EBIQUgAygCCCADKAIMEPWAgIAAQQFLDQEgA0EwaiADEPOAgIAAIAMpAzAiB0ICUQ0BIAenQQFxDQEgA0EQaiADKQM4EPiAgIAAIAMoAhANASADKQMgIQQgAykDGCELQQAhBUEAIQoMAgtBASEFIAMoAgggAygCDBD1gICAAEEBSw0AIANBMGogAxDzgICAACADKQMwIgdCAlENACAHp0EBcQ0AIANBEGogAykDOBD5gICAACADKAIQDQAgAykDKCEHIAMpAyAhBCADKQMYIQtBACEFQQAhCgwBCwsgAUL/////D1ENBSAFDQUgCg0BQoOAgIDQACEBDAQLIAFC/////w9SGgwECyADIAs3AyAgAyAENwMYIAMgBzcDECAAQoCAgIAQfCEAIAFCAXwhASANQeyBwIAAQQMgA0EQakEDENSAgIAAEIyAgIAAIQ0MAAsLIAkgBiANEPyAgIAAIQEgA0ECNgIQIAMgATcDGAJAAkAgA0EQahC6gICAACICQgEQt4CAgABFDQACQCACQgEQgICAgACnQf8BcQ4CAAIFCyADQRBqELiAgIAACyADQQI2AhAgAyABNwMYIANBEGoQuoCAgABCAUIBEJaAgIAAGiADQRBqELiAgIAAIAEgCBDBgICAAEICIQEMAQsgA0EQahC4gICAAEKDgICAMCEBCyADQcAAaiSAgICAACABDwsQsYCAgAAACwALQgEBfkIBIQICQCABQv8Bg0LIAFINACABEIWAgIAAQoCAgIBwg0KAgICAgARSDQAgACABNwMIQgAhAgsgACACNwMAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQkICAgAAhAQsgACADNwMAIAAgATcDCAtKAgF+AX9CAiECAkAgASgCCCIDIAEoAgxPDQAgACABKQMAIAOtQiCGQgSEEISAgIAANwMIIAEgA0EBajYCCEIAIQILIAAgAjcDAAscACAAIAGtQiCGQgSEIAKtQiCGQgSEEKeAgIAACxkAAkAgASAASQ0AIAEgAGsPCxCxgICAAAALbQIBfwF+I4CAgIAAQRBrIgAkgICAgAAQs4CAgAAgAEEANgIAAkACQCAAELqAgIAAIgFCAhC3gICAAEUNACABQgIQgICAgAAiAUL/AYNCBFENAQALEMmAgIAAAAsgAEEQaiSAgICAACABQiCIpwvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGEhMCAAEEDIAJBCGpBAxDsgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGshMCAAEECIAJBAhDsgICAACACQRBqIAIpAwAQz4GAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ8YCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMhMCAAEEDIAJBCGpBAxDsgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDPgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDxgICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3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AhC6gICAACIDQgEQt4CAgABFDQAgAkEQaiADQgEQgICAgAAQ64CAgAAgAigCEEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgAEEQaiACQRBqQRBqQTAQ2IGAgAAaIABCADcDCCAAQgE3AwAgAhC4gICAAAsgAkHQAGokgICAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQpoCAgAALrQQFAX8BfgF/AX4CfyOAgICAAEHgAWsiAiSAgICAAAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCywBSDQAQs4CAgAAgABDVgICAACABEIOAgIAAQiCIIQMgAkGgAWpBEGohBEIAIQACQANAIAAgA1ENASABIABCIIZCBIQQhICAgAAhBUEAIQYCQANAIAZBEEYNASACQeAAaiAGakICNwMAIAZBCGohBgwACwsCQAJAIAVC/wGDQswAUg0AIAVB2IHAgABBAiACQeAAakECEOyAgIAAIAJBoAFqIAIpA2AQ64CAgAAgAigCoAFBAXENACACQfAAaiAEQTAQ2IGAgAAaIAIpA2giBUL/AYNCBFENAQsgAEL/////D1ENBCACIAJBMGpBMBDYgYCAABoMBAsgAkEwaiACQfAAakEwENiBgIAAGiAAQv////8PUQ0DIAIgAkEwakEwENiBgIAAIgZBoAFqIAZBMBDYgYCAABogBiAFQiCIpyIHNgLQASAGIAc2AjQgBkEBNgIwIAZBMGoQuoCAgAAhBSAGQfAAaiAGQaABahDugICAACAGKAJwQQFGDQIgBSAGKQN4QgEQloCAgAAaIABCAXwhACAGQTBqELiAgIAADAALC0HIgMCAAEEOENmAgIAAENOAgIAAIQAgAiABNwOgASAAQdyAwIAAQQEgAkGgAWpBARDUgICAABCNgICAABogAkHgAWokgICAgABCAg8LAAsQsYCAgAAAC3oBAX8jgICAgABB0ABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQooGAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUHAAGogAUEQahDugICAACABKAJAQQFxDQEgASkDSCEACyABQdAAaiSAgICAACAADwsACw8AEPaAgIAArUIghkIEhAtnAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0IEUg0AIAMgARDygICAACAD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QgIQloCAgAAaCwkAELKAgIAArQsIABC9gICAAAu5AgICfwF+I4CAgIAAQSBrIgIkgICAgAAgAkEQaiAAELmBgIAAAkACQAJAAkAgAigCEEEBRg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAIpAxghABCzgICAABC+gICAAAJAAkAgA0EBcQ0AIAJBCGoQxICAgAAiASAAEIqAgIAAENCAgIAAIAIoAggiA0ECRg0DIANFDQQCQCACKAIMIgMgARCDgICAAEIgiKdPDQAgASADrUIghkIEhBCLgICAACEBCyABEIOAgIAAIQQQwoCAgAAgBEIgiKdLDQUgARC6gYCAACAAQQAQu4GAgAAMAQsgABCtgYCAAAsgAkEgaiSAgICAAEICDwsACxCxgICAAAALQoOAgICQhQEQwICAgAAAC0KDgICAoIUBEMCAgIAAAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDFgICAAAsbAEEAEKyBgIAAIABCARCWgICAABoQroGAgAAL0AEDAX8BfgF/I4CAgIAAQSBrIgIkgICAgABBgIXAgABBChDZgICAACEDIAIgADcDCCACIAM3AwBBACEEA0ACQCAEQRBHDQBBACEEAkADQCAEQRBGDQEgAkEQaiAEaiACIARqKQMANwMAIARBCGohBAwACwsgAkEQakECEKOBgIAAIQAgAiABrUL/AYM3AxAgAEGMhcCAAEEBIAJBEGpBARDUgICAABCNgICAABogAkEgaiSAgICAAA8LIAJBEGogBGpCAjcDACAEQQhqIQQMAAsLKwACQCAAQv8Bg0IEUQ0AAAsQs4CAgAAQvoCAgAAgAEIgiKcQr4GAgABCAgsOABCzgICAABDEgICAAAseABCzgICAABDEgICAABCDgICAAEKAgICAcINCBIQLugECAX8CfiOAgICAAEEwayIBJICAgIAAIAFBIGogABC5gYCAAAJAIAEoAiBBAUYNACABKQMoIQIQs4CAgAAQxICAgAAiABCDgICAACEDIAFBADYCCCABIAA3AwAgASADQiCIPgIMAkADQCABQSBqIAEQx4CAgAAgAUEQaiABKQMgIAEpAygQsICAgAAgASkDECIAp0EBRw0BIAEpAxggAhDIgICAAEUNAAsLIAFBMGokgICAgAAgAA8LAAsPABDKgICAAK1CIIZCBIQLVAEBfyOAgICAAEEQayICJICAgIAAIAIgABDxgICAAAJAIAIoAgBBAUYNACABQv8Bg0LLAFINACACKQMIIAEQwYCAgAAgAkEQaiSAgICAAEICDwsAC2UBAX8jgICAgABBEGsiAySAgICAACADIAAQ8YCAgAACQCADKAIAQQFGDQAgAUL/AYNCywBSDQAgAkL/AYNCBFINACADKQMIIAEgAkIgiKcQw4CAgAAgA0EQaiSAgICAAEICDwsACzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEMSBgIAAQgIPCwALGwAgAK1CIIZCBIQgAa1CIIZCBIQQrYCAgAAaC+UEAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABDGgYCAAAJAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQxoGAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxgQvICAgAAaELOAgIAAAkACQAJAELWAgIAADQAQn4CAgAAhABCggICAAEIgiCIBIABCIIgiAFQNBCABpyAAp2siA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQwICAgAAAC0KDgICAwP8AEMCAgIAAAAsCQAJAIAIoAghBAUcNACACKAIMIAIoAhAQqoGAgAAMAQtBARC2gICAAEICEJeAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQq4GAgAAMAQtBAhC2gICAAEICEJeAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QeCFwIAAQQ8Q2YCAgAAQ04CAgAAhACACQShqEMeBgIAAIQEgAiACQTRqEMeBgIAANwNIIAIgATcDQCAAQYSGwIAAQQIgAkHAAGpBAhDUgICAABCNgICAABogAkHQAGokgICAgABCAg8LAAsQsYCAgAAAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARDQgYCAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDKgYCAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILoAECAn8BfiOAgICAAEHAAGsiACSAgICAABCzgICAACAAQQhqEMmBgIAAIABBFGoiARC5gICAACAAQTBqIABBCGoQyoGAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEMqBgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCjgYCAACECIABBwABqJICAgIAAIAILDAAgAEEBENOBgIAACzAAAkAgASgCAEEBRw0AIAAgASgCBCABKAIIENGBgIAADwsgAEIANwMAIABCAjcDCAuJAQEBfyOAgICAAEEQayIAJICAgIAAELyAgIAAGhCzgICAAAJAELWAgIAARQ0AQoOAgIDg/wAQwICAgAAAC0EAELaAgIAAQgFCAhCWgICAABpBlIbAgABBEhDZgICAABDTgICAAEEEQQAgAEEIakEAENSAgIAAEI2AgIAAGiAAQRBqJICAgIAAQgILCQAQtYCAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCpgICAACEDCyAAQgA3AwAgACADNwMIC7MCAwF/AX4BfyOAgICAAEEgayICJICAgIAAAkACQCABQv8Bg0LLAFENACAAQgE3AwAMAQsgARCDgICAACEDIAJBADYCCCACIAE3AwAgAiADQiCIPgIMIAJBEGogAhDzgICAAAJAIAIpAxAiAUICUQ0AIAGnQQFxDQACQCACKQMYIgGnQf8BcSIE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AHNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWJtZXNzYWdlX2xpYnN1cHBvcnRlZAAAAH0DEAALAAAAiAMQAAkAAABzZXRfYWxsb3dsaXN0YWxsb3dlZG9hcHCxAxAABwAAALgDEAAEAAAAc2V0X2RlbnlsaXN0ZGVuaWVkAADYAxAABgAAALgDEAAEAAAAcGF1c2VyAADwAxAABgAAAHVucGF1c2VyAAQQAAgAAABzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc211bHRpcGxpZXJfYnBzKgQQAA4AAABzZXRfZGVwb3NpdF9hZGRyZXNzZGVwb3NpdF9hZGRyZXNzAABTBBAADwAAAHNldF9wcmljZV9mZWVkcHJpY2VfZmVlZHoEEAAKAAAAc2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXNkc3RfZWlkb3B0aW9uX3R5cGVzAAAApgQQAAcAAACtBBAADAAAAHNldF93b3JrZXJfZmVlX2xpYmZlZV9saWIAAADeBBAABwAAAFBhdXNlZEFkbWluc01lc3NhZ2VMaWJzQWxsb3dsaXN0QWxsb3dsaXN0U2l6ZURlbnlsaXN0RGVmYXVsdE11bHRpcGxpZXJCcHNEZXBvc2l0QWRkcmVzc1N1cHBvcnRlZE9wdGlvblR5cGVzV29ya2VyRmVlTGliUHJpY2VGZWVkAKP8AQ5jb250cmFjdHNwZWN2MAAAAAQAAAAAAAAAAAAAAAhEdm5FcnJvcgAAAAYAAAAAAAAAD0F1dGhEYXRhRXhwaXJlZAAAAAABAAAAAAAAAA9FaWROb3RTdXBwb3J0ZWQAAAAAAgAAAAAAAAAPSGFzaEFscmVhZHlVc2VkAAAAAAMAAAAAAAAACkludmFsaWRWaWQAAAAAAAQAAAAAAAAAEU5vbkNvbnRyYWN0SW52b2tlAAAAAAAABQAAAAAAAAAJT25seUFkbWluAAAAAAAABgAAAAUAAAAAAAAAAAAAAAxTZXREc3RDb25maWcAAAABAAAADnNldF9kc3RfY29uZmlnAAAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADkRzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAZTZW5kZXIAAAAAAAIAAAAAAAAALk5vIGV4cGxpY2l0IHNlbmRlciAocGVybWlzc2lvbmxlc3MgZXhlY3V0aW9uKS4AAAAAAAROb25lAAAAAQAAAI9BIHJlZ2lzdGVyZWQgYWRtaW4gKGVkMjU1MTkpIHN1Ym1pdHRpbmcgdGhlIHRyYW5zYWN0aW9uLgpUaGUgdHVwbGUgaXMgYChwdWJsaWNfa2V5LCBzaWduYXR1cmUpYCB3aGVyZSB0aGUgc2lnbmF0dXJlIGNvdmVycyB0aGUgU29yb2JhbiBwYXlsb2FkLgAAAAAFQWRtaW4AAAAAAAACAAAD7gAAACAAAAPuAAAAQAAAAAEAAADHQXV0aGVudGljYXRpb24gZGF0YSBmb3IgRFZOIGNvbnRyYWN0IHRyYW5zYWN0aW9ucy4KClRoaXMgc3RydWN0IGlzIHVzZWQgd2l0aCBTb3JvYmFuJ3MgY3VzdG9tIGFjY291bnQgaW50ZXJmYWNlIHRvIGF1dGhvcml6ZQp0cmFuc2FjdGlvbnMgdGhyb3VnaCBhIGNvbWJpbmF0aW9uIG9mIGFkbWluIHNpZ25hdHVyZSBhbmQgbXVsdGlzaWcgcXVvcnVtLgAAAAAAAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAABAAAAERFeHBpcmF0aW9uIHRpbWVzdGFtcCAobGVkZ2VyIHRpbWUpIGFmdGVyIHdoaWNoIHRoaXMgYXV0aCBpcyBpbnZhbGlkLgAAAApleHBpcmF0aW9uAAAAAAAGAAAAPUVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoYWRtaW4sIG9yIHBlcm1pc3Npb25sZXNzKS4AAAAAAAAGc2VuZGVyAAAAAAfQAAAABlNlbmRlcgAAAAAAPFNpZ25hdHVyZXMgZnJvbSBtdWx0aXNpZyBzaWduZXJzIChzZWNwMjU2azEsIDY1IGJ5dGVzIGVhY2gpLgAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAyVmVyaWZpZXIgSUQgLSBtdXN0IG1hdGNoIHRoZSBEVk4ncyBjb25maWd1cmVkIFZJRC4AAAAAAAN2aWQAAAAABAAAAAEAAAByQ29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBjaGFpbi4KCkNvbnRhaW5zIGZlZSBjYWxjdWxhdGlvbiBwYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGVhY2ggZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAAAAAACURzdENvbmZpZwAAAAAAAAMAAAA7TWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkIGJ5IG5hdGl2ZSBkZWNpbWFscyByYXRlKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAALkdhcyBmb3IgdmVyaWZpY2F0aW9uIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAAANnYXMAAAAACgAAAGdGZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMTAwJSkuCklmIDAsIHRoZSBkZWZhdWx0IG11bHRpcGxpZXIgZnJvbSB3b3JrZXIgY29uZmlnIGlzIHVzZWQuAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAEAAAA2UGFyYW1ldGVyIGZvciBzZXR0aW5nIGRlc3RpbmF0aW9uIGNoYWluIGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAADkRzdENvbmZpZ1BhcmFtAAAAAAACAAAAJ1RoZSBjb25maWd1cmF0aW9uIGZvciB0aGlzIGRlc3RpbmF0aW9uLgAAAAAGY29uZmlnAAAAAAfQAAAACURzdENvbmZpZwAAAAAAABxUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAAAEAAACJUmVwcmVzZW50cyBhIHNpbmdsZSBjb250cmFjdCBpbnZvY2F0aW9uIGZvciBtdWx0aXNpZyBhdXRob3JpemF0aW9uLgoKVXNlZCBpbiBgaGFzaF9jYWxsX2RhdGFgIHRvIGNvbXB1dGUgdGhlIGhhc2ggdGhhdCBzaWduZXJzIHNpZ24gb3Zlci4AAAAAAAAAAAAABENhbGwAAAADAAAAE0Z1bmN0aW9uIGFyZ3VtZW50cy4AAAAABGFyZ3MAAAPqAAAAAAAAABhGdW5jdGlvbiBuYW1lIHRvIGludm9rZS4AAAAEZnVuYwAAABEAAAAYVGFyZ2V0IGNvbnRyYWN0IGFkZHJlc3MuAAAAAnRvAAAAAAATAAAAAAAAADRWYWxpZGF0ZXMgYXV0aG9yaXphdGlvbiBmb3IgRFZOIGNvbnRyYWN0IG9wZXJhdGlvbnMuAAAADF9fY2hlY2tfYXV0aAAAAAMAAAAAAAAAEXNpZ25hdHVyZV9wYXlsb2FkAAAAAAAD7gAAACAAAAAAAAAACWF1dGhfZGF0YQAAAAAAB9AAAAATVHJhbnNhY3Rpb25BdXRoRGF0YQAAAAAAAAAADWF1dGhfY29udGV4dHMAAAAAAAPqAAAH0AAAAAdDb250ZXh0AAAAAAEAAAPpAAAAAgAAAAMAAAAAAAAA5FNldHMgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgd29ya2VyLgoKV2hlbiBwYXVzZWQsIHRoZSB3b3JrZXIgd2lsbCByZWplY3QgbmV3IGpvYiBhc3NpZ25tZW50cyAoZS5nLiwgYXNzaWduX2pvYiwgZ2V0X2ZlZSkuCkV4aXN0aW5nIGpvYnMgaW4gcHJvZ3Jlc3MgYXJlIG5vdCBhZmZlY3RlZC4KCiMgQXJndW1lbnRzCiogYHBhdXNlZGAgLSBgdHJ1ZWAgdG8gcGF1c2UsIGBmYWxzZWAgdG8gdW5wYXVzZQAAAApzZXRfcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZWQAAAAAAAEAAAAAAAAAAAAAAP1TZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4KCkFkbWlucyBjYW4gY29uZmlndXJlIHdvcmtlciBzZXR0aW5ncyBsaWtlIGZlZSBtdWx0aXBsaWVycywgZGVwb3NpdCBhZGRyZXNzZXMsCmFuZCBzdXBwb3J0ZWQgb3B0aW9uIHR5cGVzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAE3U2V0cyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZCBieSB0aGlzIHdvcmtlci4KCk1lc3NhZ2UgbGlicmFyaWVzIChlLmcuLCBVTE4zMDIpIGNhbGwgd29ya2VycyB0byBhc3NpZ24gam9icy4gT25seSBzdXBwb3J0ZWQKbGlicmFyaWVzIGNhbiBpbnRlcmFjdCB3aXRoIHRoaXMgd29ya2VyLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gVGhlIG1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzCiogYHN1cHBvcnRlZGAgLSBgdHJ1ZWAgdG8gYWRkIHN1cHBvcnQsIGBmYWxzZWAgdG8gcmVtb3ZlIHN1cHBvcnQAAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAAAAAFYU2V0cyBhbGxvd2xpc3Qgc3RhdHVzIGZvciBhbiBPQXBwIGFkZHJlc3MuCgpXaGVuIHRoZSBhbGxvd2xpc3QgaXMgZW1wdHksIGFsbCBPQXBwcyBhcmUgYWxsb3dlZCAodW5sZXNzIG9uIGRlbnlsaXN0KS4KV2hlbiB0aGUgYWxsb3dsaXN0IGlzIG5vdCBlbXB0eSwgb25seSBhbGxvd2xpc3RlZCBPQXBwcyBhcmUgYWxsb3dlZC4KRGVueWxpc3QgYWx3YXlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgYWxsb3dlZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGFsbG93bGlzdCwgYGZhbHNlYCB0byByZW1vdmUAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAAAAAQlTZXRzIGRlbnlsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKRGVueWxpc3RlZCBPQXBwcyBhcmUgYmxvY2tlZCBmcm9tIHVzaW5nIHRoaXMgd29ya2VyLCBldmVuIGlmIHRoZXkncmUgb24KdGhlIGFsbG93bGlzdCAoZGVueWxpc3QgdGFrZXMgcHJlY2VkZW5jZSkuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgZGVuaWVkYCAtIGB0cnVlYCB0byBhZGQgdG8gZGVueWxpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAAAAATtTZXRzIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4KClRoZSBtdWx0aXBsaWVyIGlzIGFwcGxpZWQgdG8gYmFzZSBmZWVzIGR1cmluZyBmZWUgY2FsY3VsYXRpb24uIFVzZWQgd2hlbgpubyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBtdWx0aXBsaWVyIGlzIGNvbmZpZ3VyZWQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgbXVsdGlwbGllcl9icHNgIC0gTXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMXgsIDEyMDAwID0gMS4yeCkAAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAAAAADxU2V0cyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIHdvcmtlciBmZWVzIGFyZSBjb2xsZWN0ZWQuCgpXaGVuIGpvYnMgYXJlIGFzc2lnbmVkLCBmZWVzIGFyZSBkaXJlY3RlZCB0byB0aGlzIGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZGVwb3NpdF9hZGRyZXNzYCAtIEFkZHJlc3MgdG8gcmVjZWl2ZSBjb2xsZWN0ZWQgZmVlcwAAAAAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAQlTZXRzIHN1cHBvcnRlZCBleGVjdXRvciBvcHRpb24gdHlwZXMgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZWlkYCAtIERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKQoqIGBvcHRpb25fdHlwZXNgIC0gU3VwcG9ydGVkIG9wdGlvbiB0eXBlcy4gRWFjaCBieXRlIHJlcHJlc2VudHMgYW4gb3B0aW9uIHR5cGUuAAAAAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAADAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAAAAAESU2V0cyB0aGUgd29ya2VyIGZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MuCgpUaGUgZmVlIGxpYnJhcnkgY2FsY3VsYXRlcyBmZWVzIGJhc2VkIG9uIGV4ZWN1dG9yIG9wdGlvbnMgYW5kIHByaWNlIGZlZWQgZGF0YS4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUV4ZWN1dG9yRmVlTGliYAAAAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAAAAABElNldHMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4KClRoZSBwcmljZSBmZWVkIHByb3ZpZGVzIGdhcyBwcmljZXMgYW5kIGV4Y2hhbmdlIHJhdGVzIGZvciBjcm9zcy1jaGFpbgpmZWUgY2FsY3VsYXRpb25zLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUxheWVyWmVyb1ByaWNlRmVlZGAAAAAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAAAAAAlUmV0dXJucyB3aGV0aGVyIHRoZSB3b3JrZXIgaXMgcGF1c2VkLgAAAAAAAAZwYXVzZWQAAAAAAAAAAAABAAAAAQAAAAAAAABVUmV0dXJucyB3aGV0aGVyIGFuIGFkZHJlc3MgaXMgYW4gYWRtaW4uCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBUaGUgYWRkcmVzcyB0byBjaGVjawAAAAAAAAhpc19hZG1pbgAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAABAAAAAAAAABxSZXR1cm5zIGFsbCBhZG1pbiBhZGRyZXNzZXMuAAAABmFkbWlucwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABvUmV0dXJucyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZC4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIE1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzAAAAABhpc19zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAABAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAQAAAAEAAAAAAAAAc1JldHVybnMgYWxsIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgYWRkcmVzc2VzLgoKIyBSZXR1cm5zClZlY3RvciBvZiBzdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3Nlcy4AAAAADG1lc3NhZ2VfbGlicwAAAAAAAAABAAAD6gAAABMAAAAAAAAAWlJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcwAAAAAAD2lzX29uX2FsbG93bGlzdAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWRkcmVzc2VzIG9uIHRoZSBhbGxvd2xpc3QuAAAAAAAADmFsbG93bGlzdF9zaXplAAAAAAAAAAAAAQAAAAQAAAAAAAAAWVJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBkZW55bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAADmlzX29uX2RlbnlsaXN0AAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAAPlSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBoYXMgYWNjZXNzIGNvbnRyb2wgbGlzdCAoQUNMKSBwZXJtaXNzaW9uLgoKQUNMIGV2YWx1YXRpb24gb3JkZXI6CjEuIElmIG9uIGRlbnlsaXN0IOKGkiBkZW5pZWQKMi4gSWYgYWxsb3dsaXN0IGlzIGVtcHR5IE9SIG9uIGFsbG93bGlzdCDihpIgYWxsb3dlZAozLiBPdGhlcndpc2Ug4oaSIGRlbmllZAoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MgdG8gY2hlY2sAAAAAAAAHaGFzX2FjbAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADNSZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4AAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAAAAAABAAAABAAAAAAAAAA1UmV0dXJucyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIGZlZXMgYXJlIGNvbGxlY3RlZC4AAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAfFJldHVybnMgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikAAAAaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAA+gAAAAOAAAAAAAAADBSZXR1cm5zIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4AAAAOd29ya2VyX2ZlZV9saWIAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAKFJldHVybnMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4AAAAKcHJpY2VfZmVlZAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAB4Q2FsY3VsYXRlcyB0aGUgdmVyaWZpY2F0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgoKQ2FsbGVkIGJ5IHRoZSBzZW5kIGxpYnJhcnkgdG8gcXVvdGUgRFZOIGZlZXMgYmVmb3JlIHNlbmRpbmcuAAAAB2dldF9mZWUAAAAABwAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAAAsAAAAAAAAAuEFzc2lnbnMgYSB2ZXJpZmljYXRpb24gam9iIHRvIHRoaXMgRFZOIGFuZCByZXR1cm5zIGZlZSBwYXltZW50IGluZm8uCgpDYWxsZWQgYnkgdGhlIHNlbmQgbGlicmFyeSB3aGVuIGEgbWVzc2FnZSBpcyBzZW50LiBUaGUgRFZOIHdpbGwgbGF0ZXIKdmVyaWZ5IHRoZSBtZXNzYWdlIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAKYXNzaWduX2pvYgAAAAAABwAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAAAAAERTZXRzIGRlc3RpbmF0aW9uIGNoYWluIGNvbmZpZ3VyYXRpb25zLiBSZXF1aXJlcyBhZG1pbiBhdXRob3JpemF0aW9uLgAAAA5zZXRfZHN0X2NvbmZpZwAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADkRzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAAEFSZXR1cm5zIHRoZSBkZXN0aW5hdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGVuZHBvaW50IElELgAAAAAAAApkc3RfY29uZmlnAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAJRHN0Q29uZmlnAAAAAAAAAAAAACVSZXR1cm5zIHRoZSBWZXJpZmllciBJRCBmb3IgdGhpcyBEVk4uAAAAAAAAA3ZpZAAAAAAAAAAAAQAAAAQAAAAAAAAAd0NvbXB1dGVzIHRoZSBoYXNoIG9mIGNhbGwgZGF0YSBmb3IgbXVsdGlzaWcgc2lnbmluZy4KCk9mZi1jaGFpbiBzaWduZXJzIHVzZSB0aGlzIHRvIGNvbXB1dGUgdGhlIGhhc2ggdGhleSBuZWVkIHRvIHNpZ24uAAAAAA5oYXNoX2NhbGxfZGF0YQAAAAAAAwAAAAAAAAADdmlkAAAAAAQAAAAAAAAACmV4cGlyYXRpb24AAAAAAAYAAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAAEAAAPuAAAAIAAAAAAAAAJkSW5pdGlhbGl6ZXMgdGhlIERWTiBjb250cmFjdC4KCiMgQXJndW1lbnRzCiogYHZpZGAgLSBWZXJpZmllciBJRCwgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgRFZOCiogYHNpZ25lcnNgIC0gSW5pdGlhbCBtdWx0aXNpZyBzaWduZXJzICgyMC1ieXRlIEV0aGVyZXVtIGFkZHJlc3NlcykKKiBgdGhyZXNob2xkYCAtIE1pbmltdW0gc2lnbmF0dXJlcyByZXF1aXJlZCBmb3IgbXVsdGlzaWcgb3BlcmF0aW9ucwoqIGBhZG1pbnNgIC0gSW5pdGlhbCBhZG1pbiBhZGRyZXNzZXMgZm9yIG9wZXJhdGlvbmFsIGZ1bmN0aW9ucwoqIGBzdXBwb3J0ZWRfbXNnbGlic2AgLSBNZXNzYWdlIGxpYnJhcmllcyB0aGlzIERWTiBzdXBwb3J0cyAoZS5nLiwgVUxOMzAyKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgZm9yIGZlZSBjYWxjdWxhdGlvbnMKKiBgZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc2AgLSBEZWZhdWx0IGZlZSBtdWx0aXBsaWVyICgxMDAwMCA9IDF4KQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBmb3IgY29tcHV0aW5nIERWTiBmZWVzCiogYGRlcG9zaXRfYWRkcmVzc2AgLSBBZGRyZXNzIHRvIHJlY2VpdmUgZmVlIHBheW1lbnRzAAAADV9fY29uc3RydWN0b3IAAAAAAAAJAAAAAAAAAAN2aWQAAAAABAAAAAAAAAAHc2lnbmVycwAAAAPqAAAD7gAAABQAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAABmFkbWlucwAAAAAD6gAAABMAAAAAAAAAEXN1cHBvcnRlZF9tc2dsaWJzAAAAAAAD6gAAABMAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAADndvcmtlcl9mZWVfbGliAAAAAAATAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAAAAAABalNldHMgYWRtaW4gc3RhdHVzIGZvciBhbiBhZGRyZXNzLiBDYW4gYmUgY2FsbGVkIGJ5IGFuIGV4aXN0aW5nIGFkbWluLgoKVGhpcyBhbGxvd3MgZXhpc3RpbmcgYWRtaW5zIHRvIGFkZCBvciByZW1vdmUgb3RoZXIgYWRtaW5zIHdpdGhvdXQgZ29pbmcgdGhyb3VnaAp0aGUgb3duZXIvbXVsdGlzaWcgcGF0aC4KCiMgQXJndW1lbnRzCiogYGNhbGxlcmAgLSBUaGUgYWRtaW4gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAASc2V0X2FkbWluX2J5X2FkbWluAAAAAAADAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAABsVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAACHUnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KUGFyc2VzIFhEUi1lbmNvZGVkIGBtaWdyYXRpb25fZGF0YWAgYW5kIGNhbGxzIGBfX21pZ3JhdGVgLiBDbGVhcnMgdGhlIG1pZ3JhdGlvbiBmbGFnIG9uIHN1Y2Nlc3MuAAAAAAdtaWdyYXRlAAAAAAEAAAAAAAAADm1pZ3JhdGlvbl9kYXRhAAAAAAAOAAAAAAAAAAAAAABPUGVybWFuZW50bHkgZnJlZXplcyB0aGUgY29udHJhY3QsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSB1cGdyYWRlcy4gSXJyZXZlcnNpYmxlLgAAAAAGZnJlZXplAAAAAAAAAAAAAAAAAAAAAAA7UmV0dXJucyB3aGV0aGVyIHRoZSBjb250cmFjdCBpcyBmcm96ZW4gKHVwZ3JhZGVzIGRpc2FibGVkKS4AAAAACWlzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAABJQWRkcyBvciByZW1vdmVzIGEgc2lnbmVyIGZyb20gdGhlIG11bHRpc2lnLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAAAAAApzZXRfc2lnbmVyAAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAAAAAAH1JldHVybnMgYWxsIHJlZ2lzdGVyZWQgc2lnbmVycy4AAAAAC2dldF9zaWduZXJzAAAAAAAAAAABAAAD6gAAA+4AAAAUAAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABAAAAAAAAAAsQ2hlY2tzIGlmIGFuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIHNpZ25lci4AAAAJaXNfc2lnbmVyAAAAAAAAAQAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABAAAAAAAAAA1VmVyaWZpZXMgc2lnbmF0dXJlcyBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4AAAAAAAARdmVyaWZ5X3NpZ25hdHVyZXMAAAAAAAACAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAA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dGggdGhlIGVuZHBvaW50AAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAA2Q29tcG9zZSBtZXNzYWdlIGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIEdVSUQgYW5kIGluZGV4AAAAAAANQ29tcG9zZUV4aXN0cwAAAAAAAAIAAAA2Q29tcG9zZSBtZXNzYWdlIG5vdCBmb3VuZCBmb3IgdGhlIGdpdmVuIEdVSUQgYW5kIGluZGV4AAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAA6RGVmYXVsdCByZWNlaXZlIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIHNvdXJjZSBlbmRwb2ludAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAPERlZmF1bHQgc2VuZCBsaWJyYXJ5IGlzIG5vdCBzZXQgZm9yIHRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAC9TdXBwbGllZCBuYXRpdmUgdG9rZW4gZmVlIGlzIGxlc3MgdGhhbiByZXF1aXJlZAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAACxTdXBwbGllZCBaUk8gdG9rZW4gZmVlIGlzIGxlc3MgdGhhbiByZXF1aXJlZAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAArVGltZW91dCBleHBpcnkgaXMgaW52YWxpZCAoYWxyZWFkeSBleHBpcmVkKQAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAgAAAAgRmVlIGFtb3VudCBpcyBpbnZhbGlkIChuZWdhdGl2ZSkAAAAQSW52YWxpZEZlZUFtb3VudAAAAAkAAAArQ29tcG9zZSBpbmRleCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCB2YWx1ZQAAAAAMSW52YWxpZEluZGV4AAAACgAAACxOb25jZSBpcyBpbnZhbGlkIGZvciB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbgAAAAxJbnZhbGlkTm9uY2UAAAALAAAAMFBheWxvYWQgaGFzaCBpcyBpbnZhbGlkIChlbXB0eSBoYXNoIG5vdCBhbGxvd2VkKQAAABJJbnZhbGlkUGF5bG9hZEhhc2gAAAAAAAwAAABBUmVjZWl2ZSBsaWJyYXJ5IGlzIG5vdCB2YWxpZCBmb3IgdGhlIHJlY2VpdmVyIGFuZCBzb3VyY2UgZW5kcG9pbnQAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAADFPcGVyYXRpb24gcmVxdWlyZXMgYSBub24tZGVmYXVsdCAoY3VzdG9tKSBsaWJyYXJ5AAAAAAAAEU9ubHlOb25EZWZhdWx0TGliAAAAAAAADgAAACdMaWJyYXJ5IG11c3Qgc3VwcG9ydCByZWNlaXZpbmcgbWVzc2FnZXMAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAALExpYnJhcnkgbXVzdCBiZSByZWdpc3RlcmVkIHdpdGggdGhlIGVuZHBvaW50AAAAEU9ubHlSZWdpc3RlcmVkTGliAAAAAAAAEAAAACVMaWJyYXJ5IG11c3Qgc3VwcG9ydCBzZW5kaW5nIG1lc3NhZ2VzAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAA5TWVzc2FnaW5nIHBhdGggY2Fubm90IGJlIGluaXRpYWxpemVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAC9NZXNzYWdlIGNhbm5vdCBiZSB2ZXJpZmllZCBmb3IgdGhlIGdpdmVuIG9yaWdpbgAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAK1BheWxvYWQgaGFzaCBkb2VzIG5vdCBtYXRjaCB0aGUgc3RvcmVkIGhhc2gAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAFAAAACdOZXcgdmFsdWUgaXMgdGhlIHNhbWUgYXMgZXhpc3RpbmcgdmFsdWUAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAvQ2FsbGVyIGlzIG5vdCBhdXRob3JpemVkIChub3QgT0FwcCBvciBkZWxlZ2F0ZSkAAAAADFVuYXV0aG9yaXplZAAAABYAAAArRW5kcG9pbnQgSUQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgbGlicmFyeQAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABcAAAA5WlJPIGZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvIHdoZW4gcGF5X2luX3pybyBpcyB0cnVlAAAAAAAAClplcm9acm9GZWUAAAAAABgAAAAcWlJPIHRva2VuIGFkZHJlc3MgaXMgbm90IHNldAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQAAAAEAAAAtUGFyYW1ldGVycyBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAAA9NZXNzYWdpbmdQYXJhbXMAAAAABQAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAcVGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBzZW5kLgAAAAdtZXNzYWdlAAAAAA4AAAAhRW5jb2RlZCBleGVjdXRvciBhbmQgRFZOIG9wdGlvbnMuAAAAAAAAB29wdGlvbnMAAAAADgAAADlXaGV0aGVyIHRvIHBheSBmZWVzIGluIFpSTyB0b2tlbiBpbnN0ZWFkIG9mIG5hdGl2ZSB0b2tlbi4AAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAADVSZWNlaXZlciBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAKEZlZSBzdHJ1Y3R1cmUgZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2luZy4AAAAAAAAADE1lc3NhZ2luZ0ZlZQAAAAIAAAAfRmVlIHBhaWQgaW4gbmF0aXZlIHRva2VuIChYTE0pLgAAAAAKbmF0aXZlX2ZlZQAAAAAACwAAAChGZWUgcGFpZCBpbiBaUk8gdG9rZW4gKExheWVyWmVybyB0b2tlbikuAAAAB3pyb19mZWUAAAAACwAAAAEAAABCUmVjZWlwdCByZXR1cm5lZCBhZnRlciBzdWNjZXNzZnVsbHkgc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAADAAAAKVRoZSBmZWVzIGNoYXJnZWQgZm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UuAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAACtHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2UuAAAAAARndWlkAAAD7gAAACAAAAAkVGhlIG91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAAAIAAAA4VHlwZSBvZiBtZXNzYWdlIGxpYnJhcnkgaW5kaWNhdGluZyBzdXBwb3J0ZWQgb3BlcmF0aW9ucy4AAAAAAAAADk1lc3NhZ2VMaWJUeXBlAAAAAAADAAAAAAAAAB9TdXBwb3J0cyBvbmx5IHNlbmRpbmcgbWVzc2FnZXMuAAAAAARTZW5kAAAAAAAAACFTdXBwb3J0cyBvbmx5IHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAHUmVjZWl2ZQAAAAAAAAAALVN1cHBvcnRzIGJvdGggc2VuZGluZyBhbmQgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAA5TZW5kQW5kUmVjZWl2ZQAAAAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABAAAAAEAAAA2VGltZW91dCBjb25maWd1cmF0aW9uIGZvciByZWNlaXZlIGxpYnJhcnkgdHJhbnNpdGlvbnMuAAAAAAAAAAAAB1RpbWVvdXQAAAAAAgAAADNVbml4IHRpbWVzdGFtcCBpbiBzZWNvbmRzIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAABmV4cGlyeQAAAAAABgAAAENUaGUgb2xkIGxpYnJhcnkgYWRkcmVzcyB0aGF0IHJlbWFpbnMgdmFsaWQgZHVyaW5nIHRoZSBncmFjZSBwZXJpb2QuAAAAAANsaWIAAAAAEwAAAAEAAAA1UGFyYW1ldGVycyBmb3Igc2V0dGluZyBtZXNzYWdlIGxpYnJhcnkgY29uZmlndXJhdGlvbi4AAAAAAAAAAAAADlNldENvbmZpZ1BhcmFtAAAAAAADAAAAH1hEUi1lbmNvZGVkIGNvbmZpZ3VyYXRpb24gZGF0YS4AAAAABmNvbmZpZwAAAAAADgAAADBUaGUgdHlwZSBvZiBjb25maWd1cmF0aW9uIChlLmcuLCBleGVjdXRvciwgVUxOKS4AAAALY29uZmlnX3R5cGUAAAAABAAAACdUaGUgZW5kcG9pbnQgSUQgdGhpcyBjb25maWcgYXBwbGllcyB0by4AAAAAA2VpZAAAAAAEAAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAATAAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAK0EgZmVlIHJlY2lwaWVudCB3aXRoIHRoZSBhbW91bnQgdG8gYmUgcGFpZC4AAAAAAAAAAAxGZWVSZWNpcGllbnQAAAACAAAAFUFtb3VudCBvZiBmZWUgdG8gcGF5LgAAAAAAAAZhbW91bnQAAAAAAAsAAAAfVGhlIGFkZHJlc3MgdG8gc2VuZCB0aGUgZmVlIHRvLgAAAAACdG8AAAAAABMAAAABAAAAPFJlc3VsdCBvZiBzZW5kIG9wZXJhdGlvbiBjb250YWluaW5nIGZlZXMgYW5kIGVuY29kZWQgcGFja2V0LgAAAAAAAAANRmVlc0FuZFBhY2tldAAAAAAAAAMAAAAqVGhlIGVuY29kZWQgcGFja2V0IHJlYWR5IGZvciB0cmFuc21pc3Npb24uAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAA/TGlzdCBvZiBuYXRpdmUgdG9rZW4gZmVlIHJlY2lwaWVudHMgKGV4ZWN1dG9yLCBEVk5zLCB0cmVhc3VyeSkuAAAAABVuYXRpdmVfZmVlX3JlY2lwaWVudHMAAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAsTGlzdCBvZiBaUk8gdG9rZW4gZmVlIHJlY2lwaWVudHMgKHRyZWFzdXJ5KS4AAAASenJvX2ZlZV9yZWNpcGllbnRzAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAABAAAA4VBhcmFtZXRlcnMgZm9yIERWTiBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIHZlcmlmaWNhdGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAAAAAMRHZuRmVlUGFyYW1zAAAACgAAACdOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZC4AAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KR2FzIGVzdGltYXRlIGZvciB2ZXJpZmljYXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAA2dhcwAAAAAKAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAtEVk4gb3B0aW9ucwAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAAAnTnVtYmVyIG9mIHJlcXVpcmVkIHNpZ25hdHVyZXMgKHF1b3J1bSkuAAAAAAZxdW9ydW0AAAAAAAQAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAA41BhcmFtZXRlcnMgZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgZXhlY3V0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAJRmVlUGFyYW1zAAAAAAAACwAAACZTaXplIG9mIHRoZSBtZXNzYWdlIGNhbGxkYXRhIGluIGJ5dGVzLgAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAANkJhc2UgZ2FzIGZvciBlYWNoIGx6Q29tcG9zZSBjYWxsIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAARM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJhc2UgZ2FzIGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAACxNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSBzZW50LgAAAApuYXRpdmVfY2FwAAAAAAAKAAAARkVuY29kZWQgZXhlY3V0b3Igb3B0aW9ucyAobHpSZWNlaXZlIGdhcywgbHpDb21wb3NlLCBuYXRpdmVEcm9wLCBldGMuKS4AAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAACER2FzIHByaWNlIGluZm9ybWF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKQ29udGFpbnMgdGhlIGV4Y2hhbmdlIHJhdGUgYW5kIGdhcyBjb3N0cyBuZWVkZWQgZm9yIGNyb3NzLWNoYWluIGZlZSBjYWxjdWxhdGlvbnMuAAAAAAAAAAVQcmljZQAAAAAAAAMAAAA3R2FzIGNvc3QgcGVyIGJ5dGUgb2YgY2FsbGRhdGEgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAMZ2FzX3Blcl9ieXRlAAAABAAAAEJHYXMgcHJpY2UgaW4gdGhlIHNtYWxsZXN0IHVuaXQgKHdlaSBmb3IgRVZNLCBzdHJvb3BzIGZvciBTdGVsbGFyKS4AAAAAABFnYXNfcHJpY2VfaW5fdW5pdAAAAAAAAAYAAACpUHJpY2UgcmF0aW8gPSAocmVtb3RlIG5hdGl2ZSB0b2tlbiBwcmljZSAvIGxvY2FsIG5hdGl2ZSB0b2tlbiBwcmljZSkgKiBQUklDRV9SQVRJT19ERU5PTUlOQVRPUi4KVXNlZCB0byBjb252ZXJ0IGRlc3RpbmF0aW9uIGNoYWluIGdhcyBjb3N0cyB0byBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAALAAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQAAAAQAAAAdV29ya2VyT3B0aW9uc0Vycm9yOiAxMTEwLTExMTkAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARWAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAEVwAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABFgAAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEWQAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFoAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARbAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFwAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEXQAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAAReAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAMAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAAAAAAAA5VcGdyYWRlc0Zyb3plbgAAAAAEHAAAAAQAAAAYTXVsdGlTaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aVNpZ0Vycm9yAAAAAAAACQAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABCUAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQmAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJwAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQoAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKQAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQqAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKwAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCwAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAAS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";
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Pre-computed WASM hash (SHA-256)
|
|
38
38
|
* Use this when the WASM is already uploaded on-chain
|
|
39
39
|
*/
|
|
40
|
-
export const WASM_HASH = "
|
|
40
|
+
export const WASM_HASH = "1712d4e0a74d9b3a5a42aff8ff587d4a559d43bd8137aea1a5c3184d433896dd";
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* Get the WASM bytecode as a Buffer
|
|
@@ -165,30 +165,105 @@ export type DvnStorage = {tag: "Vid", values: void} | {tag: "DstConfig", values:
|
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
export const EndpointError = {
|
|
168
|
+
/**
|
|
169
|
+
* Library is already registered with the endpoint
|
|
170
|
+
*/
|
|
168
171
|
1: {message:"AlreadyRegistered"},
|
|
172
|
+
/**
|
|
173
|
+
* Compose message already exists for this GUID and index
|
|
174
|
+
*/
|
|
169
175
|
2: {message:"ComposeExists"},
|
|
176
|
+
/**
|
|
177
|
+
* Compose message not found for the given GUID and index
|
|
178
|
+
*/
|
|
170
179
|
3: {message:"ComposeNotFound"},
|
|
180
|
+
/**
|
|
181
|
+
* Default receive library is not set for the source endpoint
|
|
182
|
+
*/
|
|
171
183
|
4: {message:"DefaultReceiveLibUnavailable"},
|
|
184
|
+
/**
|
|
185
|
+
* Default send library is not set for the destination endpoint
|
|
186
|
+
*/
|
|
172
187
|
5: {message:"DefaultSendLibUnavailable"},
|
|
188
|
+
/**
|
|
189
|
+
* Supplied native token fee is less than required
|
|
190
|
+
*/
|
|
173
191
|
6: {message:"InsufficientNativeFee"},
|
|
192
|
+
/**
|
|
193
|
+
* Supplied ZRO token fee is less than required
|
|
194
|
+
*/
|
|
174
195
|
7: {message:"InsufficientZroFee"},
|
|
175
|
-
|
|
176
|
-
|
|
196
|
+
/**
|
|
197
|
+
* Timeout expiry is invalid (already expired)
|
|
198
|
+
*/
|
|
199
|
+
8: {message:"InvalidExpiry"},
|
|
200
|
+
/**
|
|
201
|
+
* Fee amount is invalid (negative)
|
|
202
|
+
*/
|
|
203
|
+
9: {message:"InvalidFeeAmount"},
|
|
204
|
+
/**
|
|
205
|
+
* Compose index exceeds maximum allowed value
|
|
206
|
+
*/
|
|
177
207
|
10: {message:"InvalidIndex"},
|
|
208
|
+
/**
|
|
209
|
+
* Nonce is invalid for the requested operation
|
|
210
|
+
*/
|
|
178
211
|
11: {message:"InvalidNonce"},
|
|
212
|
+
/**
|
|
213
|
+
* Payload hash is invalid (empty hash not allowed)
|
|
214
|
+
*/
|
|
179
215
|
12: {message:"InvalidPayloadHash"},
|
|
216
|
+
/**
|
|
217
|
+
* Receive library is not valid for the receiver and source endpoint
|
|
218
|
+
*/
|
|
180
219
|
13: {message:"InvalidReceiveLibrary"},
|
|
220
|
+
/**
|
|
221
|
+
* Operation requires a non-default (custom) library
|
|
222
|
+
*/
|
|
181
223
|
14: {message:"OnlyNonDefaultLib"},
|
|
224
|
+
/**
|
|
225
|
+
* Library must support receiving messages
|
|
226
|
+
*/
|
|
182
227
|
15: {message:"OnlyReceiveLib"},
|
|
228
|
+
/**
|
|
229
|
+
* Library must be registered with the endpoint
|
|
230
|
+
*/
|
|
183
231
|
16: {message:"OnlyRegisteredLib"},
|
|
232
|
+
/**
|
|
233
|
+
* Library must support sending messages
|
|
234
|
+
*/
|
|
184
235
|
17: {message:"OnlySendLib"},
|
|
236
|
+
/**
|
|
237
|
+
* Messaging path cannot be initialized for the given origin
|
|
238
|
+
*/
|
|
185
239
|
18: {message:"PathNotInitializable"},
|
|
240
|
+
/**
|
|
241
|
+
* Message cannot be verified for the given origin
|
|
242
|
+
*/
|
|
186
243
|
19: {message:"PathNotVerifiable"},
|
|
244
|
+
/**
|
|
245
|
+
* Payload hash does not match the stored hash
|
|
246
|
+
*/
|
|
187
247
|
20: {message:"PayloadHashNotFound"},
|
|
248
|
+
/**
|
|
249
|
+
* New value is the same as existing value
|
|
250
|
+
*/
|
|
188
251
|
21: {message:"SameValue"},
|
|
252
|
+
/**
|
|
253
|
+
* Caller is not authorized (not OApp or delegate)
|
|
254
|
+
*/
|
|
189
255
|
22: {message:"Unauthorized"},
|
|
256
|
+
/**
|
|
257
|
+
* Endpoint ID is not supported by the library
|
|
258
|
+
*/
|
|
190
259
|
23: {message:"UnsupportedEid"},
|
|
260
|
+
/**
|
|
261
|
+
* ZRO fee must be greater than zero when pay_in_zro is true
|
|
262
|
+
*/
|
|
191
263
|
24: {message:"ZeroZroFee"},
|
|
264
|
+
/**
|
|
265
|
+
* ZRO token address is not set
|
|
266
|
+
*/
|
|
192
267
|
25: {message:"ZroUnavailable"}
|
|
193
268
|
}
|
|
194
269
|
|
|
@@ -305,11 +380,11 @@ minor: u32;
|
|
|
305
380
|
*/
|
|
306
381
|
export interface Timeout {
|
|
307
382
|
/**
|
|
308
|
-
* Unix timestamp when the timeout expires.
|
|
383
|
+
* Unix timestamp in seconds when the timeout expires.
|
|
309
384
|
*/
|
|
310
385
|
expiry: u64;
|
|
311
386
|
/**
|
|
312
|
-
* The
|
|
387
|
+
* The old library address that remains valid during the grace period.
|
|
313
388
|
*/
|
|
314
389
|
lib: string;
|
|
315
390
|
}
|
|
@@ -639,12 +714,13 @@ export const TtlConfigurableError = {
|
|
|
639
714
|
* OwnableError: 1030-1039
|
|
640
715
|
*/
|
|
641
716
|
export const OwnableError = {
|
|
642
|
-
1030: {message:"
|
|
643
|
-
1031: {message:"
|
|
644
|
-
1032: {message:"
|
|
645
|
-
1033: {message:"
|
|
646
|
-
1034: {message:"
|
|
647
|
-
1035: {message:"
|
|
717
|
+
1030: {message:"InvalidAuthorizer"},
|
|
718
|
+
1031: {message:"InvalidPendingOwner"},
|
|
719
|
+
1032: {message:"InvalidTtl"},
|
|
720
|
+
1033: {message:"NoPendingTransfer"},
|
|
721
|
+
1034: {message:"OwnerAlreadySet"},
|
|
722
|
+
1035: {message:"OwnerNotSet"},
|
|
723
|
+
1036: {message:"TransferInProgress"}
|
|
648
724
|
}
|
|
649
725
|
|
|
650
726
|
/**
|
|
@@ -664,22 +740,24 @@ export const UpgradeableError = {
|
|
|
664
740
|
}
|
|
665
741
|
|
|
666
742
|
/**
|
|
667
|
-
*
|
|
743
|
+
* MultiSigError: 1060-1069
|
|
668
744
|
*/
|
|
669
|
-
export const
|
|
745
|
+
export const MultiSigError = {
|
|
670
746
|
1060: {message:"AlreadyInitialized"},
|
|
671
|
-
1061: {message:"
|
|
672
|
-
1062: {message:"
|
|
673
|
-
1063: {message:"
|
|
674
|
-
1064: {message:"
|
|
675
|
-
1065: {message:"
|
|
676
|
-
1066: {message:"
|
|
677
|
-
1067: {message:"
|
|
747
|
+
1061: {message:"InvalidAuthorizer"},
|
|
748
|
+
1062: {message:"InvalidSigner"},
|
|
749
|
+
1063: {message:"SignatureError"},
|
|
750
|
+
1064: {message:"SignerAlreadyExists"},
|
|
751
|
+
1065: {message:"SignerNotFound"},
|
|
752
|
+
1066: {message:"TotalSignersLessThanThreshold"},
|
|
753
|
+
1067: {message:"UnsortedSigners"},
|
|
754
|
+
1068: {message:"ZeroThreshold"}
|
|
678
755
|
}
|
|
679
756
|
|
|
680
757
|
|
|
681
758
|
|
|
682
|
-
export type
|
|
759
|
+
export type MultiSigStorage = {tag: "Signers", values: void} | {tag: "Threshold", values: void};
|
|
760
|
+
|
|
683
761
|
|
|
684
762
|
|
|
685
763
|
|
|
@@ -753,22 +831,7 @@ export interface Client {
|
|
|
753
831
|
* # Arguments
|
|
754
832
|
* * `paused` - `true` to pause, `false` to unpause
|
|
755
833
|
*/
|
|
756
|
-
set_paused: ({paused}: {paused: boolean}, txnOptions?:
|
|
757
|
-
/**
|
|
758
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
759
|
-
*/
|
|
760
|
-
fee?: number;
|
|
761
|
-
|
|
762
|
-
/**
|
|
763
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
764
|
-
*/
|
|
765
|
-
timeoutInSeconds?: number;
|
|
766
|
-
|
|
767
|
-
/**
|
|
768
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
769
|
-
*/
|
|
770
|
-
simulate?: boolean;
|
|
771
|
-
}) => Promise<AssembledTransaction<null>>
|
|
834
|
+
set_paused: ({paused}: {paused: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
772
835
|
|
|
773
836
|
/**
|
|
774
837
|
* Construct and simulate a set_admin 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.
|
|
@@ -781,22 +844,7 @@ export interface Client {
|
|
|
781
844
|
* * `admin` - The address to set admin status for
|
|
782
845
|
* * `active` - `true` to add admin, `false` to remove
|
|
783
846
|
*/
|
|
784
|
-
set_admin: ({admin, active}: {admin: string, active: boolean}, txnOptions?:
|
|
785
|
-
/**
|
|
786
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
787
|
-
*/
|
|
788
|
-
fee?: number;
|
|
789
|
-
|
|
790
|
-
/**
|
|
791
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
792
|
-
*/
|
|
793
|
-
timeoutInSeconds?: number;
|
|
794
|
-
|
|
795
|
-
/**
|
|
796
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
797
|
-
*/
|
|
798
|
-
simulate?: boolean;
|
|
799
|
-
}) => Promise<AssembledTransaction<null>>
|
|
847
|
+
set_admin: ({admin, active}: {admin: string, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
800
848
|
|
|
801
849
|
/**
|
|
802
850
|
* Construct and simulate a set_supported_message_lib 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.
|
|
@@ -809,22 +857,7 @@ export interface Client {
|
|
|
809
857
|
* * `message_lib` - The message library contract address
|
|
810
858
|
* * `supported` - `true` to add support, `false` to remove support
|
|
811
859
|
*/
|
|
812
|
-
set_supported_message_lib: ({message_lib, supported}: {message_lib: string, supported: boolean}, txnOptions?:
|
|
813
|
-
/**
|
|
814
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
815
|
-
*/
|
|
816
|
-
fee?: number;
|
|
817
|
-
|
|
818
|
-
/**
|
|
819
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
820
|
-
*/
|
|
821
|
-
timeoutInSeconds?: number;
|
|
822
|
-
|
|
823
|
-
/**
|
|
824
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
825
|
-
*/
|
|
826
|
-
simulate?: boolean;
|
|
827
|
-
}) => Promise<AssembledTransaction<null>>
|
|
860
|
+
set_supported_message_lib: ({message_lib, supported}: {message_lib: string, supported: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
828
861
|
|
|
829
862
|
/**
|
|
830
863
|
* Construct and simulate a set_allowlist 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.
|
|
@@ -838,22 +871,7 @@ export interface Client {
|
|
|
838
871
|
* * `oapp` - The OApp contract address
|
|
839
872
|
* * `allowed` - `true` to add to allowlist, `false` to remove
|
|
840
873
|
*/
|
|
841
|
-
set_allowlist: ({oapp, allowed}: {oapp: string, allowed: boolean}, txnOptions?:
|
|
842
|
-
/**
|
|
843
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
844
|
-
*/
|
|
845
|
-
fee?: number;
|
|
846
|
-
|
|
847
|
-
/**
|
|
848
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
849
|
-
*/
|
|
850
|
-
timeoutInSeconds?: number;
|
|
851
|
-
|
|
852
|
-
/**
|
|
853
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
854
|
-
*/
|
|
855
|
-
simulate?: boolean;
|
|
856
|
-
}) => Promise<AssembledTransaction<null>>
|
|
874
|
+
set_allowlist: ({oapp, allowed}: {oapp: string, allowed: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
857
875
|
|
|
858
876
|
/**
|
|
859
877
|
* Construct and simulate a set_denylist 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.
|
|
@@ -866,22 +884,7 @@ export interface Client {
|
|
|
866
884
|
* * `oapp` - The OApp contract address
|
|
867
885
|
* * `denied` - `true` to add to denylist, `false` to remove
|
|
868
886
|
*/
|
|
869
|
-
set_denylist: ({oapp, denied}: {oapp: string, denied: boolean}, txnOptions?:
|
|
870
|
-
/**
|
|
871
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
872
|
-
*/
|
|
873
|
-
fee?: number;
|
|
874
|
-
|
|
875
|
-
/**
|
|
876
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
877
|
-
*/
|
|
878
|
-
timeoutInSeconds?: number;
|
|
879
|
-
|
|
880
|
-
/**
|
|
881
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
882
|
-
*/
|
|
883
|
-
simulate?: boolean;
|
|
884
|
-
}) => Promise<AssembledTransaction<null>>
|
|
887
|
+
set_denylist: ({oapp, denied}: {oapp: string, denied: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
885
888
|
|
|
886
889
|
/**
|
|
887
890
|
* Construct and simulate a set_default_multiplier_bps 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.
|
|
@@ -894,22 +897,7 @@ export interface Client {
|
|
|
894
897
|
* * `admin` - Admin address (must provide authorization)
|
|
895
898
|
* * `multiplier_bps` - Multiplier in basis points (10000 = 1x, 12000 = 1.2x)
|
|
896
899
|
*/
|
|
897
|
-
set_default_multiplier_bps: ({admin, multiplier_bps}: {admin: string, multiplier_bps: u32}, txnOptions?:
|
|
898
|
-
/**
|
|
899
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
900
|
-
*/
|
|
901
|
-
fee?: number;
|
|
902
|
-
|
|
903
|
-
/**
|
|
904
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
905
|
-
*/
|
|
906
|
-
timeoutInSeconds?: number;
|
|
907
|
-
|
|
908
|
-
/**
|
|
909
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
910
|
-
*/
|
|
911
|
-
simulate?: boolean;
|
|
912
|
-
}) => Promise<AssembledTransaction<null>>
|
|
900
|
+
set_default_multiplier_bps: ({admin, multiplier_bps}: {admin: string, multiplier_bps: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
913
901
|
|
|
914
902
|
/**
|
|
915
903
|
* Construct and simulate a set_deposit_address 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.
|
|
@@ -921,22 +909,7 @@ export interface Client {
|
|
|
921
909
|
* * `admin` - Admin address (must provide authorization)
|
|
922
910
|
* * `deposit_address` - Address to receive collected fees
|
|
923
911
|
*/
|
|
924
|
-
set_deposit_address: ({admin, deposit_address}: {admin: string, deposit_address: string}, txnOptions?:
|
|
925
|
-
/**
|
|
926
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
927
|
-
*/
|
|
928
|
-
fee?: number;
|
|
929
|
-
|
|
930
|
-
/**
|
|
931
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
932
|
-
*/
|
|
933
|
-
timeoutInSeconds?: number;
|
|
934
|
-
|
|
935
|
-
/**
|
|
936
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
937
|
-
*/
|
|
938
|
-
simulate?: boolean;
|
|
939
|
-
}) => Promise<AssembledTransaction<null>>
|
|
912
|
+
set_deposit_address: ({admin, deposit_address}: {admin: string, deposit_address: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
940
913
|
|
|
941
914
|
/**
|
|
942
915
|
* Construct and simulate a set_supported_option_types 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.
|
|
@@ -947,22 +920,7 @@ export interface Client {
|
|
|
947
920
|
* * `eid` - Destination endpoint ID (chain identifier)
|
|
948
921
|
* * `option_types` - Supported option types. Each byte represents an option type.
|
|
949
922
|
*/
|
|
950
|
-
set_supported_option_types: ({admin, eid, option_types}: {admin: string, eid: u32, option_types: Buffer}, txnOptions?:
|
|
951
|
-
/**
|
|
952
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
953
|
-
*/
|
|
954
|
-
fee?: number;
|
|
955
|
-
|
|
956
|
-
/**
|
|
957
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
958
|
-
*/
|
|
959
|
-
timeoutInSeconds?: number;
|
|
960
|
-
|
|
961
|
-
/**
|
|
962
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
963
|
-
*/
|
|
964
|
-
simulate?: boolean;
|
|
965
|
-
}) => Promise<AssembledTransaction<null>>
|
|
923
|
+
set_supported_option_types: ({admin, eid, option_types}: {admin: string, eid: u32, option_types: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
966
924
|
|
|
967
925
|
/**
|
|
968
926
|
* Construct and simulate a set_worker_fee_lib 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.
|
|
@@ -974,22 +932,7 @@ export interface Client {
|
|
|
974
932
|
* * `admin` - Admin address (must provide authorization)
|
|
975
933
|
* * `worker_fee_lib` - Fee library contract address implementing `IExecutorFeeLib`
|
|
976
934
|
*/
|
|
977
|
-
set_worker_fee_lib: ({admin, worker_fee_lib}: {admin: string, worker_fee_lib: string}, txnOptions?:
|
|
978
|
-
/**
|
|
979
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
980
|
-
*/
|
|
981
|
-
fee?: number;
|
|
982
|
-
|
|
983
|
-
/**
|
|
984
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
985
|
-
*/
|
|
986
|
-
timeoutInSeconds?: number;
|
|
987
|
-
|
|
988
|
-
/**
|
|
989
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
990
|
-
*/
|
|
991
|
-
simulate?: boolean;
|
|
992
|
-
}) => Promise<AssembledTransaction<null>>
|
|
935
|
+
set_worker_fee_lib: ({admin, worker_fee_lib}: {admin: string, worker_fee_lib: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
993
936
|
|
|
994
937
|
/**
|
|
995
938
|
* Construct and simulate a set_price_feed 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.
|
|
@@ -1002,43 +945,13 @@ export interface Client {
|
|
|
1002
945
|
* * `admin` - Admin address (must provide authorization)
|
|
1003
946
|
* * `price_feed` - Price feed contract address implementing `ILayerZeroPriceFeed`
|
|
1004
947
|
*/
|
|
1005
|
-
set_price_feed: ({admin, price_feed}: {admin: string, price_feed: string}, txnOptions?:
|
|
1006
|
-
/**
|
|
1007
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1008
|
-
*/
|
|
1009
|
-
fee?: number;
|
|
1010
|
-
|
|
1011
|
-
/**
|
|
1012
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1013
|
-
*/
|
|
1014
|
-
timeoutInSeconds?: number;
|
|
1015
|
-
|
|
1016
|
-
/**
|
|
1017
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1018
|
-
*/
|
|
1019
|
-
simulate?: boolean;
|
|
1020
|
-
}) => Promise<AssembledTransaction<null>>
|
|
948
|
+
set_price_feed: ({admin, price_feed}: {admin: string, price_feed: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1021
949
|
|
|
1022
950
|
/**
|
|
1023
951
|
* Construct and simulate a paused 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.
|
|
1024
952
|
* Returns whether the worker is paused.
|
|
1025
953
|
*/
|
|
1026
|
-
paused: (
|
|
1027
|
-
/**
|
|
1028
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1029
|
-
*/
|
|
1030
|
-
fee?: number;
|
|
1031
|
-
|
|
1032
|
-
/**
|
|
1033
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1034
|
-
*/
|
|
1035
|
-
timeoutInSeconds?: number;
|
|
1036
|
-
|
|
1037
|
-
/**
|
|
1038
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1039
|
-
*/
|
|
1040
|
-
simulate?: boolean;
|
|
1041
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
954
|
+
paused: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1042
955
|
|
|
1043
956
|
/**
|
|
1044
957
|
* Construct and simulate a is_admin 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.
|
|
@@ -1047,43 +960,13 @@ export interface Client {
|
|
|
1047
960
|
* # Arguments
|
|
1048
961
|
* * `admin` - The address to check
|
|
1049
962
|
*/
|
|
1050
|
-
is_admin: ({admin}: {admin: string}, txnOptions?:
|
|
1051
|
-
/**
|
|
1052
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1053
|
-
*/
|
|
1054
|
-
fee?: number;
|
|
1055
|
-
|
|
1056
|
-
/**
|
|
1057
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1058
|
-
*/
|
|
1059
|
-
timeoutInSeconds?: number;
|
|
1060
|
-
|
|
1061
|
-
/**
|
|
1062
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1063
|
-
*/
|
|
1064
|
-
simulate?: boolean;
|
|
1065
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
963
|
+
is_admin: ({admin}: {admin: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1066
964
|
|
|
1067
965
|
/**
|
|
1068
966
|
* Construct and simulate a admins 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.
|
|
1069
967
|
* Returns all admin addresses.
|
|
1070
968
|
*/
|
|
1071
|
-
admins: (
|
|
1072
|
-
/**
|
|
1073
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1074
|
-
*/
|
|
1075
|
-
fee?: number;
|
|
1076
|
-
|
|
1077
|
-
/**
|
|
1078
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1079
|
-
*/
|
|
1080
|
-
timeoutInSeconds?: number;
|
|
1081
|
-
|
|
1082
|
-
/**
|
|
1083
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1084
|
-
*/
|
|
1085
|
-
simulate?: boolean;
|
|
1086
|
-
}) => Promise<AssembledTransaction<Array<string>>>
|
|
969
|
+
admins: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>
|
|
1087
970
|
|
|
1088
971
|
/**
|
|
1089
972
|
* Construct and simulate a is_supported_message_lib 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.
|
|
@@ -1092,22 +975,7 @@ export interface Client {
|
|
|
1092
975
|
* # Arguments
|
|
1093
976
|
* * `message_lib` - Message library contract address
|
|
1094
977
|
*/
|
|
1095
|
-
is_supported_message_lib: ({message_lib}: {message_lib: string}, txnOptions?:
|
|
1096
|
-
/**
|
|
1097
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1098
|
-
*/
|
|
1099
|
-
fee?: number;
|
|
1100
|
-
|
|
1101
|
-
/**
|
|
1102
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1103
|
-
*/
|
|
1104
|
-
timeoutInSeconds?: number;
|
|
1105
|
-
|
|
1106
|
-
/**
|
|
1107
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1108
|
-
*/
|
|
1109
|
-
simulate?: boolean;
|
|
1110
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
978
|
+
is_supported_message_lib: ({message_lib}: {message_lib: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1111
979
|
|
|
1112
980
|
/**
|
|
1113
981
|
* Construct and simulate a message_libs 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.
|
|
@@ -1116,22 +984,7 @@ export interface Client {
|
|
|
1116
984
|
* # Returns
|
|
1117
985
|
* Vector of supported message library contract addresses.
|
|
1118
986
|
*/
|
|
1119
|
-
message_libs: (
|
|
1120
|
-
/**
|
|
1121
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1122
|
-
*/
|
|
1123
|
-
fee?: number;
|
|
1124
|
-
|
|
1125
|
-
/**
|
|
1126
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1127
|
-
*/
|
|
1128
|
-
timeoutInSeconds?: number;
|
|
1129
|
-
|
|
1130
|
-
/**
|
|
1131
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1132
|
-
*/
|
|
1133
|
-
simulate?: boolean;
|
|
1134
|
-
}) => Promise<AssembledTransaction<Array<string>>>
|
|
987
|
+
message_libs: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>
|
|
1135
988
|
|
|
1136
989
|
/**
|
|
1137
990
|
* Construct and simulate a is_on_allowlist 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.
|
|
@@ -1140,43 +993,13 @@ export interface Client {
|
|
|
1140
993
|
* # Arguments
|
|
1141
994
|
* * `oapp` - OApp contract address
|
|
1142
995
|
*/
|
|
1143
|
-
is_on_allowlist: ({oapp}: {oapp: string}, txnOptions?:
|
|
1144
|
-
/**
|
|
1145
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1146
|
-
*/
|
|
1147
|
-
fee?: number;
|
|
1148
|
-
|
|
1149
|
-
/**
|
|
1150
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1151
|
-
*/
|
|
1152
|
-
timeoutInSeconds?: number;
|
|
1153
|
-
|
|
1154
|
-
/**
|
|
1155
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1156
|
-
*/
|
|
1157
|
-
simulate?: boolean;
|
|
1158
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
996
|
+
is_on_allowlist: ({oapp}: {oapp: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1159
997
|
|
|
1160
998
|
/**
|
|
1161
999
|
* Construct and simulate a allowlist_size 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.
|
|
1162
1000
|
* Returns the number of addresses on the allowlist.
|
|
1163
1001
|
*/
|
|
1164
|
-
allowlist_size: (
|
|
1165
|
-
/**
|
|
1166
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1167
|
-
*/
|
|
1168
|
-
fee?: number;
|
|
1169
|
-
|
|
1170
|
-
/**
|
|
1171
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1172
|
-
*/
|
|
1173
|
-
timeoutInSeconds?: number;
|
|
1174
|
-
|
|
1175
|
-
/**
|
|
1176
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1177
|
-
*/
|
|
1178
|
-
simulate?: boolean;
|
|
1179
|
-
}) => Promise<AssembledTransaction<u32>>
|
|
1002
|
+
allowlist_size: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
1180
1003
|
|
|
1181
1004
|
/**
|
|
1182
1005
|
* Construct and simulate a is_on_denylist 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.
|
|
@@ -1185,22 +1008,7 @@ export interface Client {
|
|
|
1185
1008
|
* # Arguments
|
|
1186
1009
|
* * `oapp` - OApp contract address
|
|
1187
1010
|
*/
|
|
1188
|
-
is_on_denylist: ({oapp}: {oapp: string}, txnOptions?:
|
|
1189
|
-
/**
|
|
1190
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1191
|
-
*/
|
|
1192
|
-
fee?: number;
|
|
1193
|
-
|
|
1194
|
-
/**
|
|
1195
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1196
|
-
*/
|
|
1197
|
-
timeoutInSeconds?: number;
|
|
1198
|
-
|
|
1199
|
-
/**
|
|
1200
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1201
|
-
*/
|
|
1202
|
-
simulate?: boolean;
|
|
1203
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
1011
|
+
is_on_denylist: ({oapp}: {oapp: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1204
1012
|
|
|
1205
1013
|
/**
|
|
1206
1014
|
* Construct and simulate a has_acl 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.
|
|
@@ -1214,64 +1022,19 @@ export interface Client {
|
|
|
1214
1022
|
* # Arguments
|
|
1215
1023
|
* * `oapp` - OApp contract address to check
|
|
1216
1024
|
*/
|
|
1217
|
-
has_acl: ({oapp}: {oapp: string}, txnOptions?:
|
|
1218
|
-
/**
|
|
1219
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1220
|
-
*/
|
|
1221
|
-
fee?: number;
|
|
1222
|
-
|
|
1223
|
-
/**
|
|
1224
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1225
|
-
*/
|
|
1226
|
-
timeoutInSeconds?: number;
|
|
1227
|
-
|
|
1228
|
-
/**
|
|
1229
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1230
|
-
*/
|
|
1231
|
-
simulate?: boolean;
|
|
1232
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
1025
|
+
has_acl: ({oapp}: {oapp: string}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1233
1026
|
|
|
1234
1027
|
/**
|
|
1235
1028
|
* Construct and simulate a default_multiplier_bps 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.
|
|
1236
1029
|
* Returns the default fee multiplier in basis points.
|
|
1237
1030
|
*/
|
|
1238
|
-
default_multiplier_bps: (
|
|
1239
|
-
/**
|
|
1240
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1241
|
-
*/
|
|
1242
|
-
fee?: number;
|
|
1243
|
-
|
|
1244
|
-
/**
|
|
1245
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1246
|
-
*/
|
|
1247
|
-
timeoutInSeconds?: number;
|
|
1248
|
-
|
|
1249
|
-
/**
|
|
1250
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1251
|
-
*/
|
|
1252
|
-
simulate?: boolean;
|
|
1253
|
-
}) => Promise<AssembledTransaction<u32>>
|
|
1031
|
+
default_multiplier_bps: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
1254
1032
|
|
|
1255
1033
|
/**
|
|
1256
1034
|
* Construct and simulate a deposit_address 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.
|
|
1257
1035
|
* Returns the deposit address where fees are collected.
|
|
1258
1036
|
*/
|
|
1259
|
-
deposit_address: (
|
|
1260
|
-
/**
|
|
1261
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1262
|
-
*/
|
|
1263
|
-
fee?: number;
|
|
1264
|
-
|
|
1265
|
-
/**
|
|
1266
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1267
|
-
*/
|
|
1268
|
-
timeoutInSeconds?: number;
|
|
1269
|
-
|
|
1270
|
-
/**
|
|
1271
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1272
|
-
*/
|
|
1273
|
-
simulate?: boolean;
|
|
1274
|
-
}) => Promise<AssembledTransaction<Option<string>>>
|
|
1037
|
+
deposit_address: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>
|
|
1275
1038
|
|
|
1276
1039
|
/**
|
|
1277
1040
|
* Construct and simulate a get_supported_option_types 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.
|
|
@@ -1280,64 +1043,19 @@ export interface Client {
|
|
|
1280
1043
|
* # Arguments
|
|
1281
1044
|
* * `eid` - Destination endpoint ID (chain identifier)
|
|
1282
1045
|
*/
|
|
1283
|
-
get_supported_option_types: ({eid}: {eid: u32}, txnOptions?:
|
|
1284
|
-
/**
|
|
1285
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1286
|
-
*/
|
|
1287
|
-
fee?: number;
|
|
1288
|
-
|
|
1289
|
-
/**
|
|
1290
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1291
|
-
*/
|
|
1292
|
-
timeoutInSeconds?: number;
|
|
1293
|
-
|
|
1294
|
-
/**
|
|
1295
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1296
|
-
*/
|
|
1297
|
-
simulate?: boolean;
|
|
1298
|
-
}) => Promise<AssembledTransaction<Option<Buffer>>>
|
|
1046
|
+
get_supported_option_types: ({eid}: {eid: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Buffer>>>
|
|
1299
1047
|
|
|
1300
1048
|
/**
|
|
1301
1049
|
* Construct and simulate a worker_fee_lib 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.
|
|
1302
1050
|
* Returns the worker fee library contract address.
|
|
1303
1051
|
*/
|
|
1304
|
-
worker_fee_lib: (
|
|
1305
|
-
/**
|
|
1306
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1307
|
-
*/
|
|
1308
|
-
fee?: number;
|
|
1309
|
-
|
|
1310
|
-
/**
|
|
1311
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1312
|
-
*/
|
|
1313
|
-
timeoutInSeconds?: number;
|
|
1314
|
-
|
|
1315
|
-
/**
|
|
1316
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1317
|
-
*/
|
|
1318
|
-
simulate?: boolean;
|
|
1319
|
-
}) => Promise<AssembledTransaction<Option<string>>>
|
|
1052
|
+
worker_fee_lib: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>
|
|
1320
1053
|
|
|
1321
1054
|
/**
|
|
1322
1055
|
* Construct and simulate a price_feed 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.
|
|
1323
1056
|
* Returns the price feed contract address.
|
|
1324
1057
|
*/
|
|
1325
|
-
price_feed: (
|
|
1326
|
-
/**
|
|
1327
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1328
|
-
*/
|
|
1329
|
-
fee?: number;
|
|
1330
|
-
|
|
1331
|
-
/**
|
|
1332
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1333
|
-
*/
|
|
1334
|
-
timeoutInSeconds?: number;
|
|
1335
|
-
|
|
1336
|
-
/**
|
|
1337
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1338
|
-
*/
|
|
1339
|
-
simulate?: boolean;
|
|
1340
|
-
}) => Promise<AssembledTransaction<Option<string>>>
|
|
1058
|
+
price_feed: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>
|
|
1341
1059
|
|
|
1342
1060
|
/**
|
|
1343
1061
|
* Construct and simulate a get_fee 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.
|
|
@@ -1345,22 +1063,7 @@ export interface Client {
|
|
|
1345
1063
|
*
|
|
1346
1064
|
* Called by the send library to quote DVN fees before sending.
|
|
1347
1065
|
*/
|
|
1348
|
-
get_fee: ({send_lib, sender, dst_eid, packet_header, payload_hash, confirmations, options}: {send_lib: string, sender: string, dst_eid: u32, packet_header: Buffer, payload_hash: Buffer, confirmations: u64, options: Buffer}, txnOptions?:
|
|
1349
|
-
/**
|
|
1350
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1351
|
-
*/
|
|
1352
|
-
fee?: number;
|
|
1353
|
-
|
|
1354
|
-
/**
|
|
1355
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1356
|
-
*/
|
|
1357
|
-
timeoutInSeconds?: number;
|
|
1358
|
-
|
|
1359
|
-
/**
|
|
1360
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1361
|
-
*/
|
|
1362
|
-
simulate?: boolean;
|
|
1363
|
-
}) => Promise<AssembledTransaction<i128>>
|
|
1066
|
+
get_fee: ({send_lib, sender, dst_eid, packet_header, payload_hash, confirmations, options}: {send_lib: string, sender: string, dst_eid: u32, packet_header: Buffer, payload_hash: Buffer, confirmations: u64, options: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<i128>>
|
|
1364
1067
|
|
|
1365
1068
|
/**
|
|
1366
1069
|
* Construct and simulate a assign_job 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.
|
|
@@ -1369,85 +1072,25 @@ export interface Client {
|
|
|
1369
1072
|
* Called by the send library when a message is sent. The DVN will later
|
|
1370
1073
|
* verify the message on the destination chain.
|
|
1371
1074
|
*/
|
|
1372
|
-
assign_job: ({send_lib, sender, dst_eid, packet_header, payload_hash, confirmations, options}: {send_lib: string, sender: string, dst_eid: u32, packet_header: Buffer, payload_hash: Buffer, confirmations: u64, options: Buffer}, txnOptions?:
|
|
1373
|
-
/**
|
|
1374
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1375
|
-
*/
|
|
1376
|
-
fee?: number;
|
|
1377
|
-
|
|
1378
|
-
/**
|
|
1379
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1380
|
-
*/
|
|
1381
|
-
timeoutInSeconds?: number;
|
|
1382
|
-
|
|
1383
|
-
/**
|
|
1384
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1385
|
-
*/
|
|
1386
|
-
simulate?: boolean;
|
|
1387
|
-
}) => Promise<AssembledTransaction<FeeRecipient>>
|
|
1075
|
+
assign_job: ({send_lib, sender, dst_eid, packet_header, payload_hash, confirmations, options}: {send_lib: string, sender: string, dst_eid: u32, packet_header: Buffer, payload_hash: Buffer, confirmations: u64, options: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<FeeRecipient>>
|
|
1388
1076
|
|
|
1389
1077
|
/**
|
|
1390
1078
|
* Construct and simulate a set_dst_config 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.
|
|
1391
1079
|
* Sets destination chain configurations. Requires admin authorization.
|
|
1392
1080
|
*/
|
|
1393
|
-
set_dst_config: ({admin, params}: {admin: string, params: Array<DstConfigParam>}, txnOptions?:
|
|
1394
|
-
/**
|
|
1395
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1396
|
-
*/
|
|
1397
|
-
fee?: number;
|
|
1398
|
-
|
|
1399
|
-
/**
|
|
1400
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1401
|
-
*/
|
|
1402
|
-
timeoutInSeconds?: number;
|
|
1403
|
-
|
|
1404
|
-
/**
|
|
1405
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1406
|
-
*/
|
|
1407
|
-
simulate?: boolean;
|
|
1408
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1081
|
+
set_dst_config: ({admin, params}: {admin: string, params: Array<DstConfigParam>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1409
1082
|
|
|
1410
1083
|
/**
|
|
1411
1084
|
* Construct and simulate a dst_config 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.
|
|
1412
1085
|
* Returns the destination configuration for a specific endpoint ID.
|
|
1413
1086
|
*/
|
|
1414
|
-
dst_config: ({dst_eid}: {dst_eid: u32}, txnOptions?:
|
|
1415
|
-
/**
|
|
1416
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1417
|
-
*/
|
|
1418
|
-
fee?: number;
|
|
1419
|
-
|
|
1420
|
-
/**
|
|
1421
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1422
|
-
*/
|
|
1423
|
-
timeoutInSeconds?: number;
|
|
1424
|
-
|
|
1425
|
-
/**
|
|
1426
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1427
|
-
*/
|
|
1428
|
-
simulate?: boolean;
|
|
1429
|
-
}) => Promise<AssembledTransaction<Option<DstConfig>>>
|
|
1087
|
+
dst_config: ({dst_eid}: {dst_eid: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<DstConfig>>>
|
|
1430
1088
|
|
|
1431
1089
|
/**
|
|
1432
1090
|
* Construct and simulate a vid 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.
|
|
1433
1091
|
* Returns the Verifier ID for this DVN.
|
|
1434
1092
|
*/
|
|
1435
|
-
vid: (
|
|
1436
|
-
/**
|
|
1437
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1438
|
-
*/
|
|
1439
|
-
fee?: number;
|
|
1440
|
-
|
|
1441
|
-
/**
|
|
1442
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1443
|
-
*/
|
|
1444
|
-
timeoutInSeconds?: number;
|
|
1445
|
-
|
|
1446
|
-
/**
|
|
1447
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1448
|
-
*/
|
|
1449
|
-
simulate?: boolean;
|
|
1450
|
-
}) => Promise<AssembledTransaction<u32>>
|
|
1093
|
+
vid: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
1451
1094
|
|
|
1452
1095
|
/**
|
|
1453
1096
|
* Construct and simulate a hash_call_data 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.
|
|
@@ -1455,22 +1098,7 @@ export interface Client {
|
|
|
1455
1098
|
*
|
|
1456
1099
|
* Off-chain signers use this to compute the hash they need to sign.
|
|
1457
1100
|
*/
|
|
1458
|
-
hash_call_data: ({vid, expiration, calls}: {vid: u32, expiration: u64, calls: Array<Call>}, txnOptions?:
|
|
1459
|
-
/**
|
|
1460
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1461
|
-
*/
|
|
1462
|
-
fee?: number;
|
|
1463
|
-
|
|
1464
|
-
/**
|
|
1465
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1466
|
-
*/
|
|
1467
|
-
timeoutInSeconds?: number;
|
|
1468
|
-
|
|
1469
|
-
/**
|
|
1470
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1471
|
-
*/
|
|
1472
|
-
simulate?: boolean;
|
|
1473
|
-
}) => Promise<AssembledTransaction<Buffer>>
|
|
1101
|
+
hash_call_data: ({vid, expiration, calls}: {vid: u32, expiration: u64, calls: Array<Call>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>
|
|
1474
1102
|
|
|
1475
1103
|
/**
|
|
1476
1104
|
* Construct and simulate a set_admin_by_admin 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.
|
|
@@ -1484,298 +1112,86 @@ export interface Client {
|
|
|
1484
1112
|
* * `admin` - The address to set admin status for
|
|
1485
1113
|
* * `active` - `true` to add admin, `false` to remove
|
|
1486
1114
|
*/
|
|
1487
|
-
set_admin_by_admin: ({caller, admin, active}: {caller: string, admin: string, active: boolean}, txnOptions?:
|
|
1488
|
-
/**
|
|
1489
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1490
|
-
*/
|
|
1491
|
-
fee?: number;
|
|
1492
|
-
|
|
1493
|
-
/**
|
|
1494
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1495
|
-
*/
|
|
1496
|
-
timeoutInSeconds?: number;
|
|
1497
|
-
|
|
1498
|
-
/**
|
|
1499
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1500
|
-
*/
|
|
1501
|
-
simulate?: boolean;
|
|
1502
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1115
|
+
set_admin_by_admin: ({caller, admin, active}: {caller: string, admin: string, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1503
1116
|
|
|
1504
1117
|
/**
|
|
1505
1118
|
* 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.
|
|
1506
|
-
* The type of data required for migration.
|
|
1507
1119
|
* Upgrades the contract to new WASM bytecode.
|
|
1508
1120
|
* Sets a migration flag that must be cleared by calling `migrate`.
|
|
1509
1121
|
*/
|
|
1510
|
-
upgrade: ({new_wasm_hash}: {new_wasm_hash: Buffer}, txnOptions?:
|
|
1511
|
-
/**
|
|
1512
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1513
|
-
*/
|
|
1514
|
-
fee?: number;
|
|
1515
|
-
|
|
1516
|
-
/**
|
|
1517
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1518
|
-
*/
|
|
1519
|
-
timeoutInSeconds?: number;
|
|
1520
|
-
|
|
1521
|
-
/**
|
|
1522
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1523
|
-
*/
|
|
1524
|
-
simulate?: boolean;
|
|
1525
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1122
|
+
upgrade: ({new_wasm_hash}: {new_wasm_hash: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1526
1123
|
|
|
1527
1124
|
/**
|
|
1528
1125
|
* 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.
|
|
1529
1126
|
* Runs migration logic after an upgrade.
|
|
1530
|
-
*
|
|
1127
|
+
* Parses XDR-encoded `migration_data` and calls `__migrate`. Clears the migration flag on success.
|
|
1531
1128
|
*/
|
|
1532
|
-
migrate: ({migration_data}: {migration_data: Buffer}, txnOptions?:
|
|
1533
|
-
/**
|
|
1534
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1535
|
-
*/
|
|
1536
|
-
fee?: number;
|
|
1537
|
-
|
|
1538
|
-
/**
|
|
1539
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1540
|
-
*/
|
|
1541
|
-
timeoutInSeconds?: number;
|
|
1542
|
-
|
|
1543
|
-
/**
|
|
1544
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1545
|
-
*/
|
|
1546
|
-
simulate?: boolean;
|
|
1547
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1129
|
+
migrate: ({migration_data}: {migration_data: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1548
1130
|
|
|
1549
1131
|
/**
|
|
1550
1132
|
* 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.
|
|
1551
|
-
* Permanently freezes the contract, preventing any future upgrades.
|
|
1552
|
-
* This action is irreversible.
|
|
1133
|
+
* Permanently freezes the contract, preventing any future upgrades. Irreversible.
|
|
1553
1134
|
*/
|
|
1554
|
-
freeze: (
|
|
1555
|
-
/**
|
|
1556
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1557
|
-
*/
|
|
1558
|
-
fee?: number;
|
|
1559
|
-
|
|
1560
|
-
/**
|
|
1561
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1562
|
-
*/
|
|
1563
|
-
timeoutInSeconds?: number;
|
|
1564
|
-
|
|
1565
|
-
/**
|
|
1566
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1567
|
-
*/
|
|
1568
|
-
simulate?: boolean;
|
|
1569
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1135
|
+
freeze: (options?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1570
1136
|
|
|
1571
1137
|
/**
|
|
1572
1138
|
* 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.
|
|
1573
1139
|
* Returns whether the contract is frozen (upgrades disabled).
|
|
1574
1140
|
*/
|
|
1575
|
-
is_frozen: (
|
|
1576
|
-
/**
|
|
1577
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1578
|
-
*/
|
|
1579
|
-
fee?: number;
|
|
1580
|
-
|
|
1581
|
-
/**
|
|
1582
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1583
|
-
*/
|
|
1584
|
-
timeoutInSeconds?: number;
|
|
1585
|
-
|
|
1586
|
-
/**
|
|
1587
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1588
|
-
*/
|
|
1589
|
-
simulate?: boolean;
|
|
1590
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
1141
|
+
is_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1591
1142
|
|
|
1592
1143
|
/**
|
|
1593
1144
|
* 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.
|
|
1594
1145
|
*/
|
|
1595
|
-
authorizer: (
|
|
1596
|
-
/**
|
|
1597
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1598
|
-
*/
|
|
1599
|
-
fee?: number;
|
|
1600
|
-
|
|
1601
|
-
/**
|
|
1602
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1603
|
-
*/
|
|
1604
|
-
timeoutInSeconds?: number;
|
|
1605
|
-
|
|
1606
|
-
/**
|
|
1607
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1608
|
-
*/
|
|
1609
|
-
simulate?: boolean;
|
|
1610
|
-
}) => Promise<AssembledTransaction<string>>
|
|
1146
|
+
authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>
|
|
1611
1147
|
|
|
1612
1148
|
/**
|
|
1613
1149
|
* Construct and simulate a set_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1614
1150
|
* Adds or removes a signer from the multisig. Requires owner authorization.
|
|
1615
1151
|
*/
|
|
1616
|
-
set_signer: ({signer, active}: {signer: Buffer, active: boolean}, txnOptions?:
|
|
1617
|
-
/**
|
|
1618
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1619
|
-
*/
|
|
1620
|
-
fee?: number;
|
|
1621
|
-
|
|
1622
|
-
/**
|
|
1623
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1624
|
-
*/
|
|
1625
|
-
timeoutInSeconds?: number;
|
|
1626
|
-
|
|
1627
|
-
/**
|
|
1628
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1629
|
-
*/
|
|
1630
|
-
simulate?: boolean;
|
|
1631
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1152
|
+
set_signer: ({signer, active}: {signer: Buffer, active: boolean}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1632
1153
|
|
|
1633
1154
|
/**
|
|
1634
1155
|
* Construct and simulate a set_threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1635
1156
|
* Sets the signature threshold (quorum). Requires owner authorization.
|
|
1636
1157
|
*/
|
|
1637
|
-
set_threshold: ({threshold}: {threshold: u32}, txnOptions?:
|
|
1638
|
-
/**
|
|
1639
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1640
|
-
*/
|
|
1641
|
-
fee?: number;
|
|
1642
|
-
|
|
1643
|
-
/**
|
|
1644
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1645
|
-
*/
|
|
1646
|
-
timeoutInSeconds?: number;
|
|
1647
|
-
|
|
1648
|
-
/**
|
|
1649
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1650
|
-
*/
|
|
1651
|
-
simulate?: boolean;
|
|
1652
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1158
|
+
set_threshold: ({threshold}: {threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1653
1159
|
|
|
1654
1160
|
/**
|
|
1655
1161
|
* Construct and simulate a get_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1656
1162
|
* Returns all registered signers.
|
|
1657
1163
|
*/
|
|
1658
|
-
get_signers: (
|
|
1659
|
-
/**
|
|
1660
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1661
|
-
*/
|
|
1662
|
-
fee?: number;
|
|
1663
|
-
|
|
1664
|
-
/**
|
|
1665
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1666
|
-
*/
|
|
1667
|
-
timeoutInSeconds?: number;
|
|
1668
|
-
|
|
1669
|
-
/**
|
|
1670
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1671
|
-
*/
|
|
1672
|
-
simulate?: boolean;
|
|
1673
|
-
}) => Promise<AssembledTransaction<Array<Buffer>>>
|
|
1164
|
+
get_signers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<Buffer>>>
|
|
1674
1165
|
|
|
1675
1166
|
/**
|
|
1676
1167
|
* Construct and simulate a total_signers transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1677
1168
|
* Returns the total number of registered signers.
|
|
1678
1169
|
*/
|
|
1679
|
-
total_signers: (
|
|
1680
|
-
/**
|
|
1681
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1682
|
-
*/
|
|
1683
|
-
fee?: number;
|
|
1684
|
-
|
|
1685
|
-
/**
|
|
1686
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1687
|
-
*/
|
|
1688
|
-
timeoutInSeconds?: number;
|
|
1689
|
-
|
|
1690
|
-
/**
|
|
1691
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1692
|
-
*/
|
|
1693
|
-
simulate?: boolean;
|
|
1694
|
-
}) => Promise<AssembledTransaction<u32>>
|
|
1170
|
+
total_signers: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
1695
1171
|
|
|
1696
1172
|
/**
|
|
1697
1173
|
* Construct and simulate a is_signer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1698
1174
|
* Checks if an address is a registered signer.
|
|
1699
1175
|
*/
|
|
1700
|
-
is_signer: ({signer}: {signer: Buffer}, txnOptions?:
|
|
1701
|
-
/**
|
|
1702
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1703
|
-
*/
|
|
1704
|
-
fee?: number;
|
|
1705
|
-
|
|
1706
|
-
/**
|
|
1707
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1708
|
-
*/
|
|
1709
|
-
timeoutInSeconds?: number;
|
|
1710
|
-
|
|
1711
|
-
/**
|
|
1712
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1713
|
-
*/
|
|
1714
|
-
simulate?: boolean;
|
|
1715
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
1176
|
+
is_signer: ({signer}: {signer: Buffer}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1716
1177
|
|
|
1717
1178
|
/**
|
|
1718
1179
|
* Construct and simulate a threshold transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1719
1180
|
* Returns the current signature threshold (quorum).
|
|
1720
1181
|
*/
|
|
1721
|
-
threshold: (
|
|
1722
|
-
/**
|
|
1723
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1724
|
-
*/
|
|
1725
|
-
fee?: number;
|
|
1726
|
-
|
|
1727
|
-
/**
|
|
1728
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1729
|
-
*/
|
|
1730
|
-
timeoutInSeconds?: number;
|
|
1731
|
-
|
|
1732
|
-
/**
|
|
1733
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1734
|
-
*/
|
|
1735
|
-
simulate?: boolean;
|
|
1736
|
-
}) => Promise<AssembledTransaction<u32>>
|
|
1182
|
+
threshold: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>
|
|
1737
1183
|
|
|
1738
1184
|
/**
|
|
1739
1185
|
* Construct and simulate a verify_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1740
1186
|
* Verifies signatures against the configured threshold.
|
|
1741
1187
|
*/
|
|
1742
|
-
verify_signatures: ({digest, signatures}: {digest: Buffer, signatures: Array<Buffer>}, txnOptions?:
|
|
1743
|
-
/**
|
|
1744
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1745
|
-
*/
|
|
1746
|
-
fee?: number;
|
|
1747
|
-
|
|
1748
|
-
/**
|
|
1749
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1750
|
-
*/
|
|
1751
|
-
timeoutInSeconds?: number;
|
|
1752
|
-
|
|
1753
|
-
/**
|
|
1754
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1755
|
-
*/
|
|
1756
|
-
simulate?: boolean;
|
|
1757
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1188
|
+
verify_signatures: ({digest, signatures}: {digest: Buffer, signatures: Array<Buffer>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1758
1189
|
|
|
1759
1190
|
/**
|
|
1760
1191
|
* Construct and simulate a verify_n_signatures transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1761
1192
|
* Verifies signatures against a custom threshold.
|
|
1762
1193
|
*/
|
|
1763
|
-
verify_n_signatures: ({digest, signatures, threshold}: {digest: Buffer, signatures: Array<Buffer>, threshold: u32}, txnOptions?:
|
|
1764
|
-
/**
|
|
1765
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1766
|
-
*/
|
|
1767
|
-
fee?: number;
|
|
1768
|
-
|
|
1769
|
-
/**
|
|
1770
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1771
|
-
*/
|
|
1772
|
-
timeoutInSeconds?: number;
|
|
1773
|
-
|
|
1774
|
-
/**
|
|
1775
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1776
|
-
*/
|
|
1777
|
-
simulate?: boolean;
|
|
1778
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1194
|
+
verify_n_signatures: ({digest, signatures, threshold}: {digest: Buffer, signatures: Array<Buffer>, threshold: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1779
1195
|
|
|
1780
1196
|
/**
|
|
1781
1197
|
* 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.
|
|
@@ -1786,22 +1202,7 @@ export interface Client {
|
|
|
1786
1202
|
* * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
|
|
1787
1203
|
* * `extend_to` - The TTL to extend to.
|
|
1788
1204
|
*/
|
|
1789
|
-
extend_instance_ttl: ({threshold, extend_to}: {threshold: u32, extend_to: u32}, txnOptions?:
|
|
1790
|
-
/**
|
|
1791
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1792
|
-
*/
|
|
1793
|
-
fee?: number;
|
|
1794
|
-
|
|
1795
|
-
/**
|
|
1796
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1797
|
-
*/
|
|
1798
|
-
timeoutInSeconds?: number;
|
|
1799
|
-
|
|
1800
|
-
/**
|
|
1801
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1802
|
-
*/
|
|
1803
|
-
simulate?: boolean;
|
|
1804
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1205
|
+
extend_instance_ttl: ({threshold, extend_to}: {threshold: u32, extend_to: u32}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1805
1206
|
|
|
1806
1207
|
/**
|
|
1807
1208
|
* 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.
|
|
@@ -1818,43 +1219,13 @@ export interface Client {
|
|
|
1818
1219
|
* - `TtlConfigFrozen` if configs are frozen
|
|
1819
1220
|
* - `InvalidTtlConfig` if validation fails
|
|
1820
1221
|
*/
|
|
1821
|
-
set_ttl_configs: ({instance, persistent}: {instance: Option<TtlConfig>, persistent: Option<TtlConfig>}, txnOptions?:
|
|
1822
|
-
/**
|
|
1823
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1824
|
-
*/
|
|
1825
|
-
fee?: number;
|
|
1826
|
-
|
|
1827
|
-
/**
|
|
1828
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1829
|
-
*/
|
|
1830
|
-
timeoutInSeconds?: number;
|
|
1831
|
-
|
|
1832
|
-
/**
|
|
1833
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1834
|
-
*/
|
|
1835
|
-
simulate?: boolean;
|
|
1836
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1222
|
+
set_ttl_configs: ({instance, persistent}: {instance: Option<TtlConfig>, persistent: Option<TtlConfig>}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1837
1223
|
|
|
1838
1224
|
/**
|
|
1839
1225
|
* 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.
|
|
1840
1226
|
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
1841
1227
|
*/
|
|
1842
|
-
ttl_configs: (
|
|
1843
|
-
/**
|
|
1844
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1845
|
-
*/
|
|
1846
|
-
fee?: number;
|
|
1847
|
-
|
|
1848
|
-
/**
|
|
1849
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1850
|
-
*/
|
|
1851
|
-
timeoutInSeconds?: number;
|
|
1852
|
-
|
|
1853
|
-
/**
|
|
1854
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1855
|
-
*/
|
|
1856
|
-
simulate?: boolean;
|
|
1857
|
-
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>
|
|
1228
|
+
ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>
|
|
1858
1229
|
|
|
1859
1230
|
/**
|
|
1860
1231
|
* 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.
|
|
@@ -1866,43 +1237,13 @@ export interface Client {
|
|
|
1866
1237
|
* # Panics
|
|
1867
1238
|
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
1868
1239
|
*/
|
|
1869
|
-
freeze_ttl_configs: (
|
|
1870
|
-
/**
|
|
1871
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1872
|
-
*/
|
|
1873
|
-
fee?: number;
|
|
1874
|
-
|
|
1875
|
-
/**
|
|
1876
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1877
|
-
*/
|
|
1878
|
-
timeoutInSeconds?: number;
|
|
1879
|
-
|
|
1880
|
-
/**
|
|
1881
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1882
|
-
*/
|
|
1883
|
-
simulate?: boolean;
|
|
1884
|
-
}) => Promise<AssembledTransaction<null>>
|
|
1240
|
+
freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>
|
|
1885
1241
|
|
|
1886
1242
|
/**
|
|
1887
1243
|
* 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.
|
|
1888
1244
|
* Returns whether TTL configs are frozen.
|
|
1889
1245
|
*/
|
|
1890
|
-
is_ttl_configs_frozen: (
|
|
1891
|
-
/**
|
|
1892
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1893
|
-
*/
|
|
1894
|
-
fee?: number;
|
|
1895
|
-
|
|
1896
|
-
/**
|
|
1897
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1898
|
-
*/
|
|
1899
|
-
timeoutInSeconds?: number;
|
|
1900
|
-
|
|
1901
|
-
/**
|
|
1902
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1903
|
-
*/
|
|
1904
|
-
simulate?: boolean;
|
|
1905
|
-
}) => Promise<AssembledTransaction<boolean>>
|
|
1246
|
+
is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>
|
|
1906
1247
|
|
|
1907
1248
|
}
|
|
1908
1249
|
export class Client extends ContractClient {
|
|
@@ -1964,9 +1305,9 @@ export class Client extends ContractClient {
|
|
|
1964
1305
|
"AAAAAAAAAHdDb21wdXRlcyB0aGUgaGFzaCBvZiBjYWxsIGRhdGEgZm9yIG11bHRpc2lnIHNpZ25pbmcuCgpPZmYtY2hhaW4gc2lnbmVycyB1c2UgdGhpcyB0byBjb21wdXRlIHRoZSBoYXNoIHRoZXkgbmVlZCB0byBzaWduLgAAAAAOaGFzaF9jYWxsX2RhdGEAAAAAAAMAAAAAAAAAA3ZpZAAAAAAEAAAAAAAAAApleHBpcmF0aW9uAAAAAAAGAAAAAAAAAAVjYWxscwAAAAAAA+oAAAfQAAAABENhbGwAAAABAAAD7gAAACA=",
|
|
1965
1306
|
"AAAAAAAAAmRJbml0aWFsaXplcyB0aGUgRFZOIGNvbnRyYWN0LgoKIyBBcmd1bWVudHMKKiBgdmlkYCAtIFZlcmlmaWVyIElELCB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBEVk4KKiBgc2lnbmVyc2AgLSBJbml0aWFsIG11bHRpc2lnIHNpZ25lcnMgKDIwLWJ5dGUgRXRoZXJldW0gYWRkcmVzc2VzKQoqIGB0aHJlc2hvbGRgIC0gTWluaW11bSBzaWduYXR1cmVzIHJlcXVpcmVkIGZvciBtdWx0aXNpZyBvcGVyYXRpb25zCiogYGFkbWluc2AgLSBJbml0aWFsIGFkbWluIGFkZHJlc3NlcyBmb3Igb3BlcmF0aW9uYWwgZnVuY3Rpb25zCiogYHN1cHBvcnRlZF9tc2dsaWJzYCAtIE1lc3NhZ2UgbGlicmFyaWVzIHRoaXMgRFZOIHN1cHBvcnRzIChlLmcuLCBVTE4zMDIpCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBmb3IgZmVlIGNhbGN1bGF0aW9ucwoqIGBkZWZhdWx0X211bHRpcGxpZXJfYnBzYCAtIERlZmF1bHQgZmVlIG11bHRpcGxpZXIgKDEwMDAwID0gMXgpCiogYHdvcmtlcl9mZWVfbGliYCAtIEZlZSBsaWJyYXJ5IGNvbnRyYWN0IGZvciBjb21wdXRpbmcgRFZOIGZlZXMKKiBgZGVwb3NpdF9hZGRyZXNzYCAtIEFkZHJlc3MgdG8gcmVjZWl2ZSBmZWUgcGF5bWVudHMAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAkAAAAAAAAAA3ZpZAAAAAAEAAAAAAAAAAdzaWduZXJzAAAAA+oAAAPuAAAAFAAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAGYWRtaW5zAAAAAAPqAAAAEwAAAAAAAAARc3VwcG9ydGVkX21zZ2xpYnMAAAAAAAPqAAAAEwAAAAAAAAAKcHJpY2VfZmVlZAAAAAAAEwAAAAAAAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAAAAAAOd29ya2VyX2ZlZV9saWIAAAAAABMAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAA==",
|
|
1966
1307
|
"AAAAAAAAAWpTZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4gQ2FuIGJlIGNhbGxlZCBieSBhbiBleGlzdGluZyBhZG1pbi4KClRoaXMgYWxsb3dzIGV4aXN0aW5nIGFkbWlucyB0byBhZGQgb3IgcmVtb3ZlIG90aGVyIGFkbWlucyB3aXRob3V0IGdvaW5nIHRocm91Z2gKdGhlIG93bmVyL211bHRpc2lnIHBhdGguCgojIEFyZ3VtZW50cwoqIGBjYWxsZXJgIC0gVGhlIGFkbWluIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGFkbWluYCAtIFRoZSBhZGRyZXNzIHRvIHNldCBhZG1pbiBzdGF0dXMgZm9yCiogYGFjdGl2ZWAgLSBgdHJ1ZWAgdG8gYWRkIGFkbWluLCBgZmFsc2VgIHRvIHJlbW92ZQAAAAAAEnNldF9hZG1pbl9ieV9hZG1pbgAAAAAAAwAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAA=",
|
|
1967
|
-
"
|
|
1968
|
-
"
|
|
1969
|
-
"
|
|
1308
|
+
"AAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
|
|
1309
|
+
"AAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAA",
|
|
1310
|
+
"AAAAAAAAAE9QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLiBJcnJldmVyc2libGUuAAAAAAZmcmVlemUAAAAAAAAAAAAA",
|
|
1970
1311
|
"AAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAAB",
|
|
1971
1312
|
"AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAAT",
|
|
1972
1313
|
"AAAAAAAAAElBZGRzIG9yIHJlbW92ZXMgYSBzaWduZXIgZnJvbSB0aGUgbXVsdGlzaWcuIFJlcXVpcmVzIG93bmVyIGF1dGhvcml6YXRpb24uAAAAAAAACnNldF9zaWduZXIAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAA=",
|
|
@@ -2002,14 +1343,14 @@ export class Client extends ContractClient {
|
|
|
2002
1343
|
"AAAABQAAAAAAAAAAAAAAC0NvbXBvc2VTZW50AAAAAAEAAAAMY29tcG9zZV9zZW50AAAABQAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAC",
|
|
2003
1344
|
"AAAABQAAAAAAAAAAAAAAEENvbXBvc2VEZWxpdmVyZWQAAAABAAAAEWNvbXBvc2VfZGVsaXZlcmVkAAAAAAAABAAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAC",
|
|
2004
1345
|
"AAAABQAAAAAAAAAAAAAADkx6Q29tcG9zZUFsZXJ0AAAAAAABAAAAEGx6X2NvbXBvc2VfYWxlcnQAAAAKAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAI=",
|
|
2005
|
-
"
|
|
1346
|
+
"AAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAL0xpYnJhcnkgaXMgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggdGhlIGVuZHBvaW50AAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAA2Q29tcG9zZSBtZXNzYWdlIGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIEdVSUQgYW5kIGluZGV4AAAAAAANQ29tcG9zZUV4aXN0cwAAAAAAAAIAAAA2Q29tcG9zZSBtZXNzYWdlIG5vdCBmb3VuZCBmb3IgdGhlIGdpdmVuIEdVSUQgYW5kIGluZGV4AAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAA6RGVmYXVsdCByZWNlaXZlIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIHNvdXJjZSBlbmRwb2ludAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAPERlZmF1bHQgc2VuZCBsaWJyYXJ5IGlzIG5vdCBzZXQgZm9yIHRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAC9TdXBwbGllZCBuYXRpdmUgdG9rZW4gZmVlIGlzIGxlc3MgdGhhbiByZXF1aXJlZAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAACxTdXBwbGllZCBaUk8gdG9rZW4gZmVlIGlzIGxlc3MgdGhhbiByZXF1aXJlZAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAArVGltZW91dCBleHBpcnkgaXMgaW52YWxpZCAoYWxyZWFkeSBleHBpcmVkKQAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAgAAAAgRmVlIGFtb3VudCBpcyBpbnZhbGlkIChuZWdhdGl2ZSkAAAAQSW52YWxpZEZlZUFtb3VudAAAAAkAAAArQ29tcG9zZSBpbmRleCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCB2YWx1ZQAAAAAMSW52YWxpZEluZGV4AAAACgAAACxOb25jZSBpcyBpbnZhbGlkIGZvciB0aGUgcmVxdWVzdGVkIG9wZXJhdGlvbgAAAAxJbnZhbGlkTm9uY2UAAAALAAAAMFBheWxvYWQgaGFzaCBpcyBpbnZhbGlkIChlbXB0eSBoYXNoIG5vdCBhbGxvd2VkKQAAABJJbnZhbGlkUGF5bG9hZEhhc2gAAAAAAAwAAABBUmVjZWl2ZSBsaWJyYXJ5IGlzIG5vdCB2YWxpZCBmb3IgdGhlIHJlY2VpdmVyIGFuZCBzb3VyY2UgZW5kcG9pbnQAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAADFPcGVyYXRpb24gcmVxdWlyZXMgYSBub24tZGVmYXVsdCAoY3VzdG9tKSBsaWJyYXJ5AAAAAAAAEU9ubHlOb25EZWZhdWx0TGliAAAAAAAADgAAACdMaWJyYXJ5IG11c3Qgc3VwcG9ydCByZWNlaXZpbmcgbWVzc2FnZXMAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAALExpYnJhcnkgbXVzdCBiZSByZWdpc3RlcmVkIHdpdGggdGhlIGVuZHBvaW50AAAAEU9ubHlSZWdpc3RlcmVkTGliAAAAAAAAEAAAACVMaWJyYXJ5IG11c3Qgc3VwcG9ydCBzZW5kaW5nIG1lc3NhZ2VzAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAA5TWVzc2FnaW5nIHBhdGggY2Fubm90IGJlIGluaXRpYWxpemVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAC9NZXNzYWdlIGNhbm5vdCBiZSB2ZXJpZmllZCBmb3IgdGhlIGdpdmVuIG9yaWdpbgAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAK1BheWxvYWQgaGFzaCBkb2VzIG5vdCBtYXRjaCB0aGUgc3RvcmVkIGhhc2gAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAFAAAACdOZXcgdmFsdWUgaXMgdGhlIHNhbWUgYXMgZXhpc3RpbmcgdmFsdWUAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAvQ2FsbGVyIGlzIG5vdCBhdXRob3JpemVkIChub3QgT0FwcCBvciBkZWxlZ2F0ZSkAAAAADFVuYXV0aG9yaXplZAAAABYAAAArRW5kcG9pbnQgSUQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgbGlicmFyeQAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABcAAAA5WlJPIGZlZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvIHdoZW4gcGF5X2luX3pybyBpcyB0cnVlAAAAAAAAClplcm9acm9GZWUAAAAAABgAAAAcWlJPIHRva2VuIGFkZHJlc3MgaXMgbm90IHNldAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQ==",
|
|
2006
1347
|
"AAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACA=",
|
|
2007
1348
|
"AAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQ=",
|
|
2008
1349
|
"AAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAs=",
|
|
2009
1350
|
"AAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAG",
|
|
2010
1351
|
"AAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAA=",
|
|
2011
1352
|
"AAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABA==",
|
|
2012
|
-
"
|
|
1353
|
+
"AAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAAT",
|
|
2013
1354
|
"AAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQ=",
|
|
2014
1355
|
"AAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAAT",
|
|
2015
1356
|
"AAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQ=",
|
|
@@ -2024,15 +1365,16 @@ export class Client extends ContractClient {
|
|
|
2024
1365
|
"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
|
|
2025
1366
|
"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
|
|
2026
1367
|
"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
|
|
2027
|
-
"
|
|
1368
|
+
"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAcAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEBgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQHAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQIAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAkAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQKAAAAAAAAAAtPd25lck5vdFNldAAAAAQLAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAw=",
|
|
2028
1369
|
"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
|
|
2029
1370
|
"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQc",
|
|
2030
|
-
"
|
|
1371
|
+
"AAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELA==",
|
|
2031
1372
|
"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
|
|
2032
1373
|
"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
|
|
2033
|
-
"
|
|
1374
|
+
"AAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
|
|
2034
1375
|
"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
|
|
2035
1376
|
"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
|
|
1377
|
+
"AAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAI=",
|
|
2036
1378
|
"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
|
|
2037
1379
|
"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
|
|
2038
1380
|
"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
|