@layerzerolabs/protocol-stellar-v2 0.2.18 → 0.2.20
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-build.log +303 -253
- package/.turbo/turbo-lint.log +66 -65
- package/.turbo/turbo-test.log +1312 -1282
- package/Cargo.lock +21 -8
- package/Cargo.toml +2 -0
- package/contracts/ERROR_SPEC.md +9 -2
- package/contracts/common-macros/src/contract_ttl.rs +18 -7
- package/contracts/common-macros/src/lib.rs +4 -4
- package/contracts/common-macros/src/tests/contract_ttl.rs +1 -1
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +2 -1
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +7 -12
- package/contracts/common-macros/src/upgradeable.rs +15 -21
- package/contracts/message-libs/uln-302/src/events.rs +4 -0
- package/contracts/message-libs/uln-302/src/send_uln.rs +23 -7
- package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +38 -64
- package/contracts/oapps/counter/Cargo.toml +1 -0
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +1 -1
- package/contracts/oapps/oapp/src/oapp_receiver.rs +1 -1
- package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +113 -65
- package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +111 -82
- package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +293 -65
- package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +331 -56
- package/contracts/oapps/oft/Cargo.toml +10 -7
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
- package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
- package/contracts/oapps/oft/integration-tests/setup.rs +28 -127
- package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +23 -8
- package/contracts/oapps/oft/src/extensions/pausable.rs +19 -4
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +52 -28
- package/contracts/oapps/oft/src/lib.rs +10 -14
- package/contracts/oapps/oft/src/oft.rs +143 -193
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -11
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +12 -14
- package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
- package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +126 -29
- package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
- package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
- package/contracts/oapps/oft-core/src/lib.rs +18 -0
- package/contracts/oapps/oft-core/src/oft_core.rs +479 -0
- package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
- package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -4
- package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
- package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +46 -27
- package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
- package/contracts/upgrader/src/lib.rs +30 -57
- package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
- package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
- package/contracts/upgrader/src/tests/test_upgrader.rs +44 -35
- package/contracts/utils/src/buffer_reader.rs +1 -0
- package/contracts/utils/src/errors.rs +8 -2
- package/contracts/utils/src/ownable.rs +125 -3
- package/contracts/utils/src/tests/option_ext.rs +1 -1
- package/contracts/utils/src/tests/ownable.rs +445 -7
- package/contracts/utils/src/tests/ttl_configurable.rs +2 -2
- package/contracts/utils/src/tests/upgradeable.rs +372 -175
- package/contracts/utils/src/ttl_configurable.rs +3 -3
- package/contracts/utils/src/upgradeable.rs +48 -23
- package/contracts/workers/dvn/Cargo.toml +1 -0
- package/contracts/workers/dvn/src/auth.rs +12 -42
- package/contracts/workers/dvn/src/dvn.rs +16 -31
- package/contracts/workers/dvn/src/errors.rs +0 -1
- package/contracts/workers/dvn/src/interfaces/dvn.rs +35 -0
- package/contracts/workers/dvn/src/lib.rs +4 -3
- package/contracts/workers/dvn/src/tests/auth.rs +1 -1
- package/contracts/workers/dvn/src/tests/dvn.rs +19 -15
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +2 -4
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +1 -3
- package/contracts/workers/dvn/src/tests/setup.rs +5 -9
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -5
- package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +2 -3
- package/contracts/workers/executor/Cargo.toml +1 -0
- package/contracts/workers/executor/src/executor.rs +15 -26
- package/contracts/workers/executor-fee-lib/Cargo.toml +2 -1
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +63 -5
- package/contracts/workers/executor-fee-lib/src/executor_option.rs +28 -1
- package/contracts/workers/executor-fee-lib/src/lib.rs +3 -0
- package/contracts/workers/executor-fee-lib/src/tests/executor_fee_lib.rs +701 -0
- package/contracts/workers/executor-fee-lib/src/tests/executor_option.rs +370 -0
- package/contracts/workers/executor-fee-lib/src/tests/mod.rs +4 -0
- package/contracts/workers/executor-fee-lib/src/tests/setup.rs +60 -0
- package/contracts/workers/executor-helper/src/lib.rs +3 -0
- package/contracts/workers/executor-helper/src/tests/executor_helper.rs +184 -0
- package/contracts/workers/executor-helper/src/tests/mod.rs +2 -0
- package/contracts/workers/executor-helper/src/tests/setup.rs +366 -0
- package/contracts/workers/fee-lib-interfaces/Cargo.toml +14 -0
- package/contracts/workers/{worker/src/interfaces/mod.rs → fee-lib-interfaces/src/lib.rs} +4 -3
- package/contracts/workers/price-feed/Cargo.toml +2 -1
- package/contracts/workers/price-feed/src/events.rs +1 -1
- package/contracts/workers/price-feed/src/lib.rs +3 -0
- package/contracts/workers/price-feed/src/price_feed.rs +6 -12
- package/contracts/workers/price-feed/src/storage.rs +1 -1
- package/contracts/workers/price-feed/src/tests/mod.rs +2 -0
- package/contracts/workers/price-feed/src/tests/price_feed.rs +869 -0
- package/contracts/workers/price-feed/src/tests/setup.rs +70 -0
- package/contracts/workers/price-feed/src/types.rs +1 -1
- package/contracts/workers/worker/src/errors.rs +0 -3
- package/contracts/workers/worker/src/lib.rs +0 -2
- package/contracts/workers/worker/src/storage.rs +32 -29
- package/contracts/workers/worker/src/tests/setup.rs +1 -7
- package/contracts/workers/worker/src/tests/worker.rs +50 -42
- package/contracts/workers/worker/src/worker.rs +49 -58
- package/package.json +4 -5
- package/sdk/.turbo/turbo-test.log +229 -217
- package/sdk/dist/generated/bml.d.ts +39 -1
- package/sdk/dist/generated/bml.js +33 -8
- package/sdk/dist/generated/counter.d.ts +131 -3
- package/sdk/dist/generated/counter.js +41 -10
- package/sdk/dist/generated/dvn.d.ts +431 -362
- package/sdk/dist/generated/dvn.js +80 -55
- package/sdk/dist/generated/dvn_fee_lib.d.ts +327 -251
- package/sdk/dist/generated/dvn_fee_lib.js +55 -57
- package/sdk/dist/generated/endpoint.d.ts +131 -3
- package/sdk/dist/generated/endpoint.js +41 -10
- package/sdk/dist/generated/executor.d.ts +503 -339
- package/sdk/dist/generated/executor.js +80 -48
- package/sdk/dist/generated/executor_fee_lib.d.ts +395 -319
- package/sdk/dist/generated/executor_fee_lib.js +54 -56
- package/sdk/dist/generated/executor_helper.d.ts +53 -187
- package/sdk/dist/generated/executor_helper.js +47 -29
- package/sdk/dist/generated/layerzero_view.d.ts +1271 -0
- package/sdk/dist/generated/layerzero_view.js +294 -0
- package/sdk/dist/generated/oft.d.ts +1851 -0
- package/sdk/dist/generated/oft.js +347 -0
- package/sdk/dist/generated/price_feed.d.ts +329 -253
- package/sdk/dist/generated/price_feed.js +55 -57
- package/sdk/dist/generated/sml.d.ts +131 -3
- package/sdk/dist/generated/sml.js +41 -10
- package/sdk/dist/generated/treasury.d.ts +131 -3
- package/sdk/dist/generated/treasury.js +41 -10
- package/sdk/dist/generated/uln302.d.ts +131 -3
- package/sdk/dist/generated/uln302.js +43 -12
- package/sdk/dist/generated/upgrader.d.ts +201 -15
- package/sdk/dist/generated/upgrader.js +99 -1
- package/sdk/dist/index.d.ts +2 -2
- package/sdk/dist/index.js +3 -3
- package/sdk/package.json +3 -2
- package/sdk/src/index.ts +3 -3
- package/sdk/test/oft-sml.test.ts +20 -20
- package/sdk/test/upgrader.test.ts +2 -3
- package/sdk/turbo.json +8 -0
- package/tools/ts-bindings-gen/Cargo.toml +2 -0
- package/tools/ts-bindings-gen/src/main.rs +53 -5
- package/turbo.json +0 -2
- package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
- package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oft/src/oft_impl.rs +0 -201
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
- package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -917
- package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -751
- package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -434
- package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1080
- package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
- package/contracts/oapps/oft-std/src/lib.rs +0 -16
- package/contracts/oapps/oft-std/src/oft.rs +0 -174
- package/sdk/dist/generated/oft_std.d.ts +0 -1722
- package/sdk/dist/generated/oft_std.js +0 -316
- package/sdk/dist/wasm/blocked-message-lib.d.ts +0 -1
- package/sdk/dist/wasm/blocked-message-lib.js +0 -2
- package/sdk/dist/wasm/counter.d.ts +0 -1
- package/sdk/dist/wasm/counter.js +0 -2
- package/sdk/dist/wasm/dvn-fee-lib.d.ts +0 -1
- package/sdk/dist/wasm/dvn-fee-lib.js +0 -2
- package/sdk/dist/wasm/dvn.d.ts +0 -1
- package/sdk/dist/wasm/dvn.js +0 -2
- package/sdk/dist/wasm/endpoint-v2.d.ts +0 -1
- package/sdk/dist/wasm/endpoint-v2.js +0 -2
- package/sdk/dist/wasm/executor-fee-lib.d.ts +0 -1
- package/sdk/dist/wasm/executor-fee-lib.js +0 -2
- package/sdk/dist/wasm/executor-helper.d.ts +0 -1
- package/sdk/dist/wasm/executor-helper.js +0 -2
- package/sdk/dist/wasm/executor.d.ts +0 -1
- package/sdk/dist/wasm/executor.js +0 -2
- package/sdk/dist/wasm/layerzero-views.d.ts +0 -1
- package/sdk/dist/wasm/layerzero-views.js +0 -2
- package/sdk/dist/wasm/oft-std.d.ts +0 -1
- package/sdk/dist/wasm/oft-std.js +0 -2
- package/sdk/dist/wasm/price-feed.d.ts +0 -1
- package/sdk/dist/wasm/price-feed.js +0 -2
- package/sdk/dist/wasm/simple-message-lib.d.ts +0 -1
- package/sdk/dist/wasm/simple-message-lib.js +0 -2
- package/sdk/dist/wasm/treasury.d.ts +0 -1
- package/sdk/dist/wasm/treasury.js +0 -2
- package/sdk/dist/wasm/uln302.d.ts +0 -1
- package/sdk/dist/wasm/uln302.js +0 -2
- package/sdk/dist/wasm/upgrader.d.ts +0 -1
- package/sdk/dist/wasm/upgrader.js +0 -2
- package/sdk/dist/wasm.d.ts +0 -15
- package/sdk/dist/wasm.js +0 -15
- /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/errors.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/storage.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/types.rs +0 -0
- /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/dvn_fee_lib.rs +0 -0
- /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/executor_fee_lib.rs +0 -0
- /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/price_feed.rs +0 -0
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
import { Buffer } from "buffer";
|
|
1
2
|
import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
|
|
2
3
|
export * from '@stellar/stellar-sdk';
|
|
3
4
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
4
5
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
6
|
+
/**
|
|
7
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
8
|
+
* Size: 57360 bytes (56.02 KB)
|
|
9
|
+
*/
|
|
10
|
+
export const WASM_BASE64 = "AGFzbQEAAAAB4QElYAJ+fgF+YAABfmAEfn5+fgF+YAN+fn4BfmABfgF+YAV/f35+fgBgAn9/AX5gA39+fgBgAABgA39/fwBgAX8BfmACf38AYAJ+fgF/YAJ/fgBgAX8Bf2ADfn5+AGAAAX9gAX8AYAJ+fwBgAX4AYAJ+fwF+YAN/fn8AYAR/f39/AX5gBX5/f39/AGABfgF/YAN+f38AYAR/f39/AX9gAn9+AX9gBH9+fn4AYAJ+fwF/YAJ/fwF/YAN/fn4Bf2AHf35+f35+fwBgAn5+AGAEfn5/fwF+YAN+f38BfmADf39/AX8CjwItAW0BNAAAAW0BMQAAAWIBNAABAWwBNwACAWwBMQAAAWwBXwADAWIBXwAEAWwBMgAAAWEBMAAEAXYBMQAAAXYBMwAEAXYBXwABAW0BXwABAW0BMAADAWIBMAAEAWIBOAAEAWQBXwADAWIBZQAAAWIBNgAAAWMBMQAEAXgBMQAAAXgBNwABAXYBNgAAAXgBMAAAAWkBXwAEAWkBMAAEAWIBZgADAWIBMQACAWIBMwAAAXYBZwAAAWkBOAAEAWkBNwAEAWkBNgAAAWIBagAAAWIBMgACAW0BOQADAW0BYQACAWIBYgAEAXgBMwABAXgBOAABAWwBMAAAAWwBOAAAAWkBYgAEAXgBNQAEAWkBYQAEA7oBuAEFBAYHCAkKCwwNCw0OCwoLCgsNCg8LBwsQEQsKCAEBERIIERMKEQoLCgsJDQcLCwoUFQMHFgkLFwsNCxETEhIYEREJDQ0NDQ0LDgYZDgoBBBUIGhscCQ4dCg0KBx4eHxsICgQRBgQEAQEECwAVABUECwAVABUDDSADHAoAAg0ABAMABAsAFQAADgMEAQEDCwsTAQEADRAKAQsBAQABAAEEIQAIBwEBEQgNIh4UDQ0GCSMNDQkLCSQkBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEHeiMAAC38AQYKLwAALfwBBkIvAAAsHvAYqBm1lbW9yeQIAHHNldF9kZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZ3MAjwEcc2V0X2RlZmF1bHRfc2VuZF91bG5fY29uZmlncwCTAQh0cmVhc3VyeQCUARdkZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZwCWARRvYXBwX2V4ZWN1dG9yX2NvbmZpZwCYARllZmZlY3RpdmVfZXhlY3V0b3JfY29uZmlnAJoBF2RlZmF1bHRfc2VuZF91bG5fY29uZmlnAJwBFG9hcHBfc2VuZF91bG5fY29uZmlnAJ4BGWVmZmVjdGl2ZV9zZW5kX3Vsbl9jb25maWcAoAEFcXVvdGUAogEEc2VuZAClAQZ2ZXJpZnkAqQETY29tbWl0X3ZlcmlmaWNhdGlvbgCrAR9zZXRfZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWdzAKwBDWNvbmZpcm1hdGlvbnMArQEKdmVyaWZpYWJsZQCuARpkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZwCvARdvYXBwX3JlY2VpdmVfdWxuX2NvbmZpZwCxARxlZmZlY3RpdmVfcmVjZWl2ZV91bG5fY29uZmlnALMBCnNldF9jb25maWcAtAEKZ2V0X2NvbmZpZwC2ARBpc19zdXBwb3J0ZWRfZWlkALcBB3ZlcnNpb24AuAEQbWVzc2FnZV9saWJfdHlwZQC5AQ1fX2NvbnN0cnVjdG9yALoBCGVuZHBvaW50AL4BCmF1dGhvcml6ZXIAvwEPc2V0X3R0bF9jb25maWdzAMABC3R0bF9jb25maWdzAMQBEmZyZWV6ZV90dGxfY29uZmlncwDGARVpc190dGxfY29uZmlnc19mcm96ZW4AxwETZXh0ZW5kX2luc3RhbmNlX3R0bADIAQVvd25lcgDJAQ1wZW5kaW5nX293bmVyAMsBEnRyYW5zZmVyX293bmVyc2hpcADMARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgDOARBhY2NlcHRfb3duZXJzaGlwANEBEnJlbm91bmNlX293bmVyc2hpcADSAQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKlO8BuAHCAwIDfwl+I4CAgIAAQYABayIFJICAgIAAAkACQCABKAIEIgYpAwAgASgCICIHrUIghkIEhCIIEICAgIAAIglCAVINACAGKQMAIAgQgYCAgAAiCkL/AYNCyABSDQELEIKAgIAAIQggASgCCCkDACELIAEoAgwpAwAhDCABKAIQNQIAIQ0gASgCFCkDACEOIAEoAhgpAwAhDyABKAIcKQMAEK6AgIAAIRAgBSAKIAggCUIBURs3AzggBSAQNwMwIAUgDzcDKCAFIA43AyAgBSANQiCGQgSENwMYIAUgDDcDECAFIAs3AwhBACEGAkADQAJAIAZBOEcNAEEAIQYCQANAIAZBOEYNASAFQcAAaiAGaiAFQQhqIAZqKQMANwMAIAZBCGohBgwACwsgBUHAAGogBCAFQcAAakEHEK+AgIAAELCAgIAAAkAgAyAFKQNIIgqFQn+FIAMgAyAKfCACIAUpA0B8IgogAlStfCIChYNCf1cNACAAIAo3AwAgACACNwMIIAdBAWoiBg0DCxCxgICAAAwDCyAFQcAAaiAGakICNwMAIAZBCGohBgwACwsgASAGNgIgIAVBgAFqJICAgIAADwsAC0EBAX8jgICAgABBEGsiASSAgICAACABIAAQ8YCAgAACQCABKAIAQQFHDQAACyABKQMIIQAgAUEQaiSAgICAACAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJ2AgIAAC2cBAX8jgICAgABBIGsiAySAgICAACADIAFCjtTqtZDXsgEgAhCQgICAABDVgYCAAAJAIAMoAgBBAUcNABCxgICAAAALIAMpAxAhAiAAIAMpAxg3AwggACACNwMAIANBIGokgICAgAALCQAQ1IGAgAAACyUAIAAQs4CAgABCASABrUIghkIEhCACrUIghkIEhBCDgICAABoLvQUCAX8DfiOAgICAAEEwayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgkAAQIDBAUGBwgACyABQRBqQdSEwIAAQQgQ14CAgAAgASgCEA0LIAFBEGogASkDGBDYgICAAAwJCyABQRBqQdyEwIAAQQgQ14CAgAAgASgCEA0KIAFBEGogASkDGBDYgICAAAwICyABQRBqQeSEwIAAQRYQ14CAgAAgASgCEA0JIAFBEGogASkDGCAANQIEQiCGQgSEENmAgIAADAcLIAFBEGpB+oTAgABBFRDXgICAACABKAIQDQggAUEQaiABKQMYIAA1AgRCIIZCBIQQ2YCAgAAMBgsgAUEQakGPhcCAAEEYENeAgIAAIAEoAhANByABQRBqIAEpAxggADUCBEIghkIEhBDZgICAAAwFCyABQaeFwIAAQRMQ14CAgAAgASgCAA0GIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDagICAAAwDCyABQbqFwIAAQRIQ14CAgAAgASgCAA0FIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDagICAAAwCCyABQcyFwIAAQRUQ14CAgAAgASgCAA0EIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDagICAAAwBCyABQRBqQeGFwIAAQQ0Q14CAgAAgASgCEA0DIAEpAxghAiAAKQMIIQMgACkDECEEIAEgACkDGDcDKCABIAQ3AyAgASADNwMYIAEgAjcDECABQRBqQQQQr4CAgAAhAgwECyABKQMIIQIgASkDACEDDAELIAEpAxghAiABKQMQIQMLIANQDQELAAsgAUEwaiSAgICAACACC7ABAgF/An4jgICAgABBMGsiAiSAgICAAEIAIQMCQAJAIAEQs4CAgAAiBEIBELWAgIAARQ0AIAJBCGogBEIBEISAgIAAELaAgIAAIAIoAghBAUYNASAAIAIpAxA3AwggAEEgaiACQQhqQSBqKQMANwMAIABBGGogAkEIakEYaikDADcDACAAQRBqIAJBCGpBEGopAwA3AwBCASEDCyAAIAM3AwAgAkEwaiSAgICAAA8LAAsPACAAIAEQqICAgABCAVEL6AECAn8DfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EgRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFB9ILAgABBBCACQQQQ5ICAgAAgAkEgaiACKQMAEPCAgIAAIAIoAiANACACKQMIIgFC/wGDQgRSDQAgAikDECIFQv8Bg0LLAFINACACKQMYIgZC/wGDQssAUg0AIAIpAyghBCAAIAFCIIinNgIgIAAgBTcDGCAAIAY3AxAgACAENwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALeQIBfwF+I4CAgIAAQTBrIgIkgICAgAACQAJAAkAgARCzgICAACIDQgEQtYCAgAANACAAQQI6ACIMAQsgAkEIaiADQgEQhICAgAAQuICAgAAgAi0AKkECRg0BIAAgAkEIakEoEOSBgIAAGgsgAkEwaiSAgICAAA8LAAuWAwEFfyOAgICAAEHwAGsiAiSAgICAAEEAIQMCQANAIANBIEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0ECIQMCQCABQv8Bg0LMAFINACABQeyDwIAAQQQgAkEIakEEEOSAgIAAIAJBKGogAikDCBC2gICAACACKAIoQQFGDQAgAkHQAGpBGGogAkHIAGopAwA3AwAgAkHQAGpBEGogAkEoakEYaikDADcDACACQdgAaiACQShqQRBqKQMANwMAIAIgAikDMDcDUEECIQNBASACLQAQIgRBAEdBAXQgBEEBRhsiBEECRg0AQQIhA0EBIAItABgiBUEAR0EBdCAFQQFGGyIFQQJGDQBBAiEDQQEgAi0AICIGQQBHQQF0IAZBAUYbIgZBAkYNACAAIAIpA1A3AwAgACAGOgAhIAAgBDoAICAAQRhqIAJB0ABqQRhqKQMANwMAIABBEGogAkHQAGpBEGopAwA3AwAgAEEIaiACQdAAakEIaikDADcDACAFIQMLIAAgAzoAIiACQfAAaiSAgICAAAsSACAAELOAgIAAQgEQtYCAgAALGwAgABCzgICAACABELuAgIAAQgEQhYCAgAAaC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDbgICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILGwAgABCzgICAACABEL2AgIAAQgEQhYCAgAAaC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDUgICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILTQECfkIAIQICQAJAIAEQs4CAgAAiA0ICELWAgIAARQ0AIANCAhCEgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALFQAgABCzgICAACABQgIQhYCAgAAaCxAAIAAQu4CAgAAQhoCAgAALTQEBfyOAgICAAEEgayIDJICAgIAAIAMgATcDGCADIAA3AxAgAyACNwMIIANBCDYCACADELOAgIAAQgEQh4CAgAAaIANBIGokgICAgAALSAECfkIAIQICQAJAIAEpAwAiA0ICUQ0AIAOnQQFxDQEgAEEIaiABQQhqQSgQ5IGAgAAaQgEhAgsgACACNwMADwsQsYCAgAAACzcBAX5CACEDAkACQCABQgJRDQAgAadBAXENASAAIAI3AwhCASEDCyAAIAM3AwAPCxCxgICAAAALZwEBfgJAAkACQCABKQMAIgJCAoUgASkDCIRQRQ0AQgAhAgwBCyACp0EBcQ0BIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMgNwMgQgEhAgsgACACNwMAIABCADcDCA8LELGAgIAAAAuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahDGgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQx4CAgAALQQAhAQJAQQAQyICAgAAiAkICELWAgIAARQ0AQQEhAQJAAkAgAkICEISAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQsMACAAQQEQ4YGAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQqYCAgAAaC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHqisCAAEEGENeAgIAAIAEoAgANAyABIAEpAwgQ2ICAgAAMAgsgAUHwisCAAEEIENeAgIAAIAEoAgANAiABIAEpAwgQ2ICAgAAMAQsgAUH4isCAAEEKENeAgIAAIAEoAgANASABIAEpAwgQ2ICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABDKgICAABCIgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQx4CAgAALIAAQzICAgAAgACkDCCEBIAApAwBBiggQzYCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQzICAgAAgACkDCCEBIAApAwBBiggQzYCAgAAgARCIgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqEMaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBDHgICAAAsgABDSgICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQ0ICAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEM+AgIAAAkAgACkDAFANAEKDgICAsIEBENCAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahDGgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQx4CAgAALQgAhAgJAAkBBARDRgICAACIDQgAQtYCAgABFDQAgA0IAEISAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsACwsAIAAQq4CAgAAaC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUH9icCAAEEMENeAgIAAIAEoAgANAiABIAEpAwgQ2ICAgAAMAQsgAUH4icCAAEEFENeAgIAAIAEoAgANASABIAEpAwgQ2ICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABDRgICAACICQgIQtYCAgABFDQAgAkICEISAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtaAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAALQAiQQJHDQBCAiECDAELIAEgABDUgICAACABKAIAQQFxDQEgASkDCCECCyABQRBqJICAgIAAIAIPCwALhAECAX8BfiOAgICAAEEgayICJICAgIAAIAIgARDbgICAAEIBIQMCQCACKAIADQAgAiACKQMINwMAIAIgATEAITcDGCACIAExACI3AxAgAiABMQAgNwMIIABB7IPAgABBBCACQQQQ4YCAgAA3AwhCACEDCyAAIAM3AwAgAkEgaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ1oCAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC2YCAX8BfiOAgICAAEEQayICJICAgIAAIAIgASkDCEICIAEoAgAbNwMAIAIgATUCEEIghkIEhDcDCEG0hMCAAEECIAJBAhDhgICAACEDIABCADcDACAAIAM3AwggAkEQaiSAgICAAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDcgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQr4CAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEK+AgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCvgICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAuNAQIBfwF+I4CAgIAAQSBrIgIkgICAgAAgAiABKQMAEPGAgIAAQgEhAwJAIAIoAgANACACIAIpAwg3AwAgAiABKQMINwMYIAIgASkDEDcDECACIAE1AhhCIIZCBIQ3AwggAEH0gsCAAEEEIAJBBBDhgICAADcDCEIAIQMLIAAgAzcDACACQSBqJICAgIAAC1oCAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAIAAoAgANAEICIQIMAQsgASAAQQhqENuAgIAAIAEoAgBBAXENASABKQMIIQILIAFBEGokgICAgAAgAg8LAAtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ3oCAgAACQCACKAIAQQFHDQAACyACKQMIIQAgAkEQaiSAgICAACAAC1cBAX8jgICAgABBEGsiAySAgICAACADIAE3AwAgAyACrUIghkIEhDcDCEG0hMCAAEECIANBAhDhgICAACEBIABCADcDACAAIAE3AwggA0EQaiSAgICAAAtoAQF/I4CAgIAAQSBrIgMkgICAgAAgA0EQaiAAIAEQ4ICAgAACQCADKAIQQQFHDQAACyADKQMYIQEgAyACNwMIIAMgATcDAEGEiMCAAEECIANBAhDhgICAACEBIANBIGokgICAgAAgAQtbAAJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAIgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAIgARCggICAACEBCyAAQgA3AwAgACABNwMICy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQo4CAgAALYQACQCABKAIAQQFHDQAgACABKQMINwMAIABBGGogAUEgaikDADcDACAAQRBqIAFBGGopAwA3AwAgAEEIaiABQRBqKQMANwMADwsgAkF/aq1CIIZCg4CAgBB8ENCAgIAAAAvlAwUCfwF+AX8BfgN/I4CAgIAAQYABayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgI3AwAMAQsgASkDACADrUIghkIEhBCJgICAACEEQQAhBQJAA0AgBUEQRg0BIAJBKGogBWpCAjcDACAFQQhqIQUMAAsLQgEhBgJAAkACQCAEQv8Bg0LMAFINACAEQYyEwIAAQQIgAkEoakECEOSAgIAAIAJBOGogAikDKBC2gICAACACKAI4QQFHDQELDAELIAJB4ABqQRhqIgcgAkHYAGopAwA3AwAgAkHgAGpBEGoiCCACQThqQRhqKQMANwMAIAJB4ABqQQhqIgkgAkE4akEQaikDADcDACACIAIpA0A3A2AgAikDMCIEQv8Bg0IEUg0AIAJBCGpBGGogBykDADcDACACQQhqQRBqIAgpAwA3AwAgAkEIakEIaiAJKQMANwMAIAIgAikDYDcDCCAEQiCIpyEFQgAhBgsCQCADQQFqIgNFDQAgACAGNwMAIAEgAzYCCCAAIAIpAwg3AwggACAFNgIoIABBEGogAkEQaikDADcDACAAQRhqIAJBCGpBEGopAwA3AwAgAEEgaiACQQhqQRhqKQMANwMADAELELGAgIAAAAsgAkGAAWokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEKSAgIAAGguLAQECfyOAgICAAEEwayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgA3AwggAEICNwMADAELIAIgASkDACADrUIghkIEhBCJgICAABDmgICAAAJAIANBAWoiA0UNACABIAM2AgggACACQTAQ5IGAgAAaDAELELGAgIAAAAsgAkEwaiSAgICAAAvRAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFBhIjAgABBAiACQQIQ5ICAgAAgAkEQaiACKQMAENWBgIAAIAIoAhBBAUYNACACKQMIIgFC/wGDQs0AUg0AIAIpAyghBCAAIAIpAyA3AxAgACABNwMgIAAgBDcDGEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBMGokgICAgAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCJgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAACy0BAX4gACkDCCIBEOmAgIAAIAApAxAgACgCGCIAEOqAgIAAIAEgABDrgICAAAtBAAJAAkAgABDsgICAAA0AIAAQioCAgABCgICAgIAQWg0BDwtCg4CAgNAAENCAgIAAAAtCg4CAgOABENCAgIAAAAt+AAJAAkACQAJAAkAgABDsgICAAA0AIAAQioCAgABCgICAgIAQWg0BIAAQioCAgAAhACABDQIgAEL/////D1gNAwwEC0KDgICAwAAQ0ICAgAAAC0KDgICAsAEQ0ICAgAAACyABIABCIIinSw0BCw8LQoOAgIDQARDQgICAAAALLQACQAJAIAAQioCAgABC/////w9WDQAgAUUNAQsPC0KDgICAgAIQ0ICAgAAAC68BAwF/An4BfyOAgICAAEEwayIBJICAgIAAEIyAgIAAIQIgABCKgICAACEDIAFBADYCCCABIAA3AwAgASADQiCIPgIMA38gAUEgaiABEOeAgIAAIAFBEGogASkDICABKQMoEMOAgIAAAkACQCABKAIQIgRBAUcNACACIAEpAxgiABCAgICAAEIBUg0BCyABQTBqJICAgIAAIARBAXEPCyACIABCARCNgICAACECDAALCz8BAn4Qi4CAgAAhARCLgICAACECIABBAToAIiAAQYECOwEgIABBADYCGCAAIAI3AxAgACABNwMIIABCADcDAAu3AQEBfgJAAkACQAJAIAAtACBBAUcNACAAKQMAQgBSDQELIAApAwghAQJAAkAgAC0AIQ0AIAEQ6YCAgAAMAQsgARCKgICAAEL/////D1YNAgsCQCAALQAiDQAgACkDECAAKAIYEOqAgIAADAMLAkAgACgCGA0AIAApAxAQioCAgABCgICAgBBUDQMLQoOAgIDAARDQgICAAAALQoOAgICAARDQgICAAAALQoOAgIDwARDQgICAAAALC0YBAX8gACACIAEgAS0AIhsiAygCGDYCGCAAIAMpAxA3AxAgACACIAEgAS0AIRspAwg3AwggACACIAEgAS0AIBspAwA3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEM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ADcDACABQQhqIAQpAwA3AwAgASABKQMgNwMAIAEQh4GAgAAhAiABQcAAaiSAgICAACACDwtCg4CAgICCARDQgICAAAALEP6AgIAAAAt4AgF/AX4jgICAgABBMGsiACSAgICAACAAQRBqEMaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBDHgICAAAsgAEEANgIQIAAgAEEQahC+gICAAAJAIAAoAgANABCNgYCAAAALIAApAwghASAAQTBqJICAgIAAIAELMAACQEHeiMCAAEEIENuBgIAAIAAQkYCAgAAQjoCAgAAiAEL/AYNCzQBRDQAACyAAC84BAQF/I4CAgIAAQaABayIDJICAgIAAIANB+ABqEMaAgIAAAkAgAygCeEEBRw0AIAMoAnwgAygCgAEQx4CAgAALIANB+ABqIAIQsIGAgAAgA0EIaiADQfgAakECEOKAgIAAIANB0ABqIAEgAhCygYCAACADQfgAahDtgICAACADQShqIANB+ABqIANB0ABqIAMtAHJBAkYbQSgQ5IGAgAAaIAAgA0EoaiADQQhqEO+AgIAAIAApAwggACgCGBDrgICAACADQaABaiSAgICAAAsJABCxgICAAAALmQMCAX8CfiOAgICAAEHgAGsiBCSAgICAACAEIAE2AhQgBCADNgIQIAQgAjYCDCAEIAA2AgggASgCGCEAIAEpAwgiBRCKgICAACEGIARBADYCSCAEIAU3A0AgBCAGQiCIPgJMAkADQCAEQRhqIARBwABqEOeAgIAAIARB0ABqIAQpAxggBCkDIBDDgICAACAEKQNQpyIDQQFHDQEgBEEIaiAEKQNYEICBgIAADQALC0EAIQICQAJAIAMNACABKQMQIgUQioCAgAAhBiAEQRhqQQhqIARBCGpBCGopAgA3AwAgBCAANgI4QQAhAyAEQQA2AjAgBCAFNwMoIAQgBCkCCDcDGCAEIAZCIIg+AjQCQCAARQ0AIARBKGohAUEAIQMgACECA0AgBEHQAGogARDngICAACAEQcAAaiAEKQNQIAQpA1gQw4CAgAAgBCgCQEEBRw0BIARBGGogBCkDSBCAgYCAAEUNACADQQFqIgNFDQMgAkF/aiICDQALCyADIABGIQILIARB4ABqJICAgIAAIAIPCxCxgICAAAALXAIBfwF+I4CAgIAAQRBrIgIkgICAgAAgACgCDCkDACEDIAIgASAAKAIEKQMAIAAoAggpAwAQgYGAgAAgAikDCCEBIAIoAgAhACACQRBqJICAgIAAIAAgASADWnEL5AEBAX8jgICAgABBMGsiBCSAgICAACAEEMaAgIAAAkAgBCgCAEEBRw0AIAQoAgQgBCgCCBDHgICAAAsgBCADNwMYIAQgAjcDECAEIAE3AwggBEEINgIAAkACQAJAIAQQs4CAgAAiA0IBELWAgIAARQ0AIARBIGogA0IBEISAgIAAEPCAgIAAIAQoAiBBAUcNAQALIABCADcDAAwBCyAEKQMoIQMgAEIBNwMAIAAgAzcDCCAEQSBqEJCBgIAAIAQoAiBBAUcNACAEIAQoAiQgBCgCKBCygICAAAsgBEEwaiSAgICAAAuCCgMCfwZ+AX8jgICAgABB0ABrIgMkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKQMAEI+AgIAAQv////8fWA0AIANBADYCDCADIAI2AggCQCADQQhqEIOBgIAAQf//A3EiAkEDRg0AIAMQgoCAgAA3AxAgAygCCCkDACADKAIMEISBgIAAIQQCQAJAAkAgAkF/ag4CAQIAC0KDgICAkIsBENCAgIAAAAsgBEEgRg0KQoOAgIDwigEQ0ICAgAAACyAEQb9/akEgTw0CIANBMGogA0EIahCFgYCAABCGgYCAACADKAIwQQFxRQ0DIAMpA0ghBSADKQNAIQYgA0EwaiADQQhqEIWBgIAAEIaBgIAAIAMoAjBBAXFFDQQgAykDSCEHIAMpA0AhCCADQQhqIAMoAggpAwAgAygCDBCEgYCAABD3gICAACIJEI+AgIAAQoCAgICQBFoNBSADQcgAakIANwMAIANBwABqQgA3AwAgA0E4akIANwMAIANCADcDMAJAAkAgCRCPgICAACIKQv////+PBFYNACAJEI+AgIAAQiCIIApCIIgiClENARD+gICAAAALELGAgIAAAAsgCSADQTBqIAqnIgJrQSBqIAIQ+ICAgAAgA0EwahCHgYCAACEJIANBEGogBiAFEIiBgIAAIANBEGpBARCJgYCAAEExEIqBgIAAQQIQiYGAgAAgCCAHEIuBgIAAIAkQjIGAgAAaDAoLEIKAgIAAIQkQjICAgAAhBQNAIAMoAggpAwAgAygCDBCEgYCAAEUNCyADQQhqEPaAgIAAIQIgA0EIahCDgYCAACEEIAMoAgwiC0ECTQ0GIAMgC0F9ajYCDCADQQhqIARB//8DcUEDahD3gICAACEKAkACQAJAIAJB/wFxQX9qDgIBAgALQoOAgICwiwEQ0ICAgAAACyAJIAoQkYCAgAAhCQwBCyAKEI+AgIAAQv////8/WA0HAkAgBSAKQoSAgIAwEJKAgIAAQoCAgIDwH4NCBIQiBxCAgICAACIIQgFSDQAgBSAHEIGAgIAAIgZC/wGDQsgAUg0JCyAFIAcgBhCCgICAACAIQgFRGyAKEJGAgIAAEI2AgIAAIQUMAAsLQoOAgICgiwEQ0ICAgAAAC0KDgICAgIsBENCAgIAAAAtCg4CAgOCLARDQgICAAAALQoOAgIDQiwEQ0ICAgAAAC0KDgICA4IoBENCAgIAAAAtCg4CAgID9ABDQgICAAAALEI2BgIAACwALIANBMGogA0EIahCFgYCAABCGgYCAACADKAIwQQFxRQ0CIANBEGogAykDQCADKQNIEIiBgIAACyADKAIIKQMAIAMoAgwQhIGAgAANAiADKQMQIQkQjICAgAAhBQsgARCOgYCAACEKIAEpAyAhBiABKQMYIQcgA0EwakEYaiICQgA3AwAgA0EwakEQaiIEQgA3AwAgA0EwakEIaiILQgA3AwAgA0IANwMwIAcgA0EwakEgEPiAgIAAIANBEGpBGGogAikDADcDACADQRBqQRBqIAQpAwA3AwAgA0EQakEIaiALKQMANwMAIAMgAykDMDcDECAAIANBEGoQh4GAgAAgBhCRgICAABCTgICAADcDGCAAIAo3AxAgACAFNwMIIAAgCTcDACADQdAAaiSAgICAAA8LQoOAgIDAiwEQ0ICAgAAAC0KDgICAoIsBENCAgIAAAAuhAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABBAhD3gICAACICEI+AgIAAQoCAgIBwg0KAgICAIFINACABQQA7AQ4gAhCPgICAAEKAgICAcINCgICAgCBSDQEgAiABQQ5qQQIQ+ICAgAAgAS8BDiEAIAFBEGokgICAgAAgAEEIdCAAQQh2cg8LQoOAgICAggEQ0ICAgAAACxD+gICAAAALJwEBfwJAIAAQj4CAgABCIIinIgIgAUkNACACIAFrDwsQsYCAgAAACxIAIABBIBD3gICAABCsgICAAAv4AgIBfwJ+I4CAgIAAQSBrIgIkgICAgAAgAkEPaiABEKqAgIAAIgFCBEKEgICAgAIQmoCAgAAQ3oGAgAACQCACLQAPQQFGDQAgAikAGCEDIAIpABAhBCACQQ9qIAFChICAgIACQoSAgICABBCagICAABDegYCAACACLQAPQQFGDQACQAJAIAQgA4RCAFENAEIAIQEMAQsgAikAGCEBIAAgAikAECIDQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMYIAAgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhDcDEEIBIQELIAAgATcDACAAQgA3AwggAkEgaiSAgICAAA8LELGAgIAAAAsMACAAQSAQ24GAgAALJwAgAEEBEImBgIAAQREQioGAgABBARCJgYCAACABIAIQi4GAgAAaC1gCAX8BfiOAgICAAEEQayICJICAgIAAIAIgAToADyAAKQMAIQMgACADIAMQj4CAgABCgICAgHCDQgSEIAJBD2pBARDWgYCAADcDACACQRBqJICAgIAAIAALWwIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiABQQh0OwEOIAApAwAhAyAAIAMgAxCPgICAAEKAgICAcINCBIQgAkEOakECENaBgIAANwMAIAJBEGokgICAgAAgAAv8AQEBfyOAgICAAEEQayIDJICAgIAAIAMgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhDcDCCADIAJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AwAgACkDACEBIAAgASABEI+AgIAAQoCAgIBwg0IEhCADQRAQ1oGAgAA3AwAgA0EQaiSAgICAACAAC8IBAQR/I4CAgIAAQcAAayICJICAgIAAIAJBIGpBGGoiA0IANwMAIAJBIGpBEGoiBEIANwMAIAJBIGpBCGoiBUIANwMAIAJCADcDICABIAJBIGpBIBD4gICAACACQRhqIAMpAwA3AwAgAkEQaiAEKQMANwMAIAJBCGogBSkDADcDACACIAIpAyA3AwAgACkDACEBIAAgASABEI+AgIAAQoCAgIBwg0IEhCACQSAQ1oGAgAA3AwAgAkHAAGokgICAgAAgAAsJABCxgICAAAALuQQEAn8BfgF/AX4jgICAgABBIGsiASSAgICAACABEIKAgIAANwMIIAFBCGpBARCJgYCAACECIAEgACkDACIDQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMQIAIpAwAhAyACIAMgAxCPgICAAEKAgICAcINCBIQgAUEQakEIENaBgIAANwMAIAIgACgCKBDXgYCAACEEIAFBEGogACkDCBCGgICAAEEEENiBgIAAIgNCBEKEgICAwAAQmoCAgAAQ2YGAgAACQCABKAIQQQFGDQAgASkDGCEFIAFBADYCECAFIAFBEGpBBBD4gICAAAJAIAEoAhAiAkH///8HcQ0AAkACQAJAIAJBGHYOAgABAwsgAUEQaiADQoSAgIDAAEKEgICAgAEQmoCAgAAQ2YGAgAAgASgCEEEBRg0DIAEpAxghBSABQQA2AhAgBSABQRBqQQQQ+ICAgAAgASgCEA0CIAFBEGogA0KEgICAgAFChICAgIAFEJqAgIAAENqBgIAAIAEoAhBBAUcNAQwDCyABQRBqIANChICAgMAAQoSAgIDABBCagICAABDagYCAACABKAIQQQFGDQILIAQgASkDGBCMgYCAACAAKAIsENeBgIAAIAApAxAQjIGAgAApAwAhAyABQSBqJICAgIAAIAMPC0KDgICAoP4AENCAgIAAAAsAC+kDBAF/A34BfwF+I4CAgIAAQTBrIgEkgICAgAACQAJAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUEQahDGgICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQx4CAgAALIAAQioCAgABCIIghAkIAIQMCQANAIAMgAlENASAAIANCIIZCBIQQiYCAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALCwJAAkAgBEL/AYNCzABSDQAgBEHEhMCAAEECIAFBAhDkgICAACABQRBqIAEpAwAQ8oCAgAAgASgCEEEBRg0AIAEpAwgiBEL/AYNCBFENAQsgA6dBf0YaDAULIANC/////w9RDQQgASgCICIFRQ0DIAEpAxghBiABQQI2AhAgASAEQiCIpzYCFCABQRBqELOAgIAAIAYgBRDdgICAAEIBEIWAgIAAGiABEJCBgIAAAkAgASgCAEEBRw0AIAFBEGogASgCBCABKAIIELKAgIAACyADQgF8IQMMAAsLQdWAwIAAQRwQkYGAgAAQkoGAgAAhAyABIAA3AxAgA0H4gMCAAEEBIAFBEGpBARDhgICAABCUgICAABogAUEwaiSAgICAAEICDwsAC0KDgICAsAIQ0ICAgAAACxCxgICAAAALDAAgAEECEOGBgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABENyBgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQr4CAgAAhACABQRBqJICAgIAAIAAL1QIDAX8BfgJ/I4CAgIAAQYABayIBJICAgIAAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUHAAGoQxoCAgAACQCABKAJAQQFHDQAgASgCRCABKAJIEMeAgIAACyAAEIqAgIAAIQIgAUEANgIIIAEgADcDACABIAJCIIg+AgwgAUEYaiEDAkADQCABQcAAaiABEOOAgIAAIAFBEGogAUHAAGoQwoCAgAAgASgCEEEBRw0BIAEoAjghBCADEOiAgIAAIAFBAzYCQCABIAQ2AkQgAUHAAGogAxC6gICAACABQfQAahCQgYCAACABKAJ0QQFHDQAgAUHAAGogASgCeCABKAJ8ELKAgIAADAALC0GAgcCAAEEcEJGBgIAAEJKBgIAAIQIgASAANwNAIAJB+IDAgABBASABQcAAakEBEOGAgIAAEJSAgIAAGiABQYABaiSAgICAAEICDwsACwgAEJWBgIAAC3gCAX8BfiOAgICAAEEwayIAJICAgIAAIABBEGoQxoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYEMeAgIAACyAAQQE2AhAgACAAQRBqEL6AgIAAAkAgACgCAA0AEI2BgIAAAAsgACkDCCEBIABBMGokgICAgAAgAQt8AQF/I4CAgIAAQTBrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAFBCGogAEIgiKcQl4GAgAACQAJAIAEoAggNAEICIQAMAQsgAUEgaiABKQMQIAEoAhgQ3oCAgAAgASgCIEEBcQ0BIAEpAyghAAsgAUEwaiSAgICAACAADwsAC+0BAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkEIahDGgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQx4CAgAALIAJBAjYCCCACIAE2AgwCQAJAAkAgAkEIahCzgICAACIDQgEQtYCAgABFDQAgAkEoaiADQgEQhICAgAAQ8oCAgAAgAigCKEEBRw0BAAsgAEIANwMADAELIAIpAzAhAyAAIAIoAjg2AhAgACADNwMIIABCATcDACACQShqEJCBgIAAIAIoAihBAUcNACACQQhqIAIoAiwgAigCMBCygICAAAsgAkHAAGokgICAgAALgwEBAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEJmBgIAAQgIhAAJAIAIpAwhCAlENACACQSBqIAJBCGoQ1oCAgAAgAigCIEEBcQ0BIAIpAyghAAsgAkEwaiSAgICAACAADwsAC40CAQF/I4CAgIAAQcAAayIDJICAgIAAIANBCGoQxoCAgAACQCADKAIIQQFHDQAgAygCDCADKAIQEMeAgIAACyADIAI2AgwgAyABNwMQIANBBTYCCAJAAkACQCADQQhqELOAgIAAIgFCARC1gICAAA0AIABCAjcDAAwBCyADQShqIAFCARCEgICAABDzgICAACADKQMoQgJRDQEgACADKQMoNwMAIABBEGogA0EoakEQaikDADcDACAAQQhqIANBKGpBCGopAwA3AwAgACkDAEICUQ0AIANBKGoQkIGAgAAgAygCKEEBRw0AIANBCGogAygCLCADKAIwELKAgIAACyADQcAAaiSAgICAAA8LAAtgAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAIgACABQiCIpxCbgYCAACACKQMAIAIoAggQ3YCAgAAhACACQRBqJICAgIAAIAAPCwALyAECAn8BfiOAgICAAEEgayIDJICAgIAAIANBCGoQxoCAgAACQCADKAIIQQFHDQAgAygCDCADKAIQEMeAgIAACyADQQhqIAIQl4GAgAACQCADKAIIRQ0AIAMoAhghBCADKQMQIQUgA0EIaiABIAIQmYGAgAACQCADKQMIIgFCAlENACADKQMQIAUgAadBAXEbIQUgAygCGCICIAQgAhshBAsgACAFNwMAIAAgBDYCCCADQSBqJICAgIAADwtCg4CAgBAQ0ICAgAAAC08BAX8jgICAgABBMGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABQQhqIABCIIinEJ2BgIAAIAFBCGoQ3ICAgAAhACABQTBqJICAgIAAIAALjwEBAX8jgICAgABBMGsiAiSAgICAACACEMaAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBDHgICAAAsgAkEDNgIAIAIgATYCBCAAIAIQtICAgAACQCAAKQMAUA0AIAJBJGoQkIGAgAAgAigCJEEBRw0AIAIgAigCKCACKAIsELKAgIAACyACQTBqJICAgIAAC14BAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEJ+BgIAAIAJBCGoQ04CAgAAhACACQTBqJICAgIAAIAAPCwALmAEBAX8jgICAgABBMGsiAySAgICAACADEMaAgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBDHgICAAAsgAyACNgIEIAMgATcDCCADQQY2AgAgACADELeAgIAAAkAgAC0AIkECRg0AIANBJGoQkIGAgAAgAygCJEEBRw0AIAMgAygCKCADKAIsELKAgIAACyADQTBqJICAgIAAC1gBAX8jgICAgABBIGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinEKGBgIAAIAIQu4CAgAAhACACQSBqJICAgIAAIAAPCwALzgEBAX8jgICAgABBoAFrIgMkgICAgAAgA0H4AGoQxoCAgAACQCADKAJ4QQFHDQAgAygCfCADKAKAARDHgICAAAsgA0H4AGogAhCdgYCAACADQQhqIANB+ABqQQMQ4oCAgAAgA0HQAGogASACEJ+BgIAAIANB+ABqEO2AgIAAIANBKGogA0H4AGogA0HQAGogAy0AckECRhtBKBDkgYCAABogACADQShqIANBCGoQ74CAgAAgACkDCCAAKAIYEOuAgIAAIANBoAFqJICAgIAAC74JAgV/A34jgICAgABBkAJrIgMkgICAgAAgA0EwaiAAEKOBgIAAAkAgAygCMEEBRg0AIAMgA0E4akEwEOSBgIAAIQMgAUL/AYNCyABSDQAgAyABNwNoQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBUECRg0AIANBMGoQxoCAgAACQCADKAIwQQFHDQAgAygCNCADKAI4EMeAgIAACyADQTBqIAMgA0HoAGoQgoGAgAAgAykDMCECIAMgAykDODcDcCADIAMpA0A3A3ggAyADKQNINwOAASADKAIsIQYgAykDIBCPgICAACEBIANB0AFqIAMpAwgiACAGEJuBgIAAAkAgAygC2AEgAUIgiKdJDQAgA0EIaiEHIAMpA9ABIQgQlYCAgAAhCSADIAI3A4ACIAMgAUKAgICAcINCBIQ3A/gBIAMgADcD6AEgAyAJNwPgASADIAatQiCGQgSENwPwAUEAIQQCQAJAA0ACQCAEQShHDQBBACEEAkADQCAEQShGDQEgA0EwaiAEaiADQeABaiAEaikDADcDACAEQQhqIQQMAAsLIANBMGogCCADQTBqQQUQr4CAgAAQsICAgAAgAykDOCECIAMpAzAhCCADIAY2AowBIANB4AFqIAAgBhChgYCAACADEJWAgIAANwOQASADIAMpA+ABNwOYASADKQPoASIBEIqAgIAAIQAgA0EANgKoASADIAE3A6ABIAMgAEIgiD4CrAEgAykD8AEiCRCKgICAACEBIANBADYCUCADIAc2AjwgAUIgiCEKIAMgA0GYAWo2AkwgAyADQYABajYCSCADIANB+ABqNgJEIAMgA0GMAWo2AkAgAyADQZABajYCOCADIANB8ABqNgI0IAMgA0GPAmo2AjBCACEAQgAhAQJAA0AgA0HQAWogA0GgAWoQ54CAgAAgA0HAAWogAykD0AEgAykD2AEQw4CAgAAgAygCwAFBAUcNASADQdABaiADQTBqIAAgASADKQPIARCtgICAACADKQPYASEBIAMp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QQFHDQAgBCgCBCAEKAIIEMeAgIAACyAAEIiAgIAAGiABEJOAgIAAIQUgBCACNwMYIAQgBTcDECAEIAA3AwggBEEINgIAIAQQs4CAgAAgAxCugICAAEIBEIWAgIAAGiAEQSRqEJCBgIAAAkAgBCgCJEEBRw0AIAQgBCgCKCAEKAIsELKAgIAAC0H8gcCAAEEQEJGBgIAAIAAQqIGAgAAhACADEK6AgIAAIQMgBCACNwMQIAQgATcDCCAEIAM3AwAgAEGsgsCAAEEDIARBAxDhgICAABCUgICAABogBEEwaiSAgICAAEICDwsACyMAAkAgAUL/AYNCyABRDQAgAEIBNwMADwsgACABENqBgIAAC8IGAwF/BX4BfyOAgICAAEHQAWsiAiSAgICAAAJAIABC/wGDQsgAUg0AIAIgADcDCCACQThqIAEQqoGAgAAgAigCOEEBRg0AIAIgAikDQDcDECACQThqEMaAgIAAAkAgAigCOEEBRw0AIAIoAjwgAigCQBDHgICAAAsgAkE4aiACQQhqEPWAgIAAIAIpA0ghASACKQNAIQMgAjUCUCEEIAIpAzghBSACQTBqIAJB+ABqKQMANwMAIAJBKGogAkHwAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA2A3AxggAiAAEJOAgIAANwOAAQJAIAJBzwFqIAJBGGogAkGAAWogAkEQahD/gICAAEUNACACKQMgIgAQioCAgAAhBiACQQA2ApABIAIgADcDiAEgAiAGQiCIPgKUASACKQMoIgAQioCAgABCIIghBgJAA0AgAkE4aiACQYgBahDngICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMGAgIAADAALCyACIAY+AqQBIAJBADYCoAEgAiAANwOYAQJAA0AgAkE4aiACQZgBahDngICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMGAgIAADAALCxD7gICAACEAEJWAgIAAIQYgARD8gICAACEBIAIpAxAhByACQagBaiAFEPGAgIAAIAIoAqgBQQFGDQEgAikDsAEhBSACIAM3A0AgAiAFNwM4IAIgBEIghkIEhDcDSEGkhsCAAEEDIAJBOGpBAxDhgICAACEFIAIgBzcDwAEgAiABNwO4ASACIAU3A7ABIAIgBjcDqAFBACEIAkADQAJAIAhBIEcNAEEAIQgCQANAIAhBIEYNASACQThqIAhqIAJBqAFqIAhqKQMANwMAIAhBCGohCAwACwsgAEKO/Kv3rd0DIAJBOGpBBBCvgICAABCQgICAAEL/AYNCAlINAiACQdABaiSAgICAAEICDwsgAkE4aiAIakICNwMAIAhBCGohCAwACwsQsYCAgAAAC0KDgICAoAIQ0ICAgAAACwAL1QIDAX8BfgJ/I4CAgIAAQYABayIBJICAgIAAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUHAAGoQxoCAgAACQCABKAJAQQFHDQAgASgCRCABKAJIEMeAgIAACyAAEIqAgIAAIQIgAUEANgIIIAEgADcDACABIAJCIIg+AgwgAUEYaiEDAkADQCABQcAAaiABEOOAgIAAIAFBEGogAUHAAGoQwoCAgAAgASgCEEEBRw0BIAEoAjghBCADEOiAgIAAIAFBBDYCQCABIAQ2AkQgAUHAAGogAxC6gICAACABQfQAahCQgYCAACABKAJ0QQFHDQAgAUHAAGogASgCeCABKAJ8ELKAgIAADAALC0GcgcCAAEEfEJGBgIAAEJKBgIAAIQIgASAANwNAIAJB+IDAgABBASABQcAAakEBEOGAgIAAEJSAgIAAGiABQYABaiSAgICAAEICDwsAC60BAQF/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADQRBqIAEQqoGAgAAgAygCEEEBRg0AIAMpAxghASADQRBqIAIQqoGAgAAgAygCEEEBRg0AIAMgACABIAMpAxgQgYGAgAACQAJAIAMoAgANAEICIQAMAQsgA0EQaiADKQMIEPGAgIAAIAMoAhBBAXENASADKQMYIQALIANBIGokgICAgAAgAA8LAAv6AQECfyOAgICAAEGAAWsiAiSAgICAAAJAIABC/wGDQsgAUg0AIAIgADcDACACQTBqIAEQqoGAgAAgAigCMEEBRg0AIAIgAikDODcDCCACQTBqEMaAgIAAAkAgAigCMEEBRw0AIAIoAjQgAigCOBDHgICAAAsgAkEwaiACEPWAgIAAIAJBKGogAkHwAGopAwA3AwAgAkEgaiACQegAaikDADcDACACQRhqIAJB4ABq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IAIpAxA3A0AgAiACKQMINwM4IAIgAikDADcDMCACQb+AwIAAQRYQkYGAgAA3A3ggAiAIrUIghkIEhDcDcCACIAA3A2AgAiACQfgAajYCaCACQeAAahCngYCAACEHIAIgBRC9gICAADcDYCAHQaSAwIAAQQEgAkHgAGpBARDhgICAABCUgICAABoLIAZCAXwhBgwACwsgAkGAAWokgICAgABCAg8LAAtCg4CAgJACENCAgIAAAAtCg4CAgOAAENCAgIAAAAsQsYCAgAAAC5sCAQF/I4CAgIAAQTBrIgEkgICAgAAgARDGgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQx4CAgAALIAFBAjYCACABIAA2AgQCQAJAIAEQuYCAgABFDQAgAUEkahCQgYCAAAJAIAEoAiRBAUcNACABIAEoAiggASgCLBCygICAAAsgAUEDNgIAIAEgADYCBCABELmAgIAARQ0AIAFBJGoQkIGAgAACQCABKAIkQQFHDQAgASABKAIoIAEoAiwQsoCAgAALIAFBBDYCACABIAA2AgQgARC5gICAACIARQ0BIAFBJGoQkIGAgAAgASgCJEEBRw0BIAEgASgCKCABKAIsELKAgIAADAELQQAhAAsgAUEwaiSAgICAACAAC/cBAQN/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0IEUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgAEIgiCEAIAJCIIinIQQgAxDGgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQx4CAgAALIACnIQUCQAJAAkACQAJAAkAgBEF/ag4DAQIDAAtCg4CAgPAAENCAgIAAAAsgAyABIAUQm4GAgAAgAykDACADKAIIEN2AgIAAEIaAgIAAIQAMAwsgAyABIAUQoYGAgAAMAQsgAyABIAUQ/YCAgAALIAMQwICAgAAhAAsgA0EgaiSAgICAACAADwsACx4AAkAgAEL/AYNCBFENAAALIABCIIinELWBgIAArQueAQIBfwF+I4CAgIAAQTBrIgAkgICAgAAgAEEIahDGgICAAAJAIAAoAghBAUcNACAAKAIMIAAoAhAQx4CAgAALIABBIGpCAxDxgICAAAJAIAAoAiBBAUcNAAALIAApAyghASAAQgQ3AxggACABNwMQIABChICAgCA3AwhBgIfAgABBAyAAQQhqQQMQ4YCAgAAhASAAQTBqJICAgIAAIAELhQECAX8BfiOAgICAAEEQayIAJICAgIAAIAAQxoCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEMeAgIAACyAAQYCAwIAAQQ4Q14CAgAACQAJAIAAoAgANACAAIAApAwgQ2ICAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELtQEBAX8jgICAgABBIGsiAySAgICAAAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCzQBSDQBBgMseQYDSHxC7gYCAAEGAyx5BgNIfELyBgIAAQQAQ0YCAgABCAhC1gICAAA0BIAAQvYGAgAAgA0EANgIAIAMgARC/gICAACADQQE2AgAgAyACEL+AgIAAIANBIGokgICAgABCAg8LAAtCg4CAgJCBARDQgICAAAALDgBBASAAIAEQ4oGAgAALDgBBAiAAIAEQ4oGAgAALDgBBACAAQgIQ0IGAgAALCAAQ+4CAgAALCAAQyoCAgAAL3gQBBX8jgICAgABB0ABrIgIkgICAgAAgAkEoaiAAEMGBgIAAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQwYGAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxggAkEoahDGgICAAAJAIAIoAihBAUcNACACKAIsIAIoAjAQx4CAgAALEMmAgIAAAkACQAJAEMWAgIAADQAQwoGAgAAiA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQ0ICAgAAAC0KDgICAwP8AENCAgIAAAAsCQAJAIAIoAghBAUcNACACKAIMIAIoAhAQu4GAgAAMAQtBARDIgICAAEICEIeAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQvIGAgAAMAQtBAhDIgICAAEICEIeAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QaSKwIAAQQ8QkYGAgAAQkoGAgAAhACACQShqEMOBgIAAIQEgAiACQTRqEMOBgIAANwNIIAIgATcDQCAAQciKwIAAQQIgAkHAAGpBAhDhgICAABCUgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQ34GAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAszAQJ+EKaAgIAAIQACQBCngICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxCxgICAAAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEMWBgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQxoCAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQEMeAgIAACyAAQQhqEMaAgIAAIABBFGoiARCQgYCAACAAQTBqIABBCGoQxYGAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEMWBgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCvgICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ4IGAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahDGgICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQx4CAgAALEMmAgIAAAkAQxYCAgABFDQBCg4CAgOD/ABDQgICAAAALQQAQyICAgABCAUICEIWAgIAAGkHYisCAAEESEJGBgIAAEJKBgIAAQQRBACAAQRhqQQAQ4YCAgAAQlICAgAAaIABBIGokgICAgABCAgsJABDFgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQx4CAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwAgACkDCBDKgYCAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQz4CAgAAgACkDACAAKQMIEMqBgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahDGgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQx4CAgAALEMuAgIAAIQIQzoCAgAAgABC9gYCAACACIAAQzYGAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQe+IwIAAQRUQkYGAgAAQkoGAgAAhAyACIAA3AwggAiABNwMAIANBmInAgABBAiACQQIQ4YCAgAAQlICAgAAaIAJBEGokgICAgAAL3QICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahDGgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQx4CAgAALEMuAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDPgICAACACKQMQIQEgAikDCEGICBDNgICAACABIAAQl4CAgABQRQ0DEM+BgIAADAELEMKBgIAAIAFCIIinSQ0DQQEgAEIAENCBgIAAQQEQ0YCAgABCACABQoSAgIBwgyIBIAEQg4CAgAAaQaiJwIAAQRYQkYGAgAAQkoGAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQcSJwIAAQQMgAkEIakEDEOGAgIAAEJSAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABENCAgIAAAAtCg4CAgPCAARDQgICAAAALEwBBARDRgICAAEIAEIeAgIAAGgsVACAAENGAgIAAIAEgAhCFgICAABoLpwECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQxoCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEMeAgIAACyAAEM+AgIAAIAApAwghASAAKQMAQYgIEM2AgIAAIAEQiICAgAAaIAAQ0oCAgAACQCAAKAIADQAQjYGAgAAACyAAKQMIIQIQz4GAgAAgARC9gYCAACACIAEQzYGAgAAgAEEQaiSAgICAAEICC6ABAgF/An4jgICAgABBEGsiACSAgICAACAAEMaAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBDHgICAAAsQy4CAgAAhARDOgICAAEEAENGAgIAAQgIQh4CAgAAaQdyJwIAAQRMQkYGAgAAQkoGAgAAhAiAAIAE3AwAgAkHwicCAAEEBIABBARDhgICAABCUgICAABogAEEQaiSAgICAAEICCwkAENSBgIAAAAsDAAALfQIBfwF+AkACQAJAAkAgAadB/wFxIgJBxQBGDQAgAkELRw0CIAAgAUI/hzcDGCAAIAFCCIc3AxAMAQsgARCegICAACEDIAEQn4CAgAAhASAAIAM3AxggACABNwMQC0IAIQEMAQsgAEKDkICAgAE3AwhCASEBCyAAIAE3AwALHgAgACABIAKtQiCGQgSEIAOtQiCGQgSEEKKAgIAAC3cCAX8BfiOAgICAAEEQayICJICAgIAAIAIgAUEYdCABQYD+A3FBCHRyIAFBCHZBgP4DcSABQRh2cnI2AgwgACkDACEDIAAgAyADEI+AgIAAQoCAgIBwg0IEhCACQQxqQQQQ1oGAgAA3AwAgAkEQaiSAgICAACAACyUAIAAgAa1CIIZCBIQgABCPgICAAEKAgICAcINCBIQQmoCAgAALNgEBfkIBIQICQCABEI+AgIAAQoCAgIBwg0KAgICAwABSDQAgACABNwMIQgAhAgsgACACNwMACzYBAX5CASECAkAgARCPgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAsaACAArUIghkIEhCABrUIghkIEhBCcgICAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBChgICAACEDCyAAQgA3AwAgACADNwMICxwAIAAgAa1CIIZCBIQgAq1CIIZCBIQQmoCAgAAL2QECA38BfiOAgICAAEEQayICJICAgIAAQQEhAwJAIAEQj4CAgABCgICAgHCDQoCAgICAAlINACACQQhqQgA3AwAgAkIANwMAIABB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cl9mZWVfcGFpZGZlZQDMABAAAwAAAGR2bl9mZWVfcGFpZGR2bnNmZWVz5AAQAAQAAADoABAABAAAAHBheWxvYWRfdmVyaWZpZWRjb25maXJtYXRpb25zaGVhZGVycHJvb2ZfaGFzaAAAAAwBEAANAAAAGQEQAAYAAAAfARAACgAAAG9wdGlvbmFsX2R2bl90aHJlc2hvbGRvcHRpb25hbF9kdm5zcmVxdWlyZWRfZHZucwwBEAANAAAARAEQABYAAABaARAADQAAAGcBEAANAAAAdWxuX2NvbmZpZ3VzZV9kZWZhdWx0X2NvbmZpcm1hdGlvbnN1c2VfZGVmYXVsdF9vcHRpb25hbF9kdm5zdXNlX2RlZmF1bHRfcmVxdWlyZWRfZHZucwAAAJQBEAAKAAAAngEQABkAAAC3ARAAGQAAANABEAAZAAAAmAMQAAYAAACpAxAAAwAAAGV4ZWN1dG9ybWF4X21lc3NhZ2Vfc2l6ZRwCEAAIAAAAJAIQABAAAACYAxAABgAAAAMDEAAHAAAARW5kcG9pbnRUcmVhc3VyeURlZmF1bHRFeGVjdXRvckNvbmZpZ3NEZWZhdWx0U2VuZFVsbkNvbmZpZ3NEZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ3NPQXBwRXhlY3V0b3JDb25maWdzT0FwcFNlbmRVbG5Db25maWdzT0FwcFJlY2VpdmVVbG5Db25maWdzQ29uZmlybWF0aW9uc2VuY29kZWRfcGFja2V0bWVzc2FnZWRzdF9laWRyZWNlaXZlcm5vbmNlc2VuZGVyc3JjX2VpZBIDEAAFAAAAFwMQAAYAAAAdAxAABwAAAG5hdGl2ZV9mZWV6cm9fZmVlAAAAPAMQAAoAAABGAxAABwAAAGd1aWRlbmRwb2ludF92ZXJzaW9ubWFqb3JtaW5vcgAAZAMQABAAAAB0AxAABQAAAHkDEAAFAAAAY29uZmlnY29uZmlnX3R5cGVlaWSYAxAABgAAAJ4DEAALAAAAqQMQAAMAAAADAxAABwAAAGADEAAEAAAA/AIQAAcAAAASAxAABQAAAAoDEAAIAAAAFwMQAAYAAAAdAxAABwAAAGFtb3VudHRv/AMQAAYAAAACBBAAAgAAAG5hdGl2ZV9mZWVfcmVjaXBpZW50c3pyb19mZWVfcmVjaXBpZW50cwDuAhAADgAAABQEEAAVAAAAKQQQABIAAABhc3NpZ25fam9iAAAAEgAAAAF0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXIAAIQEEAAJAAAAjQQQAAkAAABvd25lcnNoaXBfdHJhbnNmZXJyaW5ndHRsAAAAhAQQAAkAAACNBBAACQAAAL4EEAADAAAAb3duZXJzaGlwX3Jlbm91bmNlZACNBBAACQAAAE93bmVyUGVuZGluZ093bmVyZXh0ZW5kX3RvAAAJBRAACQAAAGYEEAAJAAAAdHRsX2NvbmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAMwUQAAgAAAA7BRAACgAAAHR0bF9jb25maWdzX2Zyb3plbkZyb3plbkluc3RhbmNlUGVyc2lzdGVudACruAEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAALVWxuMzAyRXJyb3IAAAAAEwAAAAAAAAAdRGVmYXVsdEV4ZWN1dG9yQ29uZmlnTm90Rm91bmQAAAAAAAABAAAAAAAAAB9EZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ05vdEZvdW5kAAAAAAIAAAAAAAAAHERlZmF1bHRTZW5kVWxuQ29uZmlnTm90Rm91bmQAAAADAAAAAAAAABVEdXBsaWNhdGVPcHRpb25hbERWTnMAAAAAAAAEAAAAAAAAABVEdXBsaWNhdGVSZXF1aXJlZERWTnMAAAAAAAAFAAAAAAAAAA1JbnZhbGlkQ29uZmlnAAAAAAAABgAAAAAAAAARSW52YWxpZENvbmZpZ1R5cGUAAAAAAAAHAAAAAAAAABRJbnZhbGlkQ29uZmlybWF0aW9ucwAAAAgAAAAAAAAACkludmFsaWRFSUQAAAAAAAkAAAAAAAAAEkludmFsaWRNZXNzYWdlU2l6ZQAAAAAACgAAAAAAAAAXSW52YWxpZE9wdGlvbmFsRFZOQ291bnQAAAAACwAAAAAAAAATSW52YWxpZE9wdGlvbmFsRFZOcwAAAAAMAAAAAAAAABtJbnZhbGlkT3B0aW9uYWxEVk5UaHJlc2hvbGQAAAAADQAAAAAAAAAXSW52YWxpZFJlcXVpcmVkRFZOQ291bnQAAAAADgAAAAAAAAATSW52YWxpZFJlcXVpcmVkRFZOcwAAAAAPAAAAAAAAABBV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ZGRyZXNzZXMgZnJvbSB3aGljaCBhIHRocmVzaG9sZCBudW1iZXIgbXVzdCB2ZXJpZnkuAAAADW9wdGlvbmFsX2R2bnMAAAAAAAPqAAAAEwAAAEZMaXN0IG9mIERWTiBhZGRyZXNzZXMgdGhhdCBtdXN0IEFMTCB2ZXJpZnkgdGhlIG1lc3NhZ2UgKG5vIHRocmVzaG9sZCkuAAAAAAANcmVxdWlyZWRfZHZucwAAAAAAA+oAAAATAAAAAQAAADxPQXBwLXNwZWNpZmljIFVMTiBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdCBvdmVycmlkZSBmbGFncy4AAAAAAAAADU9BcHBVbG5Db25maWcAAAAAAAAEAAAARU9BcHAtc3BlY2lmaWMgVUxOIGNvbmZpZ3VyYXRpb24gKHVzZWQgd2hlbiBkZWZhdWx0cyBhcmUgbm90IGFwcGxpZWQpLgAAAAAAAAp1bG5fY29uZmlnAAAAAAfQAAAACVVsbkNvbmZpZwAAAAAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IGNvbmZpcm1hdGlvbnMuAAAAAAAAGXVzZV9kZWZhdWx0X2NvbmZpcm1hdGlvbnMAAAAAAAABAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgb3B0aW9uYWwgRFZOcy4AAAAAAAAZdXNlX2RlZmF1bHRfb3B0aW9uYWxfZHZucwAAAAAAAAEAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCByZXF1aXJlZCBEVk5zLgAAAAAAABl1c2VfZGVmYXVsdF9yZXF1aXJlZF9kdm5zAAAAAAAAAQAAAAEAAABSUGFyYW1ldGVyIGZvciBzZXR0aW5nIGRlZmF1bHQgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24vc291cmNlIGVuZHBvaW50LgAAAAAAAAAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAACAAAAKFRoZSBVTE4gY29uZmlndXJhdGlvbiB0byBzZXQgYXMgZGVmYXVsdC4AAAAGY29uZmlnAAAAAAfQAAAACVVsbkNvbmZpZwAAAAAAAEtUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGZvciBzZW5kKSBvciBzb3VyY2UgZW5kcG9pbnQgSUQgKGZvciByZWNlaXZlKS4AAAAAA2VpZAAAAAAEAAAAAQAAACxFeGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBtZXNzYWdlIGRlbGl2ZXJ5LgAAAAAAAAAORXhlY3V0b3JDb25maWcAAAAAAAIAAABDQWRkcmVzcyBvZiB0aGUgZXhlY3V0b3IgY29udHJhY3QgcmVzcG9uc2libGUgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uLgAAAAAIZXhlY3V0b3IAAAATAAAAOU1heGltdW0gc2l6ZSBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBleGVjdXRlZCAoaW4gYnl0ZXMpLgAAAAAAABBtYXhfbWVzc2FnZV9zaXplAAAABAAAAAEAAABbT0FwcC1zcGVjaWZpYyBleGVjdXRvciBjb25maWd1cmF0aW9uLgoKSWYgZXhlY3V0b3IgaXMgYE5vbmVgLCB0aGUgZGVmYXVsdCBleGVjdXRvciBpcyB1c2VkLgAAAAAAAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAgAAAGhBZGRyZXNzIG9mIHRoZSBleGVjdXRvciBjb250cmFjdCB0byBiZSB1c2VkIGZvciBtZXNzYWdlIGV4ZWN1dGlvbi4gTm9uZSBtZWFucyB1c2UgZGVmYXVsdCBjb25maWd1cmF0aW9uLgAAAAhleGVjdXRvcgAAA+gAAAATAAAAXE1heGltdW0gc2l6ZSBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBleGVjdXRlZCAoaW4gYnl0ZXMpLiAwIG1lYW5zIHVzZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uAAAAEG1heF9tZXNzYWdlX3NpemUAAAAEAAAAAQAAAFBQYXJhbWV0ZXIgZm9yIHNldHRpbmcgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAAAAdU2V0RGVmYXVsdEV4ZWN1dG9yQ29uZmlnUGFyYW0AAAAAAAACAAAALVRoZSBleGVjdXRvciBjb25maWd1cmF0aW9uIHRvIHNldCBhcyBkZWZhdWx0LgAAAAAAAAZjb25maWcAAAAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAABxUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAAAAAAABIU2V0cyBkZWZhdWx0IGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBkZXN0aW5hdGlvbiBlbmRwb2ludHMuAAAAHHNldF9kZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZ3MAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAAABIU2V0cyBkZWZhdWx0IHNlbmQgVUxOIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBkZXN0aW5hdGlvbiBlbmRwb2ludHMuAAAAHHNldF9kZWZhdWx0X3NlbmRfdWxuX2NvbmZpZ3MAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAAAAAAAMFJldHVybnMgdGhlIHRyZWFzdXJ5IGFkZHJlc3MgZm9yIGZlZSBjb2xsZWN0aW9uLgAAAAh0cmVhc3VyeQAAAAAAAAABAAAAEwAAAAAAAABGUmV0dXJucyB0aGUgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAF2RlZmF1bHRfZXhlY3V0b3JfY29uZmlnAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAAAAAExSZXR1cm5zIHRoZSBPQXBwLXNwZWNpZmljIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAFG9hcHBfZXhlY3V0b3JfY29uZmlnAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAAAAAAAUVJldHVybnMgdGhlIGVmZmVjdGl2ZSBleGVjdXRvciBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0LgAAAAAAABllZmZlY3RpdmVfZXhlY3V0b3JfY29uZmlnAAAAAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAAAAAEZSZXR1cm5zIHRoZSBkZWZhdWx0IHNlbmQgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAXZGVmYXVsdF9zZW5kX3Vsbl9jb25maWcAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAABMUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAABRvYXBwX3NlbmRfdWxuX2NvbmZpZwAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAADU9BcHBVbG5Db25maWcAAAAAAAAAAAAAUVJldHVybnMgdGhlIGVmZmVjdGl2ZSBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0LgAAAAAAABllZmZlY3RpdmVfc2VuZF91bG5fY29uZmlnAAAAAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAAnlF1b3RlcyB0aGUgdG90YWwgZmVlIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4KCkNhbGN1bGF0ZXMgZmVlcyBmcm9tOiBleGVjdXRvciAobWVzc2FnZSBleGVjdXRpb24pLCBEVk5zICh2ZXJpZmljYXRpb24pLCBhbmQgdHJlYXN1cnkgKHByb3RvY29sIGZlZSkuAAAAAAAFcXVvdGUAAAAAAAADAAAAAAAAAAZwYWNrZXQAAAAAB9AAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAAAQAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAAAAAAJlTZW5kcyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgYW5kIHJldHVybnMgZmVlIHJlY2lwaWVudHMgZm9yIHBheW1lbnQuCgpBc3NpZ25zIGV4ZWN1dG9yIGFuZCBEVk5zLCBjYWxjdWxhdGVzIGZlZXMsIGFuZCBlbmNvZGVzIHRoZSBwYWNrZXQgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAAAEc2VuZAAAAAMAAAAAAAAABnBhY2tldAAAAAAH0AAAAA5PdXRib3VuZFBhY2tldAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAABAAAH0AAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAAAAAK9DYWxsZWQgYnkgYSBEVk4gdG8gdmVyaWZ5IGEgbWVzc2FnZSB3aXRoIGEgc3BlY2lmaWMgbnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMuCgpTdG9yZXMgdGhlIERWTidzIHZlcmlmaWNhdGlvbiBhdHRlc3RhdGlvbiB3aGljaCB3aWxsIGJlIGNoZWNrZWQgZHVyaW5nIGNvbW1pdF92ZXJpZmljYXRpb24uAAAAAAZ2ZXJpZnkAAAAAAAQAAAAAAAAAA2R2bgAAAAATAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAAAAAAAAAAAFXUGVybWlzc29ubGVzcyB0byBjb21taXQgYSB2ZXJpZmllZCBtZXNzYWdlIHRvIHRoZSBlbmRwb2ludCBhZnRlciBzdWZmaWNpZW50IERWTiB2ZXJpZmljYXRpb24uCgpWYWxpZGF0ZXMgdGhlIHBhY2tldCBoZWFkZXIgYW5kIGNoZWNrcyB0aGF0IGVub3VnaCBEVk5zIGhhdmUgdmVyaWZpZWQgdGhlIG1lc3NhZ2UKKGFsbCByZXF1aXJlZCBEVk5zICsgb3B0aW9uYWwgRFZOIHRocmVzaG9sZCkuIE9uY2UgdmVyaWZpZWQsIGNsZWFucyB1cCBEVk4gY29uZmlybWF0aW9uCnN0b3JhZ2UgYW5kIGNhbGxzIHRoZSBlbmRwb2ludCB0byBtYXJrIHRoZSBtZXNzYWdlIGFzIHZlcmlmaWVkIGFuZCBleGVjdXRhYmxlLgAAAAATY29tbWl0X3ZlcmlmaWNhdGlvbgAAAAACAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAAAAAAAAAAAAJhTZXRzIGRlZmF1bHQgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbnMgZm9yIG11bHRpcGxlIHNvdXJjZSBlbmRwb2ludHMuCgpWYWxpZGF0ZXMgZWFjaCBjb25maWcgYW5kIHN0b3JlcyBpdCBhcyB0aGUgZGVmYXVsdCBmb3IgdGhlIHNwZWNpZmllZCBzb3VyY2UgRUlELgAAAB9zZXRfZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWdzAAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAAAAAAAAAABVUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgYSBEVk4gaGFzIHN1Ym1pdHRlZCBmb3IgYSBzcGVjaWZpYyBtZXNzYWdlLgAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAAAwAAAAAAAAADZHZuAAAAABMAAAAAAAAAC2hlYWRlcl9oYXNoAAAAA+4AAAAgAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAPoAAAABgAAAAAAAABSQ2hlY2tzIGlmIGEgbWVzc2FnZSBoYXMgYmVlbiBzdWZmaWNpZW50bHkgdmVyaWZpZWQgYnkgRFZOcyBhbmQgaXMgcmVhZHkgdG8gY29tbWl0LgAAAAAACnZlcmlmaWFibGUAAAAAAAIAAAAAAAAADXBhY2tldF9oZWFkZXIAAAAAAAAOAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAABAAAAAAAAAERSZXR1cm5zIHRoZSBkZWZhdWx0IHJlY2VpdmUgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgc291cmNlIGVuZHBvaW50LgAAABpkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZwAAAAAAAQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAABTUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIG92ZXJyaWRlIGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAAF29hcHBfcmVjZWl2ZV91bG5fY29uZmlnAAAAAAIAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAADU9BcHBVbG5Db25maWcAAAAAAAAAAAAAVVJldHVybnMgdGhlIGVmZmVjdGl2ZSByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0cy4AAAAAAAAcZWZmZWN0aXZlX3JlY2VpdmVfdWxuX2NvbmZpZwAAAAIAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAAAAAANxTZXRzIE9BcHAtc3BlY2lmaWMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBsaWJyYXJ5LgoKQ2FsbGVkIGJ5IHRoZSBlbmRwb2ludCBvbiBiZWhhbGYgb2YgdGhlIE9BcHAgdG8gY29uZmlndXJlIGV4ZWN1dG9yIGFuZCBVTE4gc2V0dGluZ3MuClN1cHBvcnRzIHRocmVlIGNvbmZpZyB0eXBlczogRVhFQ1VUT1IsIFNFTkRfVUxOLCBhbmQgUkVDRUlWRV9VTE4uAAAACnNldF9jb25maWcAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADlNldENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAADZSZXR1cm5zIHRoZSBYRFItZW5jb2RlZCBlZmZlY3RpdmUgY29uZmlndXJhdGlvbiBieXRlcy4AAAAAAApnZXRfY29uZmlnAAAAAAADAAAAAAAAAANlaWQAAAAABAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAC2NvbmZpZ190eXBlAAAAAAQAAAABAAAADgAAAAAAAABYUmV0dXJucyB0cnVlIGlmIHRoZSBtZXNzYWdlIGxpYnJhcnkgaGFzIGZ1bGwgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGVuZHBvaW50IElELgAAABBpc19zdXBwb3J0ZWRfZWlkAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAQAAAAAAAAArUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgbWVzc2FnZSBsaWJyYXJ5LgAAAAAHdmVyc2lvbgAAAAAAAAAAAQAAB9AAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAAAAAAAKFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UgbGlicmFyeS4AAAAQbWVzc2FnZV9saWJfdHlwZQAAAAAAAAABAAAH0AAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAh0cmVhc3VyeQAAABMAAAAAAAAAAAAAADBSZXR1cm5zIHRoZSBMYXllclplcm8gZW5kcG9pbnQgY29udHJhY3QgYWRkcmVzcy4AAAAIZW5kcG9pbnQAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAABMAAAACAAAAAAAAAAAAAAAKVWxuU3RvcmFnZQAAAAAACQAAAAAAAAAAAAAACEVuZHBvaW50AAAAAAAAAAAAAAAIVHJlYXN1cnkAAAABAAAAAAAAABZEZWZhdWx0RXhlY3V0b3JDb25maWdzAAAAAAABAAAABAAAAAEAAAAAAAAAFURlZmF1bHRTZW5kVWxuQ29uZmlncwAAAAAAAAEAAAAEAAAAAQAAAAAAAAAYRGVmYXVsdFJlY2VpdmVVbG5Db25maWdzAAAAAQAAAAQAAAABAAAAAAAAABNPQXBwRXhlY3V0b3JDb25maWdzAAAAAAIAAAATAAAABAAAAAEAAAAAAAAAEk9BcHBTZW5kVWxuQ29uZmlncwAAAAAAAgAAABMAAAAEAAAAAQAAAAAAAAAVT0FwcFJlY2VpdmVVbG5Db25maWdzAAAAAAAAAgAAABMAAAAEAAAAAQAAAAAAAAANQ29uZmlybWF0aW9ucwAAAAAAAAMAAAATAAAD7gAAACAAAAPuAAAAIAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAAAAAAApUV4dGVuZHMgdGhlIGluc3RhbmNlIFRUTC4KCiMgQXJndW1lbnRzCgoqIGB0aHJlc2hvbGRgIC0gVGhlIHRocmVzaG9sZCB0byBleHRlbmQgdGhlIFRUTCAoaWYgY3VycmVudCBUVEwgaXMgYmVsb3cgdGhpcywgZXh0ZW5kKS4KKiBgZXh0ZW5kX3RvYCAtIFRoZSBUVEwgdG8gZXh0ZW5kIHRvLgAAAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAAAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lz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YXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQAAAAQAAAAdV29ya2VyT3B0aW9uc0Vycm9yOiAxMTEwLTExMTkAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARWAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAEVwAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABFgAAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEWQAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFoAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARbAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFwAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEXQAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAAReAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
|
|
11
|
+
/**
|
|
12
|
+
* Pre-computed WASM hash (SHA-256)
|
|
13
|
+
* Use this when the WASM is already uploaded on-chain
|
|
14
|
+
*/
|
|
15
|
+
export const WASM_HASH = "34b659da7e2eb6fdca5e34979e277a0993271a71063d8608153c9e3d4b8d281c";
|
|
16
|
+
/**
|
|
17
|
+
* Get the WASM bytecode as a Buffer
|
|
18
|
+
* Use this to upload the WASM to the network
|
|
19
|
+
*/
|
|
20
|
+
export function getWasmBuffer() {
|
|
21
|
+
return Buffer.from(WASM_BASE64, 'base64');
|
|
22
|
+
}
|
|
5
23
|
export const Uln302Error = {
|
|
6
24
|
1: { message: "DefaultExecutorConfigNotFound" },
|
|
7
25
|
2: { message: "DefaultReceiveUlnConfigNotFound" },
|
|
@@ -96,8 +114,12 @@ export const TtlConfigurableError = {
|
|
|
96
114
|
* OwnableError: 1030-1039
|
|
97
115
|
*/
|
|
98
116
|
export const OwnableError = {
|
|
99
|
-
1030: { message: "
|
|
100
|
-
1031: { message: "
|
|
117
|
+
1030: { message: "InvalidPendingOwner" },
|
|
118
|
+
1031: { message: "InvalidTtl" },
|
|
119
|
+
1032: { message: "NoPendingTransfer" },
|
|
120
|
+
1033: { message: "OwnerAlreadySet" },
|
|
121
|
+
1034: { message: "OwnerNotSet" },
|
|
122
|
+
1035: { message: "TransferInProgress" }
|
|
101
123
|
};
|
|
102
124
|
/**
|
|
103
125
|
* BytesExtError: 1040-1049
|
|
@@ -109,7 +131,9 @@ export const BytesExtError = {
|
|
|
109
131
|
* UpgradeableError: 1050-1059
|
|
110
132
|
*/
|
|
111
133
|
export const UpgradeableError = {
|
|
112
|
-
1050: { message: "
|
|
134
|
+
1050: { message: "InvalidMigrationData" },
|
|
135
|
+
1051: { message: "MigrationNotAllowed" },
|
|
136
|
+
1052: { message: "UpgradesFrozen" }
|
|
113
137
|
};
|
|
114
138
|
/**
|
|
115
139
|
* MultisigError: 1060-1069
|
|
@@ -141,8 +165,8 @@ export class Client extends ContractClient {
|
|
|
141
165
|
"AAAABQAAAAAAAAAAAAAAGURlZmF1bHRFeGVjdXRvckNvbmZpZ3NTZXQAAAAAAAABAAAAHGRlZmF1bHRfZXhlY3V0b3JfY29uZmlnc19zZXQAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAAAAAAI=",
|
|
142
166
|
"AAAABQAAAAAAAAAAAAAAGERlZmF1bHRTZW5kVWxuQ29uZmlnc1NldAAAAAEAAAAcZGVmYXVsdF9zZW5kX3Vsbl9jb25maWdzX3NldAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAAAAAAI=",
|
|
143
167
|
"AAAABQAAAAAAAAAAAAAAG0RlZmF1bHRSZWNlaXZlVWxuQ29uZmlnc1NldAAAAAABAAAAH2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlnc19zZXQAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAg==",
|
|
144
|
-
"
|
|
145
|
-
"
|
|
168
|
+
"AAAABQAAAAAAAAAAAAAAD0V4ZWN1dG9yRmVlUGFpZAAAAAABAAAAEWV4ZWN1dG9yX2ZlZV9wYWlkAAAAAAAAAwAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAADZmVlAAAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAAAAAAI=",
|
|
169
|
+
"AAAABQAAAAAAAAAAAAAACkRWTkZlZVBhaWQAAAAAAAEAAAAMZHZuX2ZlZV9wYWlkAAAAAwAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAEZHZucwAAA+oAAAATAAAAAAAAAAAAAAAEZmVlcwAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAAC",
|
|
146
170
|
"AAAABQAAAAAAAAAAAAAAD1BheWxvYWRWZXJpZmllZAAAAAABAAAAEHBheWxvYWRfdmVyaWZpZWQAAAAEAAAAAAAAAANkdm4AAAAAEwAAAAEAAAAAAAAABmhlYWRlcgAAAAAADgAAAAAAAAAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAAAAAAAAAAAAKcHJvb2ZfaGFzaAAAAAAD7gAAACAAAAAAAAAAAg==",
|
|
147
171
|
"AAAAAQAAADhVbHRyYSBMaWdodCBOb2RlIGNvbmZpZ3VyYXRpb24gZm9yIG1lc3NhZ2UgdmVyaWZpY2F0aW9uLgAAAAAAAAAJVWxuQ29uZmlnAAAAAAAABAAAAEpOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZCBiZWZvcmUgbWVzc2FnZSB2ZXJpZmljYXRpb24gYmVnaW5zLgAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAM01pbmltdW0gbnVtYmVyIG9mIG9wdGlvbmFsIERWTnMgcmVxdWlyZWQgdG8gdmVyaWZ5LgAAAAAWb3B0aW9uYWxfZHZuX3RocmVzaG9sZAAAAAAABAAAAEBMaXN0IG9mIERWTiBhZGRyZXNzZXMgZnJvbSB3aGljaCBhIHRocmVzaG9sZCBudW1iZXIgbXVzdCB2ZXJpZnkuAAAADW9wdGlvbmFsX2R2bnMAAAAAAAPqAAAAEwAAAEZMaXN0IG9mIERWTiBhZGRyZXNzZXMgdGhhdCBtdXN0IEFMTCB2ZXJpZnkgdGhlIG1lc3NhZ2UgKG5vIHRocmVzaG9sZCkuAAAAAAANcmVxdWlyZWRfZHZucwAAAAAAA+oAAAAT",
|
|
148
172
|
"AAAAAQAAADxPQXBwLXNwZWNpZmljIFVMTiBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdCBvdmVycmlkZSBmbGFncy4AAAAAAAAADU9BcHBVbG5Db25maWcAAAAAAAAEAAAARU9BcHAtc3BlY2lmaWMgVUxOIGNvbmZpZ3VyYXRpb24gKHVzZWQgd2hlbiBkZWZhdWx0cyBhcmUgbm90IGFwcGxpZWQpLgAAAAAAAAp1bG5fY29uZmlnAAAAAAfQAAAACVVsbkNvbmZpZwAAAAAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IGNvbmZpcm1hdGlvbnMuAAAAAAAAGXVzZV9kZWZhdWx0X2NvbmZpcm1hdGlvbnMAAAAAAAABAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgb3B0aW9uYWwgRFZOcy4AAAAAAAAZdXNlX2RlZmF1bHRfb3B0aW9uYWxfZHZucwAAAAAAAAEAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCByZXF1aXJlZCBEVk5zLgAAAAAAABl1c2VfZGVmYXVsdF9yZXF1aXJlZF9kdm5zAAAAAAAAAQ==",
|
|
@@ -184,8 +208,11 @@ export class Client extends ContractClient {
|
|
|
184
208
|
"AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==",
|
|
185
209
|
"AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==",
|
|
186
210
|
"AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
|
|
187
|
-
"
|
|
188
|
-
"
|
|
211
|
+
"AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
|
|
212
|
+
"AAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==",
|
|
213
|
+
"AAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAA=",
|
|
214
|
+
"AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=",
|
|
215
|
+
"AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA",
|
|
189
216
|
"AAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAAAAAADk9ubHlSZWNlaXZlTGliAAAAAAAPAAAAAAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAAAAAAC09ubHlTZW5kTGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQ==",
|
|
190
217
|
"AAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAALcGFja2V0X3NlbnQAAAAAAwAAAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAAAAAAAAxzZW5kX2xpYnJhcnkAAAATAAAAAAAAAAI=",
|
|
191
218
|
"AAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAAC",
|
|
@@ -223,21 +250,22 @@ export class Client extends ContractClient {
|
|
|
223
250
|
"AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
|
|
224
251
|
"AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
|
|
225
252
|
"AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
|
|
226
|
-
"
|
|
253
|
+
"AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
|
|
227
254
|
"AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
|
|
228
|
-
"
|
|
255
|
+
"AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQc",
|
|
229
256
|
"AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
|
|
230
257
|
"AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
|
|
231
258
|
"AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
|
|
232
259
|
"AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
|
|
233
|
-
"
|
|
260
|
+
"AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
|
|
261
|
+
"AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
|
|
234
262
|
"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
|
|
235
|
-
"
|
|
263
|
+
"AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
|
|
236
264
|
"AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
|
|
237
265
|
"AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
|
|
238
266
|
"AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
|
|
239
267
|
"AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
|
|
240
|
-
"
|
|
268
|
+
"AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAA"]), options);
|
|
241
269
|
this.options = options;
|
|
242
270
|
}
|
|
243
271
|
fromJSON = {
|
|
@@ -273,7 +301,10 @@ export class Client extends ContractClient {
|
|
|
273
301
|
is_ttl_configs_frozen: (this.txFromJSON),
|
|
274
302
|
extend_instance_ttl: (this.txFromJSON),
|
|
275
303
|
owner: (this.txFromJSON),
|
|
304
|
+
pending_owner: (this.txFromJSON),
|
|
276
305
|
transfer_ownership: (this.txFromJSON),
|
|
306
|
+
propose_ownership_transfer: (this.txFromJSON),
|
|
307
|
+
accept_ownership: (this.txFromJSON),
|
|
277
308
|
renounce_ownership: (this.txFromJSON)
|
|
278
309
|
};
|
|
279
310
|
}
|
|
@@ -1,41 +1,226 @@
|
|
|
1
1
|
import { Buffer } from "buffer";
|
|
2
2
|
import { AssembledTransaction, Client as ContractClient, ClientOptions as ContractClientOptions, MethodOptions } from '@stellar/stellar-sdk/contract';
|
|
3
|
+
import type { u32 } from '@stellar/stellar-sdk/contract';
|
|
3
4
|
export * from '@stellar/stellar-sdk';
|
|
4
5
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
5
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
9
|
+
* Size: 4968 bytes (4.85 KB)
|
|
10
|
+
*/
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABJgdgAX4BfmADfn5+AX5gAn5+AX5gAn9+AGADfn5+AGABfwF+YAAAAhkEAWIBXwAAAWIBOAAAAWQBXwABAXYBZwACAwkIAgMEAQUEBgYFAwEAEAYhBH8BQYCAwAALfwBBgIDAAAt/AEGAgMAAC38AQYCAwAALB0kGBm1lbW9yeQIAB3VwZ3JhZGUABBN1cGdyYWRlX2FuZF9taWdyYXRlAAcBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoYECFwBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAIgARCFgICAACACKAIAQQFGDQAgACACKQMIQgIQgICAgAAQhoCAgAAgAkEQaiSAgICAAEICDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCBgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAu4AQMBfwF+AX8jgICAgABBEGsiAySAgICAACADIAE3AwBCAiEEQQEhBQJAA0AgBUUNASAFQX9qIQUgASEEDAALCyADIAQ3AwggAEKO1Knzza3rASADQQhqEIiAgIAAEImAgIAAIAMgAjcDAEICIQFBASEFAkADQCAFRQ0BIAVBf2ohBSACIQEMAAsLIAMgATcDCCAAQo7UufPN9coBIANBCGoQiICAgAAQiYCAgAAgA0EQaiSAgICAAAtiAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQhYCAgAAgAygCAEEBRg0AIAJC/wGDQsgAUg0AIAAgAykDCCACEIaAgIAAIANBEGokgICAgABCAg8LAAsXACAArUIghkIEhEKEgICAEBCDgICAAAshAAJAIAAgASACEIKAgIAAQv8Bg0ICUQ0AEIuAgIAAAAsLAwAACwkAEIqAgIAAAAsLCQEAQYCAwAALAAD3Hw5jb250cmFjdHNwZWN2MAAAAAAAAAERVXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3Qgd2l0aG91dCBjdXN0b20gbWlncmF0aW9uIGRhdGEuCgpUaGlzIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciB0aGF0IGNhbGxzIGB1cGdyYWRlX2FuZF9taWdyYXRlYCB3aXRoIGVtcHR5IG1pZ3JhdGlvbiBkYXRhLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlAAAAAAAAB3VwZ3JhZGUAAAAAAgAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAJ0VXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1bnMgaXRzIG1pZ3JhdGlvbiBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4KClRoZSBjYWxsZXIgbXVzdCBiZSBhdXRob3JpemVkIGFzIHRoZSBhdXRob3JpemVyIG9mIHRoZSB0YXJnZXQgY29udHJhY3QuClRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIHRhcmdldCBjb250cmFjdCdzIGAjW29ubHlfYXV0aF1gIGNoZWNrLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlCiogYG1pZ3JhdGlvbl9kYXRhYCAtIFhEUi1lbmNvZGVkIGJ5dGVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClVzZSBgdmFsdWUudG9feGRyKCZlbnYpYCB0byBlbmNvZGUgdGhlIHRhcmdldCBjb250cmFjdCdzIE1pZ3JhdGlvbkRhdGEgdHlwZS4KCiMgRXhhbXBsZQpgYGBpZ25vcmUKbGV0IG1pZ3JhdGlvbl9kYXRhID0gbXlfZGF0YS50b194ZHIoJmVudik7CnVwZ3JhZGVyLnVwZ3JhZGVfYW5kX21pZ3JhdGUoJmNvbnRyYWN0X2FkZHIsICZ3YXNtX2hhc2gsICZtaWdyYXRpb25fZGF0YSk7CmBgYAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
|
|
12
|
+
/**
|
|
13
|
+
* Pre-computed WASM hash (SHA-256)
|
|
14
|
+
* Use this when the WASM is already uploaded on-chain
|
|
15
|
+
*/
|
|
16
|
+
export declare const WASM_HASH = "6c749cc6678cc29a835dff31a3198b9cee989f2077b55b662bc1e7df1f9cad26";
|
|
17
|
+
/**
|
|
18
|
+
* Get the WASM bytecode as a Buffer
|
|
19
|
+
* Use this to upload the WASM to the network
|
|
20
|
+
*/
|
|
21
|
+
export declare function getWasmBuffer(): Buffer;
|
|
22
|
+
/**
|
|
23
|
+
* BufferReaderError: 1000-1009
|
|
24
|
+
*/
|
|
25
|
+
export declare const BufferReaderError: {
|
|
26
|
+
1000: {
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
29
|
+
1001: {
|
|
30
|
+
message: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* BufferWriterError: 1010-1019
|
|
35
|
+
*/
|
|
36
|
+
export declare const BufferWriterError: {
|
|
37
|
+
1010: {
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* TtlConfigurableError: 1020-1029
|
|
43
|
+
*/
|
|
44
|
+
export declare const TtlConfigurableError: {
|
|
45
|
+
1020: {
|
|
46
|
+
message: string;
|
|
47
|
+
};
|
|
48
|
+
1021: {
|
|
49
|
+
message: string;
|
|
50
|
+
};
|
|
51
|
+
1022: {
|
|
52
|
+
message: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* OwnableError: 1030-1039
|
|
57
|
+
*/
|
|
58
|
+
export declare const OwnableError: {
|
|
59
|
+
1030: {
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
62
|
+
1031: {
|
|
63
|
+
message: string;
|
|
64
|
+
};
|
|
65
|
+
1032: {
|
|
66
|
+
message: string;
|
|
67
|
+
};
|
|
68
|
+
1033: {
|
|
69
|
+
message: string;
|
|
70
|
+
};
|
|
71
|
+
1034: {
|
|
72
|
+
message: string;
|
|
73
|
+
};
|
|
74
|
+
1035: {
|
|
75
|
+
message: string;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* BytesExtError: 1040-1049
|
|
80
|
+
*/
|
|
81
|
+
export declare const BytesExtError: {
|
|
82
|
+
1040: {
|
|
83
|
+
message: string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* UpgradeableError: 1050-1059
|
|
88
|
+
*/
|
|
89
|
+
export declare const UpgradeableError: {
|
|
90
|
+
1050: {
|
|
91
|
+
message: string;
|
|
92
|
+
};
|
|
93
|
+
1051: {
|
|
94
|
+
message: string;
|
|
95
|
+
};
|
|
96
|
+
1052: {
|
|
97
|
+
message: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* MultisigError: 1060-1069
|
|
102
|
+
*/
|
|
103
|
+
export declare const MultisigError: {
|
|
104
|
+
1060: {
|
|
105
|
+
message: string;
|
|
106
|
+
};
|
|
107
|
+
1061: {
|
|
108
|
+
message: string;
|
|
109
|
+
};
|
|
110
|
+
1062: {
|
|
111
|
+
message: string;
|
|
112
|
+
};
|
|
113
|
+
1063: {
|
|
114
|
+
message: string;
|
|
115
|
+
};
|
|
116
|
+
1064: {
|
|
117
|
+
message: string;
|
|
118
|
+
};
|
|
119
|
+
1065: {
|
|
120
|
+
message: string;
|
|
121
|
+
};
|
|
122
|
+
1066: {
|
|
123
|
+
message: string;
|
|
124
|
+
};
|
|
125
|
+
1067: {
|
|
126
|
+
message: string;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
export type MultisigStorage = {
|
|
130
|
+
tag: "Signers";
|
|
131
|
+
values: void;
|
|
132
|
+
} | {
|
|
133
|
+
tag: "Threshold";
|
|
134
|
+
values: void;
|
|
135
|
+
};
|
|
136
|
+
export type OwnableStorage = {
|
|
137
|
+
tag: "Owner";
|
|
138
|
+
values: void;
|
|
139
|
+
} | {
|
|
140
|
+
tag: "PendingOwner";
|
|
141
|
+
values: void;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* TTL configuration: threshold (when to extend) and extend_to (target TTL).
|
|
145
|
+
*/
|
|
146
|
+
export interface TtlConfig {
|
|
147
|
+
/**
|
|
148
|
+
* Target TTL after extension (in ledgers).
|
|
149
|
+
*/
|
|
150
|
+
extend_to: u32;
|
|
151
|
+
/**
|
|
152
|
+
* TTL threshold that triggers extension (in ledgers).
|
|
153
|
+
*/
|
|
154
|
+
threshold: u32;
|
|
155
|
+
}
|
|
156
|
+
export type TtlConfigStorage = {
|
|
157
|
+
tag: "Frozen";
|
|
158
|
+
values: void;
|
|
159
|
+
} | {
|
|
160
|
+
tag: "Instance";
|
|
161
|
+
values: void;
|
|
162
|
+
} | {
|
|
163
|
+
tag: "Persistent";
|
|
164
|
+
values: void;
|
|
165
|
+
};
|
|
166
|
+
export type UpgradeableStorage = {
|
|
167
|
+
tag: "Frozen";
|
|
168
|
+
values: void;
|
|
169
|
+
} | {
|
|
170
|
+
tag: "Migrating";
|
|
171
|
+
values: void;
|
|
172
|
+
};
|
|
7
173
|
export interface Client {
|
|
174
|
+
/**
|
|
175
|
+
* 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.
|
|
176
|
+
* Upgrades a target contract without custom migration data.
|
|
177
|
+
*
|
|
178
|
+
* This is a convenience wrapper that calls `upgrade_and_migrate` with empty migration data.
|
|
179
|
+
*
|
|
180
|
+
* # Arguments
|
|
181
|
+
* * `contract_address` - The address of the contract to upgrade
|
|
182
|
+
* * `wasm_hash` - The hash of the new WASM bytecode
|
|
183
|
+
*/
|
|
184
|
+
upgrade: ({ contract_address, wasm_hash }: {
|
|
185
|
+
contract_address: string;
|
|
186
|
+
wasm_hash: Buffer;
|
|
187
|
+
}, txnOptions?: {
|
|
188
|
+
/**
|
|
189
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
190
|
+
*/
|
|
191
|
+
fee?: number;
|
|
192
|
+
/**
|
|
193
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
194
|
+
*/
|
|
195
|
+
timeoutInSeconds?: number;
|
|
196
|
+
/**
|
|
197
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
198
|
+
*/
|
|
199
|
+
simulate?: boolean;
|
|
200
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
8
201
|
/**
|
|
9
202
|
* Construct and simulate a upgrade_and_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.
|
|
10
|
-
*
|
|
203
|
+
* Upgrades a target contract and runs its migration in a single transaction.
|
|
11
204
|
*
|
|
12
205
|
* The caller must be authorized as the authorizer of the target contract.
|
|
13
206
|
* This is enforced by the target contract's `#[only_auth]` check.
|
|
14
207
|
*
|
|
15
|
-
* This is useful for atomic upgrades where you want to ensure the migration
|
|
16
|
-
* happens immediately after the upgrade, or the entire operation fails.
|
|
17
|
-
*
|
|
18
208
|
* # Arguments
|
|
19
209
|
* * `contract_address` - The address of the contract to upgrade
|
|
20
210
|
* * `wasm_hash` - The hash of the new WASM bytecode
|
|
21
|
-
* * `migration_data` -
|
|
22
|
-
*
|
|
211
|
+
* * `migration_data` - XDR-encoded bytes to pass to the migrate function.
|
|
212
|
+
* Use `value.to_xdr(&env)` to encode the target contract's MigrationData type.
|
|
23
213
|
*
|
|
24
214
|
* # Example
|
|
25
215
|
* ```ignore
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* &env,
|
|
29
|
-
* 42u32.into_val(&env),
|
|
30
|
-
* true.into_val(&env),
|
|
31
|
-
* ];
|
|
32
|
-
* upgrader.upgrade_and_migrate(&contract_addr, &wasm_hash, migration_data);
|
|
216
|
+
* let migration_data = my_data.to_xdr(&env);
|
|
217
|
+
* upgrader.upgrade_and_migrate(&contract_addr, &wasm_hash, &migration_data);
|
|
33
218
|
* ```
|
|
34
219
|
*/
|
|
35
220
|
upgrade_and_migrate: ({ contract_address, wasm_hash, migration_data }: {
|
|
36
221
|
contract_address: string;
|
|
37
222
|
wasm_hash: Buffer;
|
|
38
|
-
migration_data:
|
|
223
|
+
migration_data: Buffer;
|
|
39
224
|
}, txnOptions?: {
|
|
40
225
|
/**
|
|
41
226
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -65,6 +250,7 @@ export declare class Client extends ContractClient {
|
|
|
65
250
|
}): Promise<AssembledTransaction<T>>;
|
|
66
251
|
constructor(options: ContractClientOptions);
|
|
67
252
|
readonly fromJSON: {
|
|
253
|
+
upgrade: (json: string) => AssembledTransaction<null>;
|
|
68
254
|
upgrade_and_migrate: (json: string) => AssembledTransaction<null>;
|
|
69
255
|
};
|
|
70
256
|
}
|