@layerzerolabs/protocol-stellar-v2 0.2.21 → 0.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +347 -271
- package/.turbo/turbo-lint.log +277 -208
- package/.turbo/turbo-test.log +1700 -1370
- package/Cargo.lock +22 -51
- package/Cargo.toml +6 -1
- package/contracts/common-macros/src/auth.rs +10 -9
- package/contracts/common-macros/src/contract_ttl.rs +1 -4
- package/contracts/common-macros/src/error.rs +1 -3
- package/contracts/common-macros/src/lib.rs +65 -61
- package/contracts/common-macros/src/storage.rs +212 -65
- package/contracts/common-macros/src/tests/auth.rs +75 -6
- package/contracts/common-macros/src/tests/contract_ttl.rs +383 -350
- package/contracts/common-macros/src/tests/error.rs +9 -21
- package/contracts/common-macros/src/tests/lz_contract.rs +80 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +28 -1
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +8 -43
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +6 -29
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +31 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +8 -0
- package/contracts/common-macros/src/tests/storage/extract_fields.rs +87 -0
- package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +223 -0
- package/contracts/common-macros/src/tests/storage/gen_args.rs +65 -0
- package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +78 -0
- package/contracts/common-macros/src/tests/storage/gen_key.rs +108 -0
- package/contracts/common-macros/src/tests/storage/gen_params.rs +105 -0
- package/contracts/common-macros/src/tests/{storage.rs → storage/generate_storage.rs} +54 -129
- package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +48 -0
- package/contracts/common-macros/src/tests/storage/mod.rs +16 -0
- package/contracts/common-macros/src/tests/storage/parse_default.rs +164 -0
- package/contracts/common-macros/src/tests/storage/parse_name.rs +159 -0
- package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +124 -0
- package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +174 -0
- package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +412 -0
- package/contracts/common-macros/src/tests/storage/storage_kind.rs +39 -0
- package/contracts/common-macros/src/tests/storage/test_setup.rs +25 -0
- package/contracts/common-macros/src/tests/storage/validate_attrs.rs +138 -0
- package/contracts/common-macros/src/tests/storage/variant_config.rs +226 -0
- package/contracts/common-macros/src/tests/test_helpers.rs +4 -10
- package/contracts/common-macros/src/tests/ttl_configurable.rs +2 -2
- package/contracts/common-macros/src/tests/ttl_extendable.rs +32 -0
- package/contracts/common-macros/src/tests/upgradeable.rs +118 -2
- package/contracts/common-macros/src/ttl_configurable.rs +1 -4
- package/contracts/common-macros/src/upgradeable.rs +21 -3
- package/contracts/endpoint-v2/Cargo.toml +0 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +37 -17
- package/contracts/endpoint-v2/src/errors.rs +26 -1
- package/contracts/endpoint-v2/src/interfaces/layerzero_endpoint_v2.rs +1 -1
- package/contracts/endpoint-v2/src/interfaces/message_lib_manager.rs +4 -4
- package/contracts/endpoint-v2/src/interfaces/messaging_composer.rs +2 -2
- package/contracts/endpoint-v2/src/lib.rs +0 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +39 -8
- package/contracts/endpoint-v2/src/messaging_channel.rs +36 -4
- package/contracts/endpoint-v2/src/messaging_composer.rs +18 -4
- package/contracts/endpoint-v2/src/storage.rs +9 -1
- package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +4 -3
- package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +7 -2
- package/contracts/endpoint-v2/src/tests/messaging_composer/mod.rs +4 -0
- package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +7 -2
- package/contracts/layerzero-views/src/layerzero_view.rs +0 -1
- package/contracts/layerzero-views/src/tests/mod.rs +1 -0
- package/contracts/layerzero-views/src/tests/types_tests.rs +31 -0
- package/contracts/layerzero-views/src/types.rs +2 -3
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +61 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +97 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +99 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +5 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +86 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +47 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +77 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +114 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +105 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +242 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +9 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +54 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +13 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +70 -1
- package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +219 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +41 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +48 -16
- package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +10 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +96 -3
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +4 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +64 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +16 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +305 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +59 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +88 -0
- package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +83 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +22 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +86 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +45 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +34 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +49 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +19 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +1 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -8
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +7 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +13 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +38 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +14 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/{minimal_contract.rs → basic.rs} +2 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +32 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +23 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +21 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +29 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +79 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +35 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +29 -0
- package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_multisig.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +11 -0
- package/contracts/message-libs/blocked-message-lib/Cargo.toml +1 -1
- package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -1
- package/contracts/message-libs/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +108 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/mod.rs +4 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/setup.rs +40 -0
- package/contracts/message-libs/simple-message-lib/src/lib.rs +1 -1
- package/contracts/message-libs/simple-message-lib/src/tests/mod.rs +2 -0
- package/contracts/message-libs/simple-message-lib/src/tests/setup.rs +124 -0
- package/contracts/message-libs/simple-message-lib/src/tests/simple_message_lib_tests.rs +309 -0
- package/contracts/message-libs/uln-302/src/errors.rs +21 -0
- package/contracts/message-libs/uln-302/src/interfaces/receive_uln.rs +1 -1
- package/contracts/message-libs/uln-302/src/receive_uln.rs +6 -4
- package/contracts/message-libs/uln-302/src/send_uln.rs +15 -6
- package/contracts/message-libs/uln-302/src/storage.rs +5 -5
- package/contracts/message-libs/uln-302/src/tests/uln302/get_config.rs +71 -0
- package/contracts/message-libs/uln-302/src/tests/uln302/mod.rs +1 -0
- package/contracts/message-libs/uln-302/src/uln302.rs +3 -0
- package/contracts/oapps/counter/Cargo.toml +2 -0
- package/contracts/oapps/counter/integration_tests/mod.rs +1 -0
- package/contracts/oapps/counter/integration_tests/setup_sml.rs +6 -4
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +12 -5
- package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +67 -0
- package/contracts/oapps/counter/src/tests/mod.rs +1 -0
- package/contracts/oapps/counter/src/tests/test_u256_ext.rs +48 -0
- package/contracts/oapps/oapp/src/lib.rs +0 -3
- package/contracts/oapps/oapp/src/tests/mod.rs +1 -0
- package/contracts/oapps/oft/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft/src/lib.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +240 -0
- package/contracts/oapps/oft/src/tests/extensions/pausable.rs +141 -0
- package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +447 -0
- package/contracts/oapps/oft/src/tests/mod.rs +2 -0
- package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +180 -0
- package/contracts/oapps/oft/src/tests/oft_types/mod.rs +1 -0
- package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft-core/src/lib.rs +2 -2
- package/contracts/oapps/oft-core/src/tests/mod.rs +1 -1
- package/contracts/oapps/oft-core/src/tests/{test_oft_version.rs → test_oft_version_and_approval.rs} +9 -0
- package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -43
- package/contracts/upgrader/src/tests/test_upgrader.rs +18 -0
- package/contracts/utils/src/auth.rs +2 -2
- package/contracts/utils/src/buffer_reader.rs +61 -10
- package/contracts/utils/src/buffer_writer.rs +35 -20
- package/contracts/utils/src/bytes_ext.rs +1 -2
- package/contracts/utils/src/errors.rs +5 -3
- package/contracts/utils/src/multisig.rs +59 -36
- package/contracts/utils/src/option_ext.rs +3 -3
- package/contracts/utils/src/ownable.rs +12 -6
- package/contracts/utils/src/tests/auth.rs +179 -0
- package/contracts/utils/src/tests/buffer_reader.rs +203 -1
- package/contracts/utils/src/tests/buffer_writer.rs +176 -5
- package/contracts/utils/src/tests/mod.rs +2 -0
- package/contracts/utils/src/tests/multisig.rs +170 -141
- package/contracts/utils/src/tests/option_ext.rs +1 -1
- package/contracts/utils/src/tests/ownable.rs +156 -161
- package/contracts/utils/src/tests/test_helper.rs +21 -1
- package/contracts/utils/src/tests/testing_utils.rs +84 -2
- package/contracts/utils/src/tests/ttl_configurable.rs +66 -86
- package/contracts/utils/src/tests/ttl_extendable.rs +64 -0
- package/contracts/utils/src/tests/upgradeable.rs +115 -6
- package/contracts/utils/src/ttl_configurable.rs +22 -12
- package/contracts/utils/src/ttl_extendable.rs +1 -3
- package/contracts/utils/src/upgradeable.rs +21 -24
- package/contracts/workers/dvn/src/auth.rs +1 -1
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/storage.rs +1 -1
- package/contracts/workers/dvn/src/tests/auth.rs +136 -3
- package/contracts/workers/dvn/src/tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/setup.rs +4 -10
- package/contracts/workers/executor-helper/src/tests/executor_helper.rs +279 -0
- package/contracts/workers/executor-helper/src/tests/setup.rs +106 -1
- package/contracts/workers/worker/src/worker.rs +1 -1
- package/docs/oft-guide.md +5 -5
- package/package.json +5 -7
- package/sdk/.turbo/turbo-test.log +662 -466
- package/sdk/LICENSE +23 -0
- package/sdk/dist/generated/bml.d.ts +101 -106
- package/sdk/dist/generated/bml.js +108 -26
- package/sdk/dist/generated/counter.d.ts +123 -484
- package/sdk/dist/generated/counter.js +103 -25
- package/sdk/dist/generated/dvn.d.ts +141 -699
- package/sdk/dist/generated/dvn.js +106 -28
- package/sdk/dist/generated/dvn_fee_lib.d.ts +31 -248
- package/sdk/dist/generated/dvn_fee_lib.js +27 -24
- package/sdk/dist/generated/endpoint.d.ts +158 -836
- package/sdk/dist/generated/endpoint.js +107 -29
- package/sdk/dist/generated/executor.d.ts +139 -671
- package/sdk/dist/generated/executor.js +106 -28
- package/sdk/dist/generated/executor_fee_lib.d.ts +109 -264
- package/sdk/dist/generated/executor_fee_lib.js +106 -28
- package/sdk/dist/generated/executor_helper.d.ts +95 -92
- package/sdk/dist/generated/executor_helper.js +103 -25
- package/sdk/dist/generated/layerzero_view.d.ts +178 -335
- package/sdk/dist/generated/layerzero_view.js +172 -33
- package/sdk/dist/generated/oft.d.ts +137 -680
- package/sdk/dist/generated/oft.js +103 -25
- package/sdk/dist/generated/price_feed.d.ts +45 -444
- package/sdk/dist/generated/price_feed.js +27 -24
- package/sdk/dist/generated/sml.d.ts +119 -428
- package/sdk/dist/generated/sml.js +103 -25
- package/sdk/dist/generated/treasury.d.ts +109 -288
- package/sdk/dist/generated/treasury.js +103 -25
- package/sdk/dist/generated/uln302.d.ts +190 -527
- package/sdk/dist/generated/uln302.js +170 -31
- package/sdk/dist/generated/upgrader.d.ts +14 -34
- package/sdk/dist/generated/upgrader.js +24 -21
- package/sdk/package.json +3 -4
- package/sdk/test/counter-sml.test.ts +218 -142
- package/sdk/test/counter-uln.test.ts +189 -145
- package/sdk/test/oft-sml.test.ts +173 -156
- package/sdk/test/suites/constants.ts +7 -1
- package/sdk/test/suites/globalSetup.ts +140 -74
- package/sdk/turbo.json +1 -1
- package/tools/ts-bindings-gen/Cargo.toml +4 -4
- package/tools/ts-bindings-gen/src/main.rs +4 -0
- package/turbo.json +3 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +0 -1072
- package/contracts/endpoint-v2/src/constants.rs +0 -52
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +0 -26
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +0 -21
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +0 -19
- package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +0 -15
- package/contracts/message-libs/simple-message-lib/src/test.rs +0 -280
- package/contracts/oapps/oapp/src/macro_tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/multisig/mod.rs +0 -3
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +0 -132
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +0 -109
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +0 -106
- /package/contracts/oapps/oapp/src/{macro_tests → tests}/test_macros.rs +0 -0
|
@@ -6,14 +6,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
|
|
|
6
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
7
7
|
/**
|
|
8
8
|
* Embedded WASM bytecode (base64-encoded)
|
|
9
|
-
* Size:
|
|
9
|
+
* Size: 33115 bytes (32.34 KB)
|
|
10
10
|
*/
|
|
11
|
-
export declare const WASM_BASE64 = "AGFzbQEAAAABlgEaYAR+fn5+AX5gAn5+AX5gA35+fgF+YAF+AX5gAAF+YAN/f38AYAF/AX5gAn9/AGACfn4Bf2ACf34AYAN/fn4AYAABf2ABfwBgAX8Bf2AAAGACfn8AYAF+AGACfn8BfmAEf39/fwF+YAV+f39/fwBgAn9/AX5gAX4Bf2AFf39/fn4AYAJ+fgBgBH9+fn8AYAV/fn5+fgACowEbAWwBNwAAAWwBMQABAWwBXwACAWEBMAADAWwBMgABAXgBMQABAXYBMwADAXYBMQABAWkBNgABAWIBOAADAWwBNgADAWIBMAADAWkBXwADAWkBMAADAWkBMwABAWkBNQADAWkBNAADAXYBZwABAWIBagABAW0BOQACAW0BYQAAAXgBMAABAXgBMwAEAXgBOAAEAWwBMAABAWwBOAABAXgBNQADA3FwBQYHCAkKAQsMBw0LBg4EBAwPDgwQBgwRCRIGBwEFCQoJEwkBEBQDAwMDDA4BEAkHAQEDFQQMBAwDDRYHDBYIAAwKBAMEAQcHEAMMAwQHBAQEBAMXAQ4LCgQOBAEBCQYEBxQEBA4FCQUGBwUYGBkZGQUDAQARBiEEfwFBgIDAAAt/AEGshMAAC38AQc+GwAALfwBB0IbAAAsHpwUkBm1lbW9yeQIAEXNldF9wcmljZV91cGRhdGVyAD4bc2V0X3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAEIgc2V0X2FyYml0cnVtX2NvbXByZXNzaW9uX3BlcmNlbnQAQxVzZXRfZWlkX3RvX21vZGVsX3R5cGUARAlzZXRfcHJpY2UARxZzZXRfcHJpY2VfZm9yX2FyYml0cnVtAEsac2V0X25hdGl2ZV90b2tlbl9wcmljZV91c2QATBBpc19wcmljZV91cGRhdGVyAE0cYXJiaXRydW1fY29tcHJlc3Npb25fcGVyY2VudABPEmFyYml0cnVtX3ByaWNlX2V4dABREWVpZF90b19tb2RlbF90eXBlAFMTZXN0aW1hdGVfZmVlX2J5X2VpZABaFm5hdGl2ZV90b2tlbl9wcmljZV91c2QAXQlnZXRfcHJpY2UAXhtnZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAXw1fX2NvbnN0cnVjdG9yAGAHdXBncmFkZQBkB21pZ3JhdGUAZgZmcmVlemUAZwlpc19mcm96ZW4AaQphdXRob3JpemVyAGoFb3duZXIAaw1wZW5kaW5nX293bmVyAGwSdHJhbnNmZXJfb3duZXJzaGlwAG0acHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAbxBhY2NlcHRfb3duZXJzaGlwAHMScmVub3VuY2Vfb3duZXJzaGlwAHUTZXh0ZW5kX2luc3RhbmNlX3R0bAB2D3NldF90dGxfY29uZmlncwB3C3R0bF9jb25maWdzAHoSZnJlZXplX3R0bF9jb25maWdzAH0VaXNfdHRsX2NvbmZpZ3NfZnJvemVuAH4BXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCrKBAXAlACAAEJyAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQgICAgAAaC4QDAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAOBwABAgMEBQYACyABQaCCwIAAQRUQuICAgAAgASgCAA0HIAEgASkDCBC5gICAAAwGCyABQbWCwIAAQQwQuICAgAAgASgCAA0GIAEgASkDCCAAKQMIELqAgIAADAULIAFBwYLAgABBERC4gICAACABKAIADQUgASABKQMIIAA1AgRCIIZCBIQQuoCAgAAMBAsgAUHSgsCAAEEQELiAgIAAIAEoAgANBCABIAEpAwgQuYCAgAAMAwsgAUHigsCAAEEOELiAgIAAIAEoAgANAyABIAEpAwgQuYCAgAAMAgsgAUHwgsCAAEEaELiAgIAAIAEoAgANAiABIAEpAwgQuYCAgAAMAQsgAUGKg8CAAEEOELiAgIAAIAEoAgANASABIAEpAwggADUCBEIghkIEhBC6gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC40BAgF/AX4jgICAgABBIGsiAiSAgICAAAJAAkACQCABEJyAgIAAIgNCAhCegICAAA0AQgAhAwwBCyACIANCAhCBgICAABCfgICAACACKAIAQQFGDQEgAikDECEDIAAgAikDGDcDGCAAIAM3AxBCASEDCyAAIAM3AwAgAEIANwMIIAJBIGokgICAgAAPCwALDwAgACABEJiAgIAAQgFRC3sCAX8BfgJAAkACQCABp0H/AXEiAkHEAEYNACACQQpHDQFCACEDIABCADcDGCAAIAFCCIg3AxAMAgsgARCPgICAACEDIAEQkICAgAAhASAAIAM3AxggACABNwMQQgAhAwwBCyAAQoOQgICAATcDCEIBIQMLIAAgAzcDAAsdACAAEJyAgIAAIAEgAhChgICAAEICEIKAgIAAGgtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ3ICAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABC1gBAn8jgICAgABBEGsiACSAgICAACAAQQRqEKOAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBCkgICAAAtBABClgICAACEBIABBEGokgICAgAAgAUH9AXELDAAgAEEBEISBgIAACxsAIACtQiCGQgSEIAGtQiCGQgSEEJmAgIAAGgtHAgF/AX5BAiEBAkAgABCDgYCAACICQgIQnoCAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAQuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahCjgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQpICAgAALQQAhAQJAQQAQp4CAgAAiAkICEJ6AgIAARQ0AQQEhAQJAAkAgAkICEIGAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFBrobAgABBBhC4gICAACABKAIADQMgASABKQMIELmAgIAADAILIAFBtIbAgABBCBC4gICAACABKAIADQIgASABKQMIELmAgIAADAELIAFBvIbAgABBChC4gICAACABKAIADQEgASABKQMIELmAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAQqYCAgAAQg4CAgAAaC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQo4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKSAgIAACyAAEKuAgIAAIAApAwghASAAKQMAQYoIEKyAgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAEKuAgIAAIAApAwghASAAKQMAQYoIEKyAgIAAIAEQg4CAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCjgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQpICAgAALIAAQsYCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EK+AgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABCugICAAAJAIAApAwBQDQBCg4CAgLCBARCvgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQo4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKSAgIAAC0IAIQICQAJAQQEQsICAgAAiA0IAEJ6AgIAARQ0AIANCABCBgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEJqAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBwYXAgABBDBC4gICAACABKAIADQIgASABKQMIELmAgIAADAELIAFBvIXAgABBBRC4gICAACABKAIADQEgASABKQMIELmAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQsICAgAAiAkICEJ6AgIAARQ0AIAJCAhCBgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALaQEBfyOAgICAAEEgayICJICAgIAAIAJBEGogABCzgICAAAJAIAIoAhBBAUcNAAALIAIgAikDGDcDCCACIAGtQiCGQgSENwMAQcCBwIAAQQIgAkECELSAgIAAIQAgAkEgaiSAgICAACAACzsAAkACQCABQv//////////AFYNACABQgiGQgaEIQEMAQsgARCMgICAACEBCyAAQgA3AwAgACABNwMICy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQk4CAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAELaAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgutAQIBfwN+I4CAgIAAQSBrIgIkgICAgAAgATUCGCEDIAJBCGogASkDEBCzgICAAEIBIQQCQCACKAIIDQAgAikDECEFIAJBCGogASkDACABKQMIENyAgIAAIAIoAggNACACIAIpAxA3AxggAiAFNwMQIAIgA0IghkIEhDcDCCAAQcCDwIAAQQMgAkEIakEDELSAgIAANwMIQgAhBAsgACAENwMAIAJBIGokgICAgAALDQAgAUICIACnQQFxGwtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhCAgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQ/ICAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEPyAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC7gBAgJ/AX4jgICAgABBIGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IBIQQCQCABQv8Bg0LMAFINACABQcCBwIAAQQIgAkECELyAgIAAIAIpAwAiAUL/AYNCBFINACACQRBqIAIpAwgQvYCAgAAgAigCEA0AIAIpAxghBCAAIAFCIIinNgIQIAAgBDcDCEIAIQQLIAAgBDcDACACQSBqJICAgIAACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCUgICAABoLXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCNgICAACEBCyAAIAM3AwAgACABNwMIC/IBAQJ/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNABCogICAACACEKOAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBCkgICAAAsCQAJAIANBAXENACACQQE2AgAgAiAANwMIIAIQnICAgABCARCEgICAABoMAQsgABC/gICAAAtBgIDAgABBERDAgICAABDBgICAACEBIAIgADcDCCACIAOtNwMAIAFBoIDAgABBAiACQQIQtICAgAAQhYCAgAAaIAJBEGokgICAgABCAg8LAAtrAQF/I4CAgIAAQSBrIgEkgICAgAAgASAANwMIIAFBATYCACABEJyAgIAAQgFCARCCgICAABogAUEUahDFgICAAAJAIAEoAhRBAUcNACABIAEoAhggASgCHBCbgICAAAsgAUEgaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARCAgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEPyAgIAAIQAgAUEQaiSAgICAACAAC6MBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQn4CAgAACQAJAIAEoAgBBAUYNACABKQMYIQAgASkDECECEKiAgIAAIAEQo4CAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEKSAgIAACyACIACEQgBRDQEgAUEANgIAIAEgAiAAEKCAgIAAIAFBIGokgICAgABCAg8LAAtCg4CAgBAQr4CAgAAAC4kBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQn4CAgAACQCABKAIAQQFGDQAgASkDGCEAIAEpAxAhAhCogICAACABEKOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCkgICAAAsgAUEFNgIAIAEgAiAAEKCAgIAAIAFBIGokgICAgABCAg8LAAuXAwUBfwN+AX8BfgF/I4CAgIAAQSBrIgEkgICAgAACQCAAQv8Bg0LLAFINABCogICAACABEKOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCkgICAAAsgABCGgICAAEIgiCECQgAhAwNAAkACQAJAIAMgAlENACAAIANCIIZCBIQQh4CAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALC0EDIQUgBEL/AYNCzABSDQEgBEGQgsCAAEECIAFBAhC8gICAACABKQMAIgRC/wGDQgRSDQEgASkDCCIGQv8Bg0IEUg0CIARCIIinIQcgBkIgiKciBUEDIAVBA0kbIQUMAgsgAUEgaiSAgICAAEICDwsLAkAgA0L/////D1ENACAFQQNGDQAgAUEGNgIAIAEgBzYCBCABEJyAgIAAIAWtQiCGQgSEQgEQgoCAgAAaIAFBFGoQxYCAgAACQCABKAIUQQFHDQAgASABKAIYIAEoAhwQm4CAgAALIANCAXwhAwwBCwsQxoCAgAAACwALDAAgAEECEISBgIAACwkAEP+AgIAAAAuoBAUBfwF+An8BfgR/I4CAgIAAQYABayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdAAahCjgICAAAJAIAIoAlBBAUcNACACKAJUIAIoAlgQpICAgAALIAAQyICAgAAgARCGgICAAEIgiCEDQgAhACACQdAAakEQaiIEQQhqIQUCQANAIAAgA1ENASABIABCIIZCBIQQh4CAgAAhBkEAIQcCQANAIAdBEEYNASACQcAAaiAHakICNwMAIAdBCGohBwwACwtBASEIAkACQCAGQv8Bg0LMAFENAAwBCyAGQdSBwIAAQQIgAkHAAGpBAhC8gICAACACKQNAIgZC/wGDQgRSDQAgAkHQAGogAikDSBDJgICAACACKAJQIghBAXENACAGQiCIpyEHIAJBIGpBGGogBEEYaikDADcDACACQSBqQRBqIARBEGopAwA3AwAgAiAEKQMANwMgIAIgBSkDADcDKAsgAEL/////D1ENAyACQRhqIgkgAkEgakEYaikDADcDACACQRBqIgogAkEgakEQaikDADcDACACIAIpAyg3AwggAiACKQMgNwMAIAhBAXENAyACQdAAakEYaiAJKQMANwMAIAQgCikDADcDACACIAIpAwg3A1ggAiACKQMANwNQIAIgBzYCcCAHIAJB0ABqEMqAgIAAIABCAXwhAAwACwsgAkGAAWokgICAgABCAg8LAAsQxoCAgAAAC20BAX8jgICAgABBEGsiASSAgICAACAAEIOAgIAAGiABEKuAgIAAAkACQAJAIAEoAgBBAUcNACABKQMIIAAQ2YCAgAANAQsgABDOgICAAEUNAQsgAUEQaiSAgICAAA8LQoOAgIDAABCvgICAAAALgQICAn8DfiOAgICAAEHAAGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHAg8CAAEEDIAJBCGpBAxC8gICAACACKQMIIgFC/wGDQgRSDQAgAkEgaiACKQMQEL2AgIAAIAIoAiANACACKQMoIQYgAkEgaiACKQMYEJ+AgIAAIAIoAiBBAUYNACACKQMwIQQgACACKQM4NwMYIAAgBDcDECAAIAFCIIinNgIoIAAgBjcDIEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBwABqJICAgIAAC4ICAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkECNgIAIAIgADYCBCACEJyAgIAAIAEQtYCAgABCARCCgICAABogAkEwahDFgICAAAJAIAIoAjBBAUcNACACIAIoAjQgAigCOBCbgICAAAsgAkEQaiABQRBqKQMANwMAIAJBGGogAUEYaikDADcDACACIAEpAwA3AwAgAiABQQhqKQMANwMIIAIgADYCIEGwgMCAAEENEMCAgIAAEMGAgIAAIQMgAiACELWAgIAANwM4IAIgAK1CIIZCBIQ3AzAgA0HMgMCAAEECIAJBMGpBAhC0gICAABCFgICAABogAkHAAGokgICAgAAL5AMDAn8BfgF/I4CAgIAAQZABayICJICAgIAAAkAgAEL/AYNCzQBSDQBBACEDAkADQCADQRhGDQEgAkHIAGogA2pCAjcDACADQQhqIQMMAAsLIAFC/wGDQswAUg0AIAFB7IHAgABBAyACQcgAakEDELyAgIAAIAIpA0giBEL/AYNCBFINACACIAIpA1AQu4CAgAAgAigCAEEBRg0AIAIoAhAhAyACKQMIIQEgAkHgAGogAikDWBDJgICAACACKAJgQQFxDQAgAkEYaiACQYgBaikDADcDACACQRBqIAJBgAFqKQMANwMAIAIgAikDcDcDACACIAJB4ABqQRhqKQMANwMIIAIgBEIgiKciBTYCMCACIAM2AiggAiABNwMgIAJB4ABqEKOAgIAAAkAgAigCYEEBRw0AIAIoAmQgAigCaBCkgICAAAsgABDIgICAACAFIAIQyoCAgAAgAkEDNgJgIAJB4ABqEJyAgIAAIAEgAxCygICAAEICEIKAgIAAGkHcgMCAAEEaEMCAgIAAEMGAgIAAIQAgASADELKAgIAAIQEgAiAFrUIghkIEhDcDaCACIAE3A2AgAEGIgcCAAEEC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IQIgBEGgAWogCCAHENyAgIAAIAQoAqABDQAgBCkDqAEhAwJAAkAgAEKAgICAgICAwAB8Qv//////////AFYNACAAIACFIAEgAEI/h4WEQgBSDQAgAEIIhkILhCEADAELIAEgABCIgICAACEACyAEIAA3A4gBIAQgAzcDgAEgBCACNwN4IAQgCTcDcEGMhMCAAEEEIARB8ABqQQQQtICAgAAhACAEQbABaiSAgICAACAADwsAC4oBAwF/AX4BfyOAgICAAEEwayIBJICAgIAAIAFBEGoQo4CAgAACQCABKAIQQQFHDQAgASgCFCABKAIYEKSAgIAACyABQQQ2AgAgAUEQaiABEJ2AgIAAIAEpAyAhAiAAIAEpAyhCACABKAIQQQFxIgMbNwMIIAAgAkIAIAMbNwMAIAFBMGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQjoCAgAAhAgsgAEIANwMAIAAgAjcDCAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENuAgIAAIAApAwAgACkDCBChgICAACEBIABBEGokgICAgAAgAQt5AQF/I4CAgIAAQcAAayIBJICAgIAAAkAgAEL/AYNCBFINACABIABCIIinENaAgIAAAkACQCABKAIAQQFxDQBCAiEADAELIAFBMGogAUEQahC2gICAACABKAIwQQFxDQEgASkDOCEACyABQcAAaiSAgICAACAADwsACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ14CAgAAgACkDACAAKQMIEKGAgIAAIQEgAEEQaiSAgICAACABC3EAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEGAyx5BgNIfEOGAgIAAQYDLHkGA0h8Q4oCAgABBABCwgICAAEICEJ6AgIAADQEgABDjgICAACABEL+AgIAAQgIPCwALQoOAgICQgQEQr4CAgAAACw4AQQEgACABEIWBgIAACw4AQQIgACABEIWBgIAACw4AQQAgAEICEPKAgIAAC6UBAQF/I4CAgIAAQRBrIgEkgICAgAACQAJAIABC/wGDQsgAUg0AIAAQiYCAgABCgICAgHCDQoCAgICABFINACABQQRqEKOAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCkgICAAAsQqICAgAAQooCAgAANAUEBEOWAgIAAIAAQioCAgAAaIAFBEGokgICAgABCAg8LAAtCg4CAgMCDARCvgICAAAALDABBASAAEOiAgIAAC60BAQF/I4CAgIAAQRBrIgEkgICAgAACQAJAAkAgAEL/AYNCyABSDQAgAUEEahCjgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQpICAgAALEKiAgIAAQQEQpYCAgABB/QFxRQ0BIAAQi4CAgABC/wGDQgJSDQJBABDlgICAACABQRBqJICAgIAAQgIPCwALQoOAgICwgwEQr4CAgAAAC0KDgICAoIMBEK+AgIAAAAtaAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCjgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQpICAgAALEKiAgIAAQQBBARDogICAACAAQRBqJICAgIAAQgILGgAgABCDgYCAACABrUL/AYNCAhCCgICAABoLCQAQooCAgACtCwgAEKmAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQq4CAgAAgACkDACAAKQMIELeAgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQroCAgAAgACkDACAAKQMIELeAgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahCjgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQpICAgAALEKqAgIAAIQIQrYCAgAAgABDjgICAACACIAAQ7oCAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQbWEwIAAQRUQwICAgAAQwYCAgAAhAyACIAA3AwggAiABNwMAIANB3ITAgABBAiACQQIQtICAgAAQhYCAgAAaIAJBEGokgICAgAAL3AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahCjgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQpICAgAALEKqAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahCugICAACACKQMQIQEgAikDCEGICBCsgICAACABIAAQ2YCAgABFDQMQ8ICAgAAMAQsQ8YCAgAAgAUIgiKdJDQNBASAAQgAQ8oCAgABBARCwgICAAEIAIAFChICAgHCDIgEgARCAgICAABpB7ITAgABBFhDAgICAABDBgICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARBiIXAgABBAyACQQhqQQMQtICAgAAQhYCAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDggAEQr4CAgAAAC0KDgICA8IABEK+AgIAAAAsTAEEBELCAgIAAQgAQhICAgAAaCzMBAn4QloCAgAAhAAJAEJeAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEMaAgIAAAAsVACAAELCAgIAAIAEgAhCCgICAABoLpwECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQo4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKSAgIAACyAAEK6AgIAAIAApAwghASAAKQMAQYgIEKyAgIAAIAEQg4CAgAAaIAAQsYCAgAACQCAAKAIADQAQ9ICAgAAACyAAKQMIIQIQ8ICAgAAgARDjgICAACACIAEQ7oCAgAAgAEEQaiSAgICAAEICCwkAEMaAgIAAAAugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABCjgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQpICAgAALEKqAgIAAIQEQrYCAgABBABCwgICAAEICEISAgIAAGkGghcCAAEETEMCAgIAAEMGAgIAAIQIgACABNwMAIAJBtIXAgABBASAAQQEQtICAgAAQhYCAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxCkgICAAEICDwsAC94EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABD4gICAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEPiAgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQo4CAgAACQCACKAIoQQFHDQAgAigCLCACKAIwEKSAgIAACxCogICAAAJAAkACQBCmgICAAA0AEPGAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEK+AgIAAAAtCg4CAgMD/ABCvgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQEOGAgIAADAELQQEQp4CAgABCAhCEgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgEOKAgIAADAELQQIQp4CAgABCAhCEgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEHohcCAAEEPEMCAgIAAEMGAgIAAIQAgAkEoahD5gICAACEBIAIgAkE0ahD5gICAADcDSCACIAE3A0AgAEGMhsCAAEECIAJBwABqQQIQtICAgAAQhYCAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEIGBgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEPuAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQo4CAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQEKSAgIAACyAAQQhqEKOAgIAAIABBFGoiARDFgICAACAAQTBqIABBCGoQ+4CAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEPuAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhD8gICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQgoGAgAAPCyAAQgA3AwAgAEICNwMICxoAIACtQiCGQgSEIAGtQiCGQgSEEJGAgIAAC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCjgICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQpICAgAALEKiAgIAAAkAQ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AAAAbW9kZWxfdHlwZQAAPQAQAAcAAAAEARAACgAAAFByaWNlUmF0aW9EZW5vbWluYXRvclByaWNlVXBkYXRlckRlZmF1bHRNb2RlbFByaWNlQXJiaXRydW1QcmljZUV4dE5hdGl2ZVByaWNlVVNEQXJiaXRydW1Db21wcmVzc2lvblBlcmNlbnRFaWRUb01vZGVsVHlwZWdhc19wZXJfYnl0ZWdhc19wcmljZV9pbl91bml0cHJpY2VfcmF0aW+YARAADAAAAKQBEAARAAAAtQEQAAsAAABuYXRpdmVfcHJpY2VfdXNkcHJpY2VfcmF0aW9fZGVub21pbmF0b3J0b3RhbF9nYXNfZmVl2AEQABAAAAC1ARAACwAAAOgBEAAXAAAA/wEQAA0AAAB0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXJKAhAACQAAAFMCEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAEoCEAAJAAAAUwIQAAkAAACCAhAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAUwIQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAzQIQAAkAAAAsAhAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAPcCEAAIAAAA/wIQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmcAp3YOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAAOUHJpY2VGZWVkRXJyb3IAAAAAAAUAAAAAAAAAEkludmFsaWREZW5vbWluYXRvcgAAAAAAAQAAAAAAAAAHTm9QcmljZQAAAAACAAAAAAAAAAxOb3RBbk9wU3RhY2sAAAADAAAAAAAAABBPbmx5UHJpY2VVcGRhdGVyAAAABAAAAAAAAAAIT3ZlcmZsb3cAAAAFAAAABQAAAAAAAAAAAAAAD1ByaWNlVXBkYXRlclNldAAAAAABAAAAEXByaWNlX3VwZGF0ZXJfc2V0AAAAAAAAAgAAAAAAAAAHdXBkYXRlcgAAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAMUHJpY2VVcGRhdGVkAAAAAQAAAA1wcmljZV91cGRhdGVkAAAAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAFcHJpY2UAAAAAAAfQAAAABVByaWNlAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXQXJiaXRydW1QcmljZUV4dFVwZGF0ZWQAAAAAAQAAABphcmJpdHJ1bV9wcmljZV9leHRfdXBkYXRlZAAAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAASYXJiaXRydW1fcHJpY2VfZXh0AAAAAAfQAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAAAAAAAgAAAAEAAAAhQXJiaXRydW0tc3BlY2lmaWMgcHJpY2UgZXh0ZW5zaW9uAAAAAAAAAAAAABBBcmJpdHJ1bVByaWNlRXh0AAAAAgAAAEFHYXMgY29zdCBwZXIgYnl0ZSBvZiBMMSBjYWxsZGF0YSAoZm9yIEFyYml0cnVtJ3MgTDEgZGF0YSBwb3N0aW5nKQAAAAAAABhnYXNfcGVyX2wxX2NhbGxkYXRhX2J5dGUAAAAEAAAAH0dhcyBvdmVyaGVhZCBwZXIgTDIgdHJhbnNhY3Rpb24AAAAADWdhc19wZXJfbDJfdHgAAAAAAAAGAAAAAQAAACVQYXJhbWV0ZXIgZm9yIHVwZGF0aW5nIGEgc2luZ2xlIHByaWNlAAAAAAAAAAAAAAtVcGRhdGVQcmljZQAAAAACAAAAF0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEAAAAAANlaWQAAAAABAAAACVQcmljZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGRlc3RpbmF0aW9uAAAAAAAABXByaWNlAAAAAAAH0AAAAAVQcmljZQAAAAAAAAEAAAA0UGFyYW1ldGVyIGZvciB1cGRhdGluZyBBcmJpdHJ1bSBwcmljZSB3aXRoIGV4dGVuc2lvbgAAAAAAAAAOVXBkYXRlUHJpY2VFeHQAAAAAAAMAAAA4RGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKHNob3VsZCBiZSBhbiBBcmJpdHJ1bSBlbmRwb2ludCkAAAADZWlkAAAAAAQAAAAjQXJiaXRydW0tc3BlY2lmaWMgcHJpY2luZyBleHRlbnNpb24AAAAABmV4dGVuZAAAAAAH0AAAABBBcmJpdHJ1bVByaWNlRXh0AAAAJVByaWNlIGluZm9ybWF0aW9uIGZvciB0aGUgZGVzdGluYXRpb24AAAAAAAAFcHJpY2UAAAAAAAfQAAAABVByaWNlAAAAAAAAAwAAADBGZWUgbW9kZWwgdHlwZSBmb3IgZGlmZmVyZW50IGNoYWluIGFyY2hpdGVjdHVyZXMAAAAAAAAACU1vZGVsVHlwZQAAAAAAAAMAAAAAAAAAB0RlZmF1bHQAAAAAAAAAAAAAAAAIQXJiU3RhY2sAAAABAAAAAAAAAAdPcFN0YWNrAAAAAAIAAAABAAAAL1BhcmFtZXRlciBmb3Igc2V0dGluZyBFSUQgdG8gbW9kZWwgdHlwZSBtYXBwaW5nAAAAAAAAAAAWU2V0RWlkVG9Nb2RlbFR5cGVQYXJhbQAAAAAAAgAAABdEZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAAHZHN0X2VpZAAAAAAEAAAAI0ZlZSBtb2RlbCB0eXBlIGZvciB0aGlzIGRlc3RpbmF0aW9uAAAAAAptb2RlbF90eXBlAAAAAAfQAAAACU1vZGVsVHlwZQAAAAAAAAAAAAAlU2V0IHByaWNlIHVwZGF0ZXIgc3RhdHVzIChvd25lciBvbmx5KQAAAAAAABFzZXRfcHJpY2VfdXBkYXRlcgAAAAAAAAIAAAAAAAAAB3VwZGF0ZXIAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAAsU2V0IHRoZSBwcmljZSByYXRpbyBkZW5vbWluYXRvciAob3duZXIgb25seSkAAAAbc2V0X3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAEAAAAAAAAAC2Rlbm9taW5hdG9yAAAAAAoAAAAAAAAAAAAAADRTZXQgdGhlIEFyYml0cnVtIGNvbXByZXNzaW9uIHBlcmNlbnRhZ2UgKG93bmVyIG9ubHkpAAAAIHNldF9hcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AAAAAQAAAAAAAAATY29tcHJlc3Npb25fcGVyY2VudAAAAAAKAAAAAAAAAAAAAAA4U2V0IHRoZSBmZWUgbW9kZWwgdHlwZSBmb3IgZGVzdGluYXRpb24gRUlEcyAob3duZXIgb25seSkAAAAVc2V0X2VpZF90b19tb2RlbF90eXBlAAAAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABZTZXRFaWRUb01vZGVsVHlwZVBhcmFtAAAAAAAAAAAAAAAAAD1TZXQgcHJpY2VzIGZvciBtdWx0aXBsZSBkZXN0aW5hdGlvbnMgKHByaWNlIHVwZGF0ZXIgb3Igb3duZXIpAAAAAAAACXNldF9wcmljZQAAAAAAAAIAAAAAAAAADXByaWNlX3VwZGF0ZXIAAAAAAAATAAAAAAAAAAZwcmljZXMAAAAAA+oAAAfQAAAAC1VwZGF0ZVByaWNlAAAAAAAAAAAAAAAAclNldCBwcmljZSBmb3IgQXJiaXRydW0gd2l0aCBleHRlbnNpb24gKHByaWNlIHVwZGF0ZXIgb3Igb3duZXIpCkNvcnJlc3BvbmRzIHRvIHNldFByaWNlRm9yQXJiaXRydW0gaW4gUHJpY2VGZWVkLnNvbAAAAAAAFnNldF9wcmljZV9mb3JfYXJiaXRydW0AAAAAAAIAAAAAAAAADXByaWNlX3VwZGF0ZXIAAAAAAAATAAAAAAAAAAZ1cGRhdGUAAAAAB9AAAAAOVXBkYXRlUHJpY2VFeHQAAAAAAAAAAAAAAAAAtFNldCB0aGUgbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAocHJpY2UgdXBkYXRlciBvciBvd25lcikuCgpLZXB0IGFzIGEgc3RhbmRhbG9uZSBjb250cmFjdCBmdW5jdGlvbiAobm90IHBhcnQgb2YgdGhlIGNhbm9uaWNhbCBgZmVlX2xpYl9pbnRlcmZhY2VzOjpJTGF5ZXJaZXJvUHJpY2VGZWVkYCBpbnRlcmZhY2UpLgAAABpzZXRfbmF0aXZlX3Rva2VuX3ByaWNlX3VzZAAAAAAAAgAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAAFm5hdGl2ZV90b2tlbl9wcmljZV91c2QAAAAAAAoAAAAAAAAAAAAAAC5DaGVjayBpZiBhbiBhZGRyZXNzIGlzIGFuIGFjdGl2ZSBwcmljZSB1cGRhdGVyAAAAAAAQaXNfcHJpY2VfdXBkYXRlcgAAAAEAAAAAAAAAB3VwZGF0ZXIAAAAAEwAAAAEAAAABAAAAAAAAACRHZXQgdGhlIEFyYml0cnVtIGNvbXByZXNzaW9uIHBlcmNlbnQAAAAcYXJiaXRydW1fY29tcHJlc3Npb25fcGVyY2VudAAAAAAAAAABAAAACgAAAAAAAAAgR2V0IHRoZSBBcmJpdHJ1bSBwcmljZSBleHRlbnNpb24AAAASYXJiaXRydW1fcHJpY2VfZXh0AAAAAAAAAAAAAQAAB9AAAAAQQXJiaXRydW1QcmljZUV4dAAAAAAAAAAoR2V0IHRoZSBtb2RlbCB0eXBlIGZvciBhIGRlc3RpbmF0aW9uIEVJRAAAABFlaWRfdG9fbW9kZWxfdHlwZQAAAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAfQAAAACU1vZGVsVHlwZQAAAAAAAAAAAABkRXN0aW1hdGUgZmVlIHdpdGggZGV0YWlsZWQgYnJlYWtkb3duIGJ5IGVuZHBvaW50IElECkNvcnJlc3BvbmRzIHRvIGVzdGltYXRlRmVlQnlFaWQgaW4gUHJpY2VGZWVkLnNvbAAAABNlc3RpbWF0ZV9mZWVfYnlfZWlkAAAAAAQAAAAAAAAAB2ZlZV9saWIAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAAAAAAADZ2FzAAAAAAoAAAABAAAH0AAAAAtGZWVFc3RpbWF0ZQAAAAAAAAAAIUdldCB0aGUgbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRAAAAAAAABZuYXRpdmVfdG9rZW5fcHJpY2VfdXNkAAAAAAAAAAAAAQAAAAoAAAAAAAAAJEdldCB0aGUgcHJpY2UgZm9yIGEgZGVzdGluYXRpb24gRUlELgAAAAlnZXRfcHJpY2UAAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAFUHJpY2UAAAAAAAAAAAAAIEdldCB0aGUgcHJpY2UgcmF0aW8gZGVub21pbmF0b3IuAAAAG2dldF9wcmljZV9yYXRpb19kZW5vbWluYXRvcgAAAAAAAAAAAQAAAAoAAAAAAAAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAA1wcmljZV91cGRhdGVyAAAAAAAAEwAAAAAAAAAAAAAAlVRoZSB0eXBlIG9mIGRhdGEgcmVxdWlyZWQgZm9yIG1pZ3JhdGlvbi4KVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAB2UnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KQ2FuIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIG1pZ3JhdGlvbiBmbGFnIGlzIHNldCBieSBhIHByZXZpb3VzIGB1cGdyYWRlYCBjYWxsLgAAAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAF5QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLgpUaGlzIGFjdGlvbiBpcyBpcnJldmVyc2libGUuAAAAAAAGZnJlZXplAAAAAAAAAAAAAAAAAAAAAAA7UmV0dXJucyB3aGV0aGVyIHRoZSBjb250cmFjdCBpcyBmcm96ZW4gKHVwZ3JhZGVzIGRpc2FibGVkKS4AAAAACWlzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAAAApUV4dGVuZHMgdGhlIGluc3RhbmNlIFRUTC4KCiMgQXJndW1lbnRzCgoqIGB0aHJlc2hvbGRgIC0gVGhlIHRocmVzaG9sZCB0byBleHRlbmQgdGhlIFRUTCAoaWYgY3VycmVudCBUVEwgaXMgYmVsb3cgdGhpcywgZXh0ZW5kKS4KKiBgZXh0ZW5kX3RvYCAtIFRoZSBUVEwgdG8gZXh0ZW5kIHRvLgAAAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAAAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAIAAAAAAAAAAAAAABBQcmljZUZlZWRTdG9yYWdlAAAABwAAAAAAAAAAAAAAFVByaWNlUmF0aW9EZW5vbWluYXRvcgAAAAAAAAEAAAAAAAAADFByaWNlVXBkYXRlcgAAAAEAAAATAAAAAQAAAAAAAAARRGVmYXVsdE1vZGVsUHJpY2UAAAAAAAABAAAABAAAAAAAAAAAAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAAAAAAAAAAAA5OYXRpdmVQcmljZVVTRAAAAAAAAAAAAAAAAAAaQXJiaXRydW1Db21wcmVzc2lvblBlcmNlbnQAAAAAAAEAAAAAAAAADkVpZFRvTW9kZWxUeXBlAAAAAAABAAAABAAAAAEAAADhUGFyYW1ldGVycyBmb3IgRFZOIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgdmVyaWZpY2F0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAAAAxEdm5GZWVQYXJhbXMAAAAKAAAAJ051bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIHJlcXVpcmVkLgAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpHYXMgZXN0aW1hdGUgZm9yIHZlcmlmaWNhdGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAADZ2FzAAAAAAoAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAC0RWTiBvcHRpb25zAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAACdOdW1iZXIgb2YgcmVxdWlyZWQgc2lnbmF0dXJlcyAocXVvcnVtKS4AAAAABnF1b3J1bQAAAAAABAAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAADjUGFyYW1ldGVycyBmb3IgZXhlY3V0b3IgZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBleGVjdXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAlGZWVQYXJhbXMAAAAAAAALAAAAJlNpemUgb2YgdGhlIG1lc3NhZ2UgY2FsbGRhdGEgaW4gYnl0ZXMuAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAA2QmFzZSBnYXMgZm9yIGVhY2ggbHpDb21wb3NlIGNhbGwgb24gZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAABEz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQmFzZSBnYXMgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAABNsel9yZWNlaXZlX2Jhc2VfZ2FzAAAAAAYAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAALE1heGltdW0gbmF0aXZlIHRva2VuIHZhbHVlIHRoYXQgY2FuIGJlIHNlbnQuAAAACm5hdGl2ZV9jYXAAAAAAAAoAAABGRW5jb2RlZCBleGVjdXRvciBvcHRpb25zIChselJlY2VpdmUgZ2FzLCBsekNvbXBvc2UsIG5hdGl2ZURyb3AsIGV0Yy4pLgAAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAIRHYXMgcHJpY2UgaW5mb3JtYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgpDb250YWlucyB0aGUgZXhjaGFuZ2UgcmF0ZSBhbmQgZ2FzIGNvc3RzIG5lZWRlZCBmb3IgY3Jvc3MtY2hhaW4gZmVlIGNhbGN1bGF0aW9ucy4AAAAAAAAABVByaWNlAAAAAAAAAwAAADdHYXMgY29zdCBwZXIgYnl0ZSBvZiBjYWxsZGF0YSBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAxnYXNfcGVyX2J5dGUAAAAEAAAAQkdhcyBwcmljZSBpbiB0aGUgc21hbGxlc3QgdW5pdCAod2VpIGZvciBFVk0sIHN0cm9vcHMgZm9yIFN0ZWxsYXIpLgAAAAAAEWdhc19wcmljZV9pbl91bml0AAAAAAAABgAAAKlQcmljZSByYXRpbyA9IChyZW1vdGUgbmF0aXZlIHRva2VuIHByaWNlIC8gbG9jYWwgbmF0aXZlIHRva2VuIHByaWNlKSAqIFBSSUNFX1JBVElPX0RFTk9NSU5BVE9SLgpVc2VkIHRvIGNvbnZlcnQgZGVzdGluYXRpb24gY2hhaW4gZ2FzIGNvc3RzIHRvIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAABAAAAgEZlZSBlc3RpbWF0aW9uIHJlc3VsdCB3aXRoIGRldGFpbGVkIGJyZWFrZG93bi4KCkNvbnRhaW5zIHRoZSBjYWxjdWxhdGVkIGZlZSBhbmQgYWxsIGludGVybWVkaWF0ZSB2YWx1ZXMgdXNlZCBpbiB0aGUgY2FsY3VsYXRpb24uAAAAAAAAAAtGZWVFc3RpbWF0ZQAAAAAEAAAAMFNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gcHJpY2UgaW4gVVNEIChzY2FsZWQpLgAAABBuYXRpdmVfcHJpY2VfdXNkAAAACgAAACVQcmljZSByYXRpbyB1c2VkIGZvciB0aGUgY2FsY3VsYXRpb24uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAAyRGVub21pbmF0b3IgZm9yIHRoZSBwcmljZSByYXRpbyAodHlwaWNhbGx5IDEwXjIwKS4AAAAAABdwcmljZV9yYXRpb19kZW5vbWluYXRvcgAAAAAKAAAAMVRvdGFsIGdhcyBmZWUgaW4gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiB1bml0cy4AAAAAAAANdG90YWxfZ2FzX2ZlZQAAAAAAAAsAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQLAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAMAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAAAAAAAA5VcGdyYWRlc0Zyb3plbgAAAAAEHAAAAAQAAAAYTXVsdGlzaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aXNpZ0Vycm9yAAAAAAAACAAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJQAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCYAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEJwAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCgAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKQAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCoAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQrAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4wLjEjOTQxNDQ4MDc5ZWNjZjk1NjI3ZDJmZmVhMTNiYTI2OGUzMDVhOTA3NwAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABlgEaYAJ+fgF+YAN+fn4BfmAEfn5+fgF+YAF+AX5gAAF+YAJ/fwBgAX8BfmACfn4Bf2ACf34AYAN/fn4AYAABf2AAAGABfwF/YAF/AGACfn8AYAF+AGADf39/AGACfn8BfmAEf39/fwF+YAV+f39/fwBgAn9/AX5gAX4Bf2AFf39/fn4AYAJ+fgBgBH9+fn8AYAV/fn5+fgACowEbAWwBMQAAAWwBXwABAWwBNwACAWEBMAADAWwBMgAAAXgBMQAAAXYBMwADAXYBMQAAAWkBNgAAAWIBOAADAWwBNgADAWIBMAADAWkBXwADAWkBMAADAWkBMwAAAWkBNQADAWkBNAADAXYBZwAAAWIBagAAAW0BOQABAW0BYQACAXgBMAAAAXgBMwAEAXgBOAAEAWwBMAAAAWwBOAAAAXgBNQADA3JxBQYHCAkACgsMCgYNDQsEBA0OBw8LDQYNEAgJEQgSBgUACBMIAA8UAwMDAwsADwgFAAADFQQNBA0DDBYFDRYCDQkEAwQABQUPAw0DBAUEBAQEAxcACwoJBAsEAAUACAYEDQUUBAQLEAgQBgUQGBgZGRkFAwEAEQYhBH8BQYCAwAALfwBBrITAAAt/AEGXh8AAC38AQaCHwAALB6cFJAZtZW1vcnkCABFzZXRfcHJpY2VfdXBkYXRlcgA/G3NldF9wcmljZV9yYXRpb19kZW5vbWluYXRvcgBDIHNldF9hcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AEQVc2V0X2VpZF90b19tb2RlbF90eXBlAEUJc2V0X3ByaWNlAEcWc2V0X3ByaWNlX2Zvcl9hcmJpdHJ1bQBLGnNldF9uYXRpdmVfdG9rZW5fcHJpY2VfdXNkAEwQaXNfcHJpY2VfdXBkYXRlcgBNHGFyYml0cnVtX2NvbXByZXNzaW9uX3BlcmNlbnQATxJhcmJpdHJ1bV9wcmljZV9leHQAURFlaWRfdG9fbW9kZWxfdHlwZQBTE2VzdGltYXRlX2ZlZV9ieV9laWQAWRZuYXRpdmVfdG9rZW5fcHJpY2VfdXNkAFwJZ2V0X3ByaWNlAF0bZ2V0X3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAF4NX19jb25zdHJ1Y3RvcgBfB3VwZ3JhZGUAYwdtaWdyYXRlAGUGZnJlZXplAGYJaXNf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gICAACAAELKAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQroCAgAAACw0AIAAgARCVgICAAFALCwAgABCagICAABoLQgEBfyOAgICAAEEQayIAJICAgIAAIAAQsICAgAACQCAAKQMAUA0AQoOAgIDAgQEQroCAgAAACyAAQRBqJICAgIAAC1MBAn4QooCAgABCACEBAkACQEEBELGAgIAAIgJCABCdgICAAEUNACACQgAQgICAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUGJhsCAAEEMELOAgIAAIAEoAgANAiABIAEpAwgQtICAgAAMAQsgAUGEhsCAAEEFELOAgIAAIAEoAgANASABIAEpAwgQtICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABCxgICAACICQgIQnYCAgABFDQAgAkICEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhCBgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQ/YCAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEP2AgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC2kBAX8jgICAgABBIGsiAiSAgICAACACQRBqIAAQt4CAgAACQCACKAIQQQFHDQAACyACIAIpAxg3AwggAiABrUIghkIEhDcDAEHAgcCAAEECIAJBAhC4gICAACEAIAJBIGokgICAgAAgAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQjICAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJOAgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABC6gICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILrQECAX8DfiOAgICAAEEgayICJICAgIAAIAE1AhghAyACQQhqIAEpAxAQt4CAgABCASEEAkAgAigCCA0AIAIpAxAhBSACQQhqIAEpAwAgASkDCBDbgICAACACKAIIDQAgAiACKQMQNwMYIAIgBTcDECACIANCIIZCBIQ3AwggAEHAg8CAAEEDIAJBCGpBAxC4gICAADcDCEIAIQQLIAAgBDcDACACQSBqJICAgIAACw0AIAFCAiAAp0EBcRsLuAECAn8BfiOAgICAAEEgayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBwIHAgABBAiACQQIQvYCAgAAgAikDACIBQv8Bg0IEUg0AIAJBEGogAikDCBC+gICAACACKAIQDQAgAikDGCEEIAAgAUIgiKc2AhAgACAENwMIQgAhBAsgACAENwMAIAJBIGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEJSAgIAAGgtdAgF/AX4CQAJAIAGnQf8BcSICQcAARg0AAkAgAkEGRg0AQgEhA0KDkICAgAEhAQwCCyABQgiIIQFCACEDDAELQgAhAyABEI2AgIAAIQELIAAgAzcDACAAIAE3AwgL0wEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AEKiAgIAAEKKAgIAAAkACQCADQQFxDQAgAkEBNgIAIAIgADcDCCACEJyAgIAAQgEQhICAgAAaDAELIAAQwICAgAALQYCAwIAAQREQwYCAgAAQwoCAgAAhASACIAA3AwggAiADrTcDACABQaCAwIAAQQIgAkECELiAgIAAEIWAgIAAGiACQRBqJICAgIAAQgIPCwALSQEBfyOAgICAAEEQayIBJICAgIAAIAFBATYCACABIAA3AwggARCcgICAAEIBQgEQgYCAgAAaIAEQpoCAgAAgAUEQaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARCBgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEP2AgIAAIQAgAUEQaiSAgICAACAAC4QBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQnoCAgAACQAJAIAEoAgBBAUYNACABKQMYIQAgASkDECECEKiAgIAAEKKAgIAAIAIgAIRCAFENASABQQA2AgAgASACIAAQn4CAgAAgAUEgaiSAgICAAEICDwsAC0KDgICAEBCugICAAAALaQIBfwF+I4CAgIAAQSBrIgEkgICAgAAgASAAEJ6AgIAAAkAgASgCAEEBRw0AAAsgASkDGCEAIAEpAxAhAhCogICAABCigICAACABQQU2AgAgASACIAAQn4CAgAAgAUEgaiSAgICAAEICC9YCBQF/A34BfwF+AX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQssAUg0AEKiAgIAAEKKAgIAAIAAQhoCAgABCIIghAkIAIQMDQAJAAkACQCADIAJRDQAgACADQiCGQgSEEIeAgIAAIQRBACEFAkADQCAFQRBGDQEgASAFakICNwMAIAVBCGohBQwACwtBAyEFIARC/wGDQswAUg0BIARBkILAgABBAiABQQIQvYCAgAAgASkDACIEQv8Bg0IEUg0BIAEpAwgiBkL/AYNCBFINAiAEQiCIpyEHIAZCIIinIgVBAyAFQQNJGyEFDAILIAFBEGokgICAgABCAg8LCwJAIANC/////w9RDQAgBUEDRg0AIAFBBjYCACABIAc2AgQgARCcgICAACAFrUIghkIEhEIBEIGAgIAAGiADQgF8IQMgARCmgICAAAwBCwsQxoCAgAAACwALCQAQgIGAgAAAC4UEBQF/AX4CfwF+BH8jgICAgABBgAFrIgIkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQssAUg0AEKKAgIAAIAAQyICAgAAgARCGgICAAEIgiCEDQgAhACACQdAAakEQaiIEQQhqIQUCQANAIAAgA1ENASABIABCIIZCBIQQh4CAgAAhBkEAIQcCQANAIAdBEEYNASACQcAAaiAHakICNwMAIAdBCGohBwwACwtBASEIAkACQCAGQv8Bg0LMAFENAAwBCyAGQdSBwIAAQQIgAkHAAGpBAhC9gICAACACKQNAIgZC/wGDQgRSDQAgAkHQAGogAikDSBDJgICAACACKAJQIghBAXENACAGQiCIpyEHIAJBIGpBGGogBEEYaikDADcDACACQSBqQRBqIARBEGopAwA3AwAgAiAEKQMANwMgIAIgBSkDADcDKAsgAEL/////D1ENAyACQRhqIgkgAkEgakEYaikDADcDACACQRBqIgogAkEgakEQaikDADcDACACIAIpAyg3AwggAiACKQMgNwMAIAhBAXENAyACQdAAakEYaiAJKQMANwMAIAQgCikDADcDACACIAIpAwg3A1ggAiACKQMANwNQIAIgBzYCcCAHIAJB0ABqEMqAgIAAIABCAXwhAAwACwsgAkGAAWokgICAgABCAg8LAAsQxoCAgAAAC20BAX8jgICAgABBEGsiASSAgICAACAAEIOAgIAAGiABEKuAgIAAAkACQAJAIAEoAgBBAUcNACABKQMIIAAQrYCAgAANAQsgABDOgICAAEUNAQsgAUEQaiSAgICAAA8LQoOAgIDAABCugICAAAALgQICAn8DfiOAgICAAEHAAGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHAg8CAAEEDIAJBCGpBAxC9gICAACACKQMIIgFC/wGDQgRSDQAgAkEgaiACKQMQEL6AgIAAIAIoAiANACACKQMoIQYgAkEgaiACKQMYEJ6AgIAAIAIoAiBBAUYNACACKQMwIQQgACACKQM4NwMYIAAgBDcDECAAIAFCIIinNgIoIAAgBjcDIEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBwABqJICAgIAAC+ABAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkECNgIAIAIgADYCBCACEJyAgIAAIAEQuYCAgABCARCBgICAABogAhCmgICAACACQRBqIAFBEGopAwA3AwAgAkEYaiABQRhqKQMANwMAIAIgADYCICACIAEpAwA3AwAgAiABQQhqKQMANwMIQbCAwIAAQQ0QwYCAgAAQwoCAgAAhAyACIAIQuYCAgAA3AzggAiAArUIghkIEhDcDMCADQcyAwIAAQQIgAkEwakECELiAgIAAEIWAgIAAGiACQcAAaiSAgICAAAvBAwMCfwF+AX8jgICAgABBkAFrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEAIQMCQANAIANBGEYNASACQcgAaiADakICNwMAIANBCGohAwwACwsgAUL/AYNCzABSDQAgAUHsgcCAAEEDIAJByABqQQMQvYCAgAAgAikDSCIEQv8Bg0IEUg0AIAIgAikDUBC8gICAACACKAIAQQFGDQAgAigCECEDIAIpAwghASACQeAAaiACKQNYEMmAgIAAIAIoAmBBAXENACACQRhqIAJBiAFqKQMANwMAIAJBEGogAkGAAWopAwA3AwAgAiACKQNwNwMAIAIgAkHgAGpBGGopAwA3AwggAiADNgIoIAIgATcDICACIARCIIinIgU2AjAQooCAgAAgABDIgICAACAFIAIQyoCAgAAgAkEDNgJgIAJB4ABqEJyAgIAAIAEgAxC2gICAAEICEIGAgIAAGkHcgMCAAEEaEMGAgIAAEMKAgIAAIQAgASADELaAgIAAIQEgAiAEQoSAgIBwgzcDaCACIAE3A2AgAEGIgcCAAEECIAJB4ABqQQIQuICAgAAQhYCAgAAaIAJBkAFqJICAgIAAQgIPCwALeAIBfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQnoCAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMQooCAgAAgABDIgICAACACQQQ2AgAgAiADIAEQn4CAgAAgAkEgaiSAgICAAEICDwsACxsAAkAgAEL/AYNCzQBRDQAACyAAEM6AgIAArQtWAQJ/I4CAgIAAQRBrIgEkgICAgAAQooCAgAAgAUEBNgIAIAEgADcDCAJAIAEQnICAgABCARCdgICAACICRQ0AIAEQpoCAgAALIAFBEGokgICAgAAgAgs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENCAgIAAIAApAwAgACkDCBCggICAACEBIABBEGokgICAgAAgAQtoAwF/AX4BfyOAgICAAEEwayIBJICAgIAAEKKAgIAAIAFBBTYCACABQRBqIAEQm4CAgAAgASkDICECIAAgASkDKEIAIAEoAhBBAXEiAxs3AwggACACQi8gAxs3AwAgAUEwaiSAgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENKAgIAAIAApAwAgACgCCBC2gICAACEBIABBEGokgICAgAAgAQuYAQMBfwF+AX8jgICAgABBMGsiASSAgICAABCigICAACABQQM2AggCQAJAAkAgAUEIahCcgICAACICQgIQnYCAgAANAEIAIQJBACEDDAELIAFBGGogAkICEICAgIAAELyAgIAAIAEoAhhBAUYNASABKAIoIQMgASkDICECCyAAIAM2AgggACACNwMAIAFBMGokgICAgAAPCwALJAACQCAAQv8Bg0IEUQ0AAAsgAEIgiKcQ1ICAgACtQiCGQgSEC4kBAgF/AX4jgICAgABBEGsiASSAgICAABCigICAACABQQY2AgAgASAANgIEQQAhAAJAAkAgARCcgICAACICQgEQnYCAgABFDQAgAkIBEICAgIAAIgJC/wGDQgRSDQEgAkKAgICAMFoNASACQiCIpyEAIAEQpoCAgAALIAFBEGokgICAgAAgAA8LAAujBwICfwl+I4CAgIAAQYACayIFJICAgIAAQeUAIQYCQAJAAkACQAJAIAFB7wBGDQACQAJAIAFBpJ0BRg0AIAFBlM8ARw0BQYnPACEGDAILQZmdASEGDAELIAEQ1ICAgABBAkcNASABQZDOAEkNAEGxzwBBmZ0BIAFBoJwBSRshBgsgBUHQAWogBhDWgICAACAFKALQAUEBcUUNASAFQcABaiAFNQL4AUIAIAKtIgdCABCLgYCAACAFQbABaiAFKQPAASIIQvQYfCIJIAUpA8gBIAkgCFStfCAFKQPwAUIAEIuBgIAAIAUpA+gBIQkgBSkD4AEhCiAFQdABaiABENaAgIAAIAUoAtABQQFxRQ0CIAUpA7gBIQsgBSkDsAEhDCAFQaABaiAFNQL4AUIAIAdCABCLgYCAAAJAIAUpA6ABIgggA3wiByAIVCIBIAUpA6gBIgMgBHwgAa18IgggA1QgCCADURsNACAFKQPoASEDIAUpA+ABIQQgBUGAAWogCEIAIAUpA/ABIg1CABCLgYCAACAFQZABaiAHQgAgDUIAEIuBgIAAIAUpA4gBQgBSIAUpA5gBIgggBSkDgAF8IgcgCFRyDQAgBSkDkAEhDSAFQdAAaiALQgAgCkIAEIuBgIAAIAVB4ABqIAlCACAMQgAQi4GAgAAgBUHwAGogDEIAIApCABCLgYCAACAFKQNYIQogBSkDaCEMIAUpA2AhDiAFKQNQIQ8gBSkDeCEIIAVB0AFqENeAgIAAIAtCAFIgCUIAUnEgCkIAUnIgDEIAUnIgCCAPIA58fCIKIAhUcg0AIAUpA9ABIgggBSkD2AEiCYRQDQAgBSkDcCEMIAVBIGogB0IAIARCABCLgYCAACAFQTBqIANCACANQgAQi4GAgAAgBUHAAGogDUIAIARCABCLgYCAACAHQgBSIANCAFJxIAUpAyhCAFJyIAUpAzhCAFJyIAUpA0giCyAFKQMgIAUpAzB8fCIHIAtUcg0AIAUpA0AhCyAFQRBqIAwgCiAIIAkQioGAgAAgBSALIAcgCCAJEIqBgIAAIAUpAxAiCCAFKQMAfCIKIAhUIgEgBSkDGCIIIAUpAwh8IAGtfCIJIAhUIAkgCFEbRQ0ECxDGgICAAAALQoOAgIAwEK6AgIAAAAtCg4CAgCAQroCAgAAAC0KDgICAIBCugICAAAALIAAgBDcDECAAIAo3AwAgACADNwMYIAAgCTcDCCAFQYACaiSAgICAAAvgAQIBfwF+I4CAgIAAQcAAayICJICAgIAAEKKAgIAAIAJBAjYCACACIAE2AgQCQAJAAkAgAhCcgICAACIDQgEQnYCAgABFDQAgAkEQaiADQgEQgICAgAAQyYCAgAAgAigCEEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgACACKQMgNwMQIABBKGogAkEQakEoaikDADcDACAAQSBqIAJBEGpBIGopAwA3AwAgAEEYaiACQRBqQRhqKQMANwMAIABCADcDCCAAQgE3AwAgAhCmgICAAAsgAkHAAGokgICAgAAL1AMEAX8FfgF/An4jgICAgABBoAFrIgEkgICAgAAQooCAgAAgAUEANgJwIAFBgAFqIAFB8ABqEJuAgIAAIAEpA5gBIQIgASkDkAEhAyABKQOAASEEQgohBUIBIQZBFCEHQgAhCEIAIQkCQAJAA0ACQCAHQQFLDQAgAUHAAGogCEIAIAVCABCLgYCAACABQdAAaiAJQgAgBkIAEIuBgIAAIAFB4ABqIAZCACAFQgAQi4GAgAAgCEIAUiAJQgBScSABKQNIQgBSciABKQNYQgBSciABKQNoIgUgASkDQCABKQNQfHwiCSAFVHJFDQIMAwsCQCAHQQFxRQ0AIAFBEGogCEIAIAVCABCLgYCAACABQSBqIAlCACAGQgAQi4GAgAAgAUEwaiAGQgAgBUIAEIuBgIAAIAhCAFIgCUIAUnEgASkDGEIAUnIgASkDKEIAUnIgASkDOCIGIAEpAxAgASkDIHx8IgggBlRyDQMgASkDMCEGCyABIAUgCSAFIAkQi4GAgAAgB0EBdiEHIAEpAwghCSABKQMAIQUMAAsLIAEpA2AhBSAAIAIgCSAEp0EBcSIHGzcDCCAAIAMgBSAHGzcDACABQaABaiSAgICAAA8LEMaAgIAAAAuBBgQBfwJ+AX8GfiOAgICAAEHwAWsiBSSAgICAACAFQcABaiABENaAgIAAAkACQCAFKALAAUEBcUUNACAFKQPYASEGIAUpA9ABIQcgBSgC6AEhCCAFKQPgASEJIAVBwAFqENKAgIAAIAUoAsgBIQEgBSkDwAEhCiAFQcABahDQgICAACAFQaABaiAFKQPIAUIAIAKtIgtCABCLgYCAACAFQbABaiALQgAgBSkDwAFCABCLgYCAAAJAIAUpA6gBQgBSIAUpA7gBIgwgBSkDoAF8Ig0gDFRyDQAgBUGQAWogBSkDsAEgDULkAEIAEIqBgIAAIAVB8ABqIAUpA5gBQgAgAa0iDEIAEIuBgIAAIAVBgAFqIAUpA5ABQgAgDEIAEIuBgIAAIAUpA3hCAFIgBSkDiAEiDCAFKQNwfCINIAxUcg0AIAUpA4ABIQ4gBUHgAGogCK1CACALQgAQi4GAgAAgAyAKfCILIANUIgEgBCABrXwiDCAEVCALIANaGw0AIAsgDnwiBCALVCIBIAwgDXwgAa18IgMgDFQgAyAMURsNACAEIAUpA2B8IgwgBFQiASADIAUpA2h8IAGtfCILIANUIAsgA1EbDQAgBUHAAGogC0IAIAlCABCLgYCAACAFQdAAaiAMQgAgCUIAEIuBgIAAIAUpA0hCAFIgBSkDWCILIAUpA0B8IgMgC1RyDQAgBSkDUCELIAVBEGogA0IAIAdCABCLgYCAACAFQSBqIAZCACALQgAQi4GAgAAgBUEwaiALQgAgB0IAEIuBgIAAIANCAFIgBkIAUnEgBSkDGEIAUnIgBSkDKEIAUnIgBSkDOCIDIAUpAxAgBSkDIHx8IgsgA1RyDQAgBSkDMCEDIAVBwAFqENeAgIAAIAUpA8ABIgwgBSkDyAEiBIRQRQ0CCxDGgICAAAALQoOAgIAgEK6AgIAAAAsgBSADIAsgDCAEEIqBgIAAIAAgBzcDECAAIAY3AxggACAFKQMINwMIIAAgBSkDADcDACAFQfABaiSAgICAAAufCAQBfwF+An8CfiOAgICAAEGwAWsiBCSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkL/AYNCBFINACAEQfAAaiADEJ6AgIAAIAQoAnBBAUYNACACQiCIIgWnIQYgBCkDiAEhAiAEKQOAASEDEKKAgIAAIAAQg4CAgAAaAkACQAJAAkACQAJAIAFCIIinQbDqAXAiB0GSf2oOAgECAAsgB0GUzwBGDQEgB0GvnQFGDQAgB0GknQFGDQEgB0GfzwBHDQILIARB8ABqIAcgBiADIAIQ2ICAgAAMAgsgBEHwAGogByAGIAMgAhDVgICAAAwBCwJAAkACQAJAAkAgBxDUgICAAA4DAAECAAsgBEHwAGogBxDWgICAACAEKAJwQQFxRQ0CIARB4ABqIAQ1ApgBQgAgBUIAEIuBgIAAIAQpA2AiACADfCIFIABUIgcgBCkDaCIAIAJ8IAetfCIBIABUIAEgAFEbDQMgBCkDiAEhAiAEKQOAASEDIARBwABqIAFCACAEKQOQASIAQgAQi4GAgAAgBEHQAGogBUIAIABCABCLgYCAACAEKQNIQgBSIAQpA1giASAEKQNAfCIAIAFUcg0DIAQpA1AhASAEQRBqIABCACADQgAQi4GAgAAgBEEgaiACQgAgAUIAEIuBgIAAIARBMGogAUIAIANCABCLgYCAACAAQgBSIAJCAFJxIAQpAxhCAFJyIAQpAyhCAFJyIAQpAzgiACAEKQMQIAQpAyB8fCIBIABUcg0DIAQpAzAhACAEQfAAahDXgICAACAEKQNwIgUgBCkDeCIIhFANAyAEIAAgASAFIAgQioGAgAAgBCkDCCEBIAQpAwAhAAwFCyAEQfAAaiAHIAYgAyACENiAgIAADAMLIARB8ABqIAcgBiADIAIQ1YCAgAAMAgtCg4CAgCAQroCAgAAACxDGgICAAAALIAQpA4gBIQIgBCkDgAEhAyAEKQN4IQEgBCkDcCEACyAEQfAAahDXgICAACAEKQN4IQUgBCkDcCEIIARB8ABqENqAgIAAAkAgAUJ/VQ0AQoOAgIDQABCugICAAAALIARBoAFqIAQpA3AgBCkDeBDbgICAACAEKAKgAQ0AIAQpA6gBIQkgBEGgAWogAyACENuAgIAAIAQoAqABDQAgBCkDqAEhAiAEQaABaiAIIAUQ24CAgAAgBCgCoAENACAEKQOoASEDAkACQCAAQoCAgICAgIDAAHxC//////////8AVg0AIAAgAIUgASAAQj+HhYRCAFINACAAQgiGQguEIQAMAQsgASAAEIiAgIAAIQALIAQgADcDiAEgBCADNwOAASAEIAI3A3ggBCAJNwNwQYyEwIAAQQQgBEHwAGpBBBC4gICAACEAIARBsAFqJICAgIAAIAAPCwALaAMBfwF+AX8jgICAgABBMGsiASSAgICAABCigICAACABQQQ2AgAgAUEQaiABEJuAgIAAIAEpAyAhAiAAIAEpAyhCACABKAIQQQFxIgMbNwMIIAAgAkIAIAMbNwMAIAFBMGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQjoCAgAAhAgsgAEIANwMAIAAgAjcDCAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENqAgIAAIAApAwAgACkDCBCggICAACEBIABBEGokgICAgAAgAQt5AQF/I4CAgIAAQcAAayIBJICAgIAAAkAgAEL/AYNCBFINACABIABCIIinENaAgIAAAkACQCABKAIAQQFxDQBCAiEADAELIAFBMGogAUEQahC6gICAACABKAIwQQFxDQEgASkDOCEACyABQcAAaiSAgICAACAADwsACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ14CAgAAgACkDACAAKQMIEKCAgIAAIQEgAEEQaiSAgICAACABC3EAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEGAyx5BgNIfEOCAgIAAQYDLHkGA0h8Q4YCAgABBABCxgICAAEICEJ2AgIAADQEgABDigICAACABEMCAgIAAQgIPCwALQoOAgICggQEQroCAgAAACw4AQQEgACABEIaBgIAACw4AQQIgACABEIaBgIAACw4AQQAgAEICEPGAgIAAC2UAAkACQCAAQv8Bg0LIAFINACAAEImAgIAAQoCAgIBwg0KAgICAgARSDQAQqICAgAAQooCAgAAQoYCAgAANAUEBEOSAgIAAIAAQioCAgAAaQgIPCwALQoOAgIDAgwEQroCAgAAACwwAQQEgABDngICAAAttAAJAAkACQCAAQv8Bg0LIAFINABCogICAABCigICAAEEBEKOAgIAAQf0BcUUNASAAEIuAgIAAQv8Bg0ICUg0CQQAQ5ICAgABCAg8LAAtCg4CAgLCDARCugICAAAALQoOAgICggwEQroCAgAAACzUAEKiAgIAAEKKAgIAAAkAQoYCAgABFDQBCg4CAgMCDARCugICAAAALQQBBARDngICAAEICCxoAIAAQhIGAgAAgAa1C/wGDQgIQgYCAgAAaCwkAEKGAgIAArQsIABCpgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKuAgIAAIAApAwAgACkDCBC7gICAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAELCAgIAAIAApAwAgACkDCBC7gICAACEBIABBEGokgICAgAAgAQs8AQF+AkAgAEL/AYNCzQBRDQAACxCigICAABCqgICAACEBEK+AgIAAIAAQ4oCAgAAgASAAEO2AgIAAQgILYQIBfwF+I4CAgIAAQRBrIgIkgICAgABBtYTAgABBFRDBgICAABDCgICAACEDIAIgADcDCCACIAE3AwAgA0HchMCAAEECIAJBAhC4gICAABCFgICAABogAkEQaiSAgICAAAv8AgIBfwJ+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINABCigICAABCqgICAACEDAkACQCABQv////8PVg0AIAJBCGoQsICAgAAgAikDECEBIAIpAwhBiQgQrICAgAAgASAAEK2AgIAARQ0DEO+AgIAAQaCFwIAAQRwQwYCAgAAQwoCAgAAhACACIAM3AxAgAiABNwMIIABB2IXAgABBAiACQQhqQQIQuICAgAAQhYCAgAAaDAELEPCAgIAAIAFCIIinSQ0DQQEgAEIAEPGAgIAAQQEQsYCAgABCACABQoSAgIBwgyIBIAEQgoCAgAAaQeyEwIAAQRYQwYCAgAAQwoCAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQYiFwIAAQQMgAkEIakEDELiAgIAAEIWAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA8IABEK6AgIAAAAtCg4CAgICBARCugICAAAALEwBBARCxgICAAEIAEISAgIAAGgszAQJ+EJaAgIAAIQACQBCXgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxDGgICAAAALFQAgABCxgICAACABIAIQgYCAgAAaC4gBAgF/An4jgICAgABBEGsiACSAgICAABCigICAACAAELCAgIAAIAApAwghASAAKQMAQYkIEKyAgIAAIAEQg4CAgAAaIAAQsoCAgAACQCAAKAIADQAQ84CAgAAACyAAKQMIIQIQ74CAgAAgARDigICAACACIAEQ7YCAgAAgAEEQaiSAgICAAEICCwkAEMaAgIAAAAuEAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAQooCAgAAQqoCAgAAhARCvgICAAEEAELGAgIAAQgIQhICAgAAaQeiFwIAAQRMQwYCAgAAQwoCAgAAhAiAAIAE3AwggAkH8hcCAAEEBIABBCGpBARC4gICAABCFgICAABogAEEQaiSAgICAAEICCzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEPaAgIAAQgIPCwALGwAgAK1CIIZCBIQgAa1CIIZCBIQQmYCAgAAaC7wEAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABD4gICAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEPiAgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYEKiAgIAAEKKAgIAAAkACQAJAEKSAgIAADQAQ8ICAgAAiA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQroCAgAAAC0KDgICAwP8AEK6AgIAAAAsCQAJAIAIoAghBAUcNACACKAIMIAIoAhAQ4ICAgAAMAQtBARClgICAAEICEISAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQ4YCAgAAMAQtBAhClgICAAEICEISAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QbCGwIAAQQ8QwYCAgAAQwoCAgAAhACACQShqEPmAgIAAIQEgAiACQTRqEPmAgIAANwNIIAIgATcDQCAAQdSGwIAAQQIgAkHAAGpBAhC4gICAABCFgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQgoGAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ/ICAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC6ABAgJ/AX4jgICAgABBwABrIgAkgICAgAAQooCAgAAgAEEIahD7gICAACAAQRRqIgEQp4CAgAAgAEEwaiAAQQhqEPyAgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARD8gICAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQ/YCAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARCFgYCAAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCDgYCAAA8LIABCADcDACAAQgI3AwgLGgAgAK1CIIZCBIQgAa1CIIZCBIQQkYCAgAALiAEBAX8jgICAgABBEGsiACSAgICAABCogICAABCigICAAAJAEKSAgIAARQ0AQoOAgIDg/wAQroCAgAAAC0EAEKWAgIAAQgFCAhCBgICAABpB5IbAgABBEhDBgICAABDCgICAAEEEQQAgAEEIakEAELiAgIAAEIWAgIAAGiAAQRBqJICAgIAAQgILCQAQpICAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCSgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQaCGwIAAQQIgAkECEL2AgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBoIbAgABBAiADQQIQuICAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQY6HwIAAQQkQs4CAgAAgASgCAA0CIAEgASkDCBC0gICAAAwBCyABQfaGwIAAQQYQs4CAgAAgASgCAA0BIAEgASkDCBC0gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC3cCAn8BfiOAgICAAEEQayICJICAgIAAQQAhAwJAAkAgARClgICAACIEQgIQnYCAgABFDQAgAkEEaiAEQgIQgICAgAAQgoGAgABBASEDIAIoAgRBAUYNASAAIAIpAgg3AgQLIAAgAzYCACACQRBqJICAgIAADwsAC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQpYCAgAAhBCADIAEgAhCDgYCAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEIGAgIAAGiADQRBqJICAgIAAC1cBAX4CQAJAIANBwABxDQAgA0UNASACQQAgA2tBP3GthiABIANBP3GtIgSIhCEBIAIgBIghAgwBCyACIANBP3GtiCEBQgAhAgsgACABNwMAIAAgAjcDCAtXAQF+AkACQCADQcAAcQ0AIANFDQEgAiADQT9xrSIEhiABQQAgA2tBP3GtiIQhAiABIASGIQEMAQsgASADQT9xrYYhAkIAIQELIAAgATcDACAAIAI3AwgL0QgEAX8BfgN/BH4jgICAgABBsAFrIgUkgICAgABCACEGAkACQAJAAkACQCAE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ARAAFwAAAP8BEAANAAAAdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVySgIQAAkAAABTAhAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAABKAhAACQAAAFMCEAAJAAAAggIQAAMAAABvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkY2FuY2VsbGVkX3BlbmRpbmdfb3duZXJvd25lcrwCEAAXAAAA0wIQAAUAAABvd25lcnNoaXBfcmVub3VuY2VkAFMCEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AABUDEAAJAAAALAIQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAA/AxAACAAAAEcDEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nAI94DmNvbnRyYWN0c3BlY3YwAAAABAAAAAAAAAAAAAAADlByaWNlRmVlZEVycm9yAAAAAAAFAAAAAAAAABJJbnZhbGlkRGVub21pbmF0b3IAAAAAAAEAAAAAAAAAB05vUHJpY2UAAAAAAgAAAAAAAAAMTm90QW5PcFN0YWNrAAAAAwAAAAAAAAAQT25seVByaWNlVXBkYXRlcgAAAAQAAAAAAAAACE92ZXJmbG93AAAABQAAAAUAAAAAAAAAAAAAAA9QcmljZVVwZGF0ZXJTZXQAAAAAAQAAABFwcmljZV91cGRhdGVyX3NldAAAAAAAAAIAAAAAAAAAB3VwZGF0ZXIAAAAAEwAAAAAAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAADFByaWNlVXBkYXRlZAAAAAEAAAANcHJpY2VfdXBkYXRlZAAAAAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAABXByaWNlAAAAAAAH0AAAAAVQcmljZQAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAF0FyYml0cnVtUHJpY2VFeHRVcGRhdGVkAAAAAAEAAAAaYXJiaXRydW1fcHJpY2VfZXh0X3VwZGF0ZWQAAAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAAEmFyYml0cnVtX3ByaWNlX2V4dAAAAAAH0AAAABBBcmJpdHJ1bVByaWNlRXh0AAAAAAAAAAIAAAABAAAAIUFyYml0cnVtLXNwZWNpZmljIHByaWNlIGV4dGVuc2lvbgAAAAAAAAAAAAAQQXJiaXRydW1QcmljZUV4dAAAAAIAAABBR2FzIGNvc3QgcGVyIGJ5dGUgb2YgTDEgY2FsbGRhdGEgKGZvciBBcmJpdHJ1bSdzIEwxIGRhdGEgcG9zdGluZykAAAAAAAAYZ2FzX3Blcl9sMV9jYWxsZGF0YV9ieXRlAAAABAAAAB9HYXMgb3ZlcmhlYWQgcGVyIEwyIHRyYW5zYWN0aW9uAAAAAA1nYXNfcGVyX2wyX3R4AAAAAAAABgAAAAEAAAAlUGFyYW1ldGVyIGZvciB1cGRhdGluZyBhIHNpbmdsZSBwcmljZQAAAAAAAAAAAAALVXBkYXRlUHJpY2UAAAAAAgAAABdEZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAADZWlkAAAAAAQAAAAlUHJpY2UgaW5mb3JtYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbgAAAAAAAAVwcmljZQAAAAAAB9AAAAAFUHJpY2UAAAAAAAABAAAANFBhcmFtZXRlciBmb3IgdXBkYXRpbmcgQXJiaXRydW0gcHJpY2Ugd2l0aCBleHRlbnNpb24AAAAAAAAADlVwZGF0ZVByaWNlRXh0AAAAAAADAAAAOERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChzaG91bGQgYmUgYW4gQXJiaXRydW0gZW5kcG9pbnQpAAAAA2VpZAAAAAAEAAAAI0FyYml0cnVtLXNwZWNpZmljIHByaWNpbmcgZXh0ZW5zaW9uAAAAAAZleHRlbmQAAAAAB9AAAAAQQXJiaXRydW1QcmljZUV4dAAAACVQcmljZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGRlc3RpbmF0aW9uAAAAAAAABXByaWNlAAAAAAAH0AAAAAVQcmljZQAAAAAAAAMAAAAwRmVlIG1vZGVsIHR5cGUgZm9yIGRpZmZlcmVudCBjaGFpbiBhcmNoaXRlY3R1cmVzAAAAAAAAAAlNb2RlbFR5cGUAAAAAAAADAAAAAAAAAAdEZWZhdWx0AAAAAAAAAAAAAAAACEFyYlN0YWNrAAAAAQAAAAAAAAAHT3BTdGFjawAAAAACAAAAAQAAAC9QYXJhbWV0ZXIgZm9yIHNldHRpbmcgRUlEIHRvIG1vZGVsIHR5cGUgbWFwcGluZwAAAAAAAAAAFlNldEVpZFRvTW9kZWxUeXBlUGFyYW0AAAAAAAIAAAAXRGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAB2RzdF9laWQAAAAABAAAACNGZWUgbW9kZWwgdHlwZSBmb3IgdGhpcyBkZXN0aW5hdGlvbgAAAAAKbW9kZWxfdHlwZQAAAAAH0AAAAAlNb2RlbFR5cGUAAAAAAAAAAAAAJVNldCBwcmljZSB1cGRhdGVyIHN0YXR1cyAob3duZXIgb25seSkAAAAAAAARc2V0X3ByaWNlX3VwZGF0ZXIAAAAAAAACAAAAAAAAAAd1cGRhdGVyAAAAABMAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAAAAAALFNldCB0aGUgcHJpY2UgcmF0aW8gZGVub21pbmF0b3IgKG93bmVyIG9ubHkpAAAAG3NldF9wcmljZV9yYXRpb19kZW5vbWluYXRvcgAAAAABAAAAAAAAAAtkZW5vbWluYXRvcgAAAAAKAAAAAAAAAAAAAAA0U2V0IHRoZSBBcmJpdHJ1bSBjb21wcmVzc2lvbiBwZXJjZW50YWdlIChvd25lciBvbmx5KQAAACBzZXRfYXJiaXRydW1fY29tcHJlc3Npb25fcGVyY2VudAAAAAEAAAAAAAAAE2NvbXByZXNzaW9uX3BlcmNlbnQAAAAACgAAAAAAAAAAAAAAOFNldCB0aGUgZmVlIG1vZGVsIHR5cGUgZm9yIGRlc3RpbmF0aW9uIEVJRHMgKG93bmVyIG9ubHkpAAAAFXNldF9laWRfdG9fbW9kZWxfdHlwZQAAAAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAWU2V0RWlkVG9Nb2RlbFR5cGVQYXJhbQAAAAAAAAAAAAAAAAA9U2V0IHByaWNlcyBmb3IgbXVsdGlwbGUgZGVzdGluYXRpb25zIChwcmljZSB1cGRhdGVyIG9yIG93bmVyKQAAAAAAAAlzZXRfcHJpY2UAAAAAAAACAAAAAAAAAA1wcmljZV91cGRhdGVyAAAAAAAAEwAAAAAAAAAGcHJpY2VzAAAAAAPqAAAH0AAAAAtVcGRhdGVQcmljZQAAAAAAAAAAAAAAAHJTZXQgcHJpY2UgZm9yIEFyYml0cnVtIHdpdGggZXh0ZW5zaW9uIChwcmljZSB1cGRhdGVyIG9yIG93bmVyKQpDb3JyZXNwb25kcyB0byBzZXRQcmljZUZvckFyYml0cnVtIGluIFByaWNlRmVlZC5zb2wAAAAAABZzZXRfcHJpY2VfZm9yX2FyYml0cnVtAAAAAAACAAAAAAAAAA1wcmljZV91cGRhdGVyAAAAAAAAEwAAAAAAAAAGdXBkYXRlAAAAAAfQAAAADlVwZGF0ZVByaWNlRXh0AAAAAAAAAAAAAAAAALRTZXQgdGhlIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHByaWNlIHVwZGF0ZXIgb3Igb3duZXIpLgoKS2VwdCBhcyBhIHN0YW5kYWxvbmUgY29udHJhY3QgZnVuY3Rpb24gKG5vdCBwYXJ0IG9mIHRoZSBjYW5vbmljYWwgYGZlZV9saWJfaW50ZXJmYWNlczo6SUxheWVyWmVyb1ByaWNlRmVlZGAgaW50ZXJmYWNlKS4AAAAac2V0X25hdGl2ZV90b2tlbl9wcmljZV91c2QAAAAAAAIAAAAAAAAADXByaWNlX3VwZGF0ZXIAAAAAAAATAAAAAAAAABZuYXRpdmVfdG9rZW5fcHJpY2VfdXNkAAAAAAAKAAAAAAAAAAAAAAAuQ2hlY2sgaWYgYW4gYWRkcmVzcyBpcyBhbiBhY3RpdmUgcHJpY2UgdXBkYXRlcgAAAAAAEGlzX3ByaWNlX3VwZGF0ZXIAAAABAAAAAAAAAAd1cGRhdGVyAAAAABMAAAABAAAAAQAAAAAAAAAkR2V0IHRoZSBBcmJpdHJ1bSBjb21wcmVzc2lvbiBwZXJjZW50AAAAHGFyYml0cnVtX2NvbXByZXNzaW9uX3BlcmNlbnQAAAAAAAAAAQAAAAoAAAAAAAAAIEdldCB0aGUgQXJiaXRydW0gcHJpY2UgZXh0ZW5zaW9uAAAAEmFyYml0cnVtX3ByaWNlX2V4dAAAAAAAAAAAAAEAAAfQAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAAAAAAKEdldCB0aGUgbW9kZWwgdHlwZSBmb3IgYSBkZXN0aW5hdGlvbiBFSUQAAAARZWlkX3RvX21vZGVsX3R5cGUAAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAH0AAAAAlNb2RlbFR5cGUAAAAAAAAAAAAAZEVzdGltYXRlIGZlZSB3aXRoIGRldGFpbGVkIGJyZWFrZG93biBieSBlbmRwb2ludCBJRApDb3JyZXNwb25kcyB0byBlc3RpbWF0ZUZlZUJ5RWlkIGluIFByaWNlRmVlZC5zb2wAAAATZXN0aW1hdGVfZmVlX2J5X2VpZAAAAAAEAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAAAAAAAAA2dhcwAAAAAKAAAAAQAAB9AAAAALRmVlRXN0aW1hdGUAAAAAAAAAACFHZXQgdGhlIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QAAAAAAAAWbmF0aXZlX3Rva2VuX3ByaWNlX3VzZAAAAAAAAAAAAAEAAAAKAAAAAAAAACRHZXQgdGhlIHByaWNlIGZvciBhIGRlc3RpbmF0aW9uIEVJRC4AAAAJZ2V0X3ByaWNlAAAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAABVByaWNlAAAAAAAAAAAAACBHZXQgdGhlIHByaWNlIHJhdGlvIGRlbm9taW5hdG9yLgAAABtnZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAE9QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLiBJcnJldmVyc2libGUuAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEFByaWNlRmVlZFN0b3JhZ2UAAAAHAAAAAAAAAAAAAAAVUHJpY2VSYXRpb0Rlbm9taW5hdG9yAAAAAAAAAQAAAAAAAAAMUHJpY2VVcGRhdGVyAAAAAQAAABMAAAABAAAAAAAAABFEZWZhdWx0TW9kZWxQcmljZQAAAAAAAAEAAAAEAAAAAAAAAAAAAAAQQXJiaXRydW1QcmljZUV4dAAAAAAAAAAAAAAADk5hdGl2ZVByaWNlVVNEAAAAAAAAAAAAAAAAABpBcmJpdHJ1bUNvbXByZXNzaW9uUGVyY2VudAAAAAAAAQAAAAAAAAAORWlkVG9Nb2RlbFR5cGUAAAAAAAEAAAAEAAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABwAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAcAAAAAAAAACkludmFsaWRUdGwAAAAABAgAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECQAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAoAAAAAAAAAC093bmVyTm90U2V0AAAABAsAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAEDAAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAIsBDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZiaW52ZXIAAAAAAAUwLjAuMQAAAAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMCM4NmM1MGExZWE0Zjg3YjQwYWRkMzA2NGZmOWRmOTVjNzU1MzU2NWM1AAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABkAAAAAAFMOY29udHJhY3RtZXRhdjAAAAAAAAAABmNsaXZlcgAAAAAALzI1LjAuMCNhNjQ5MjVlOTM5MWMzZDNiM2VmOGU1M2RjNjBjMjNkYjllNmE4MmU0AA==";
|
|
12
12
|
/**
|
|
13
13
|
* Pre-computed WASM hash (SHA-256)
|
|
14
14
|
* Use this when the WASM is already uploaded on-chain
|
|
15
15
|
*/
|
|
16
|
-
export declare const WASM_HASH = "
|
|
16
|
+
export declare const WASM_HASH = "bc1441eb80671ff57ab3e33c478da9f75b65b270257adbfb6f0d5073e8511ae2";
|
|
17
17
|
/**
|
|
18
18
|
* Get the WASM bytecode as a Buffer
|
|
19
19
|
* Use this to upload the WASM to the network
|
|
@@ -340,6 +340,9 @@ export declare const OwnableError: {
|
|
|
340
340
|
1035: {
|
|
341
341
|
message: string;
|
|
342
342
|
};
|
|
343
|
+
1036: {
|
|
344
|
+
message: string;
|
|
345
|
+
};
|
|
343
346
|
};
|
|
344
347
|
/**
|
|
345
348
|
* BytesExtError: 1040-1049
|
|
@@ -364,9 +367,9 @@ export declare const UpgradeableError: {
|
|
|
364
367
|
};
|
|
365
368
|
};
|
|
366
369
|
/**
|
|
367
|
-
*
|
|
370
|
+
* MultiSigError: 1060-1069
|
|
368
371
|
*/
|
|
369
|
-
export declare const
|
|
372
|
+
export declare const MultiSigError: {
|
|
370
373
|
1060: {
|
|
371
374
|
message: string;
|
|
372
375
|
};
|
|
@@ -391,8 +394,11 @@ export declare const MultisigError: {
|
|
|
391
394
|
1067: {
|
|
392
395
|
message: string;
|
|
393
396
|
};
|
|
397
|
+
1068: {
|
|
398
|
+
message: string;
|
|
399
|
+
};
|
|
394
400
|
};
|
|
395
|
-
export type
|
|
401
|
+
export type MultiSigStorage = {
|
|
396
402
|
tag: "Signers";
|
|
397
403
|
values: void;
|
|
398
404
|
} | {
|
|
@@ -444,80 +450,28 @@ export interface Client {
|
|
|
444
450
|
set_price_updater: ({ updater, active }: {
|
|
445
451
|
updater: string;
|
|
446
452
|
active: boolean;
|
|
447
|
-
}, txnOptions?:
|
|
448
|
-
/**
|
|
449
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
450
|
-
*/
|
|
451
|
-
fee?: number;
|
|
452
|
-
/**
|
|
453
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
454
|
-
*/
|
|
455
|
-
timeoutInSeconds?: number;
|
|
456
|
-
/**
|
|
457
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
458
|
-
*/
|
|
459
|
-
simulate?: boolean;
|
|
460
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
453
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
461
454
|
/**
|
|
462
455
|
* Construct and simulate a set_price_ratio_denominator 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.
|
|
463
456
|
* Set the price ratio denominator (owner only)
|
|
464
457
|
*/
|
|
465
458
|
set_price_ratio_denominator: ({ denominator }: {
|
|
466
459
|
denominator: u128;
|
|
467
|
-
}, txnOptions?:
|
|
468
|
-
/**
|
|
469
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
470
|
-
*/
|
|
471
|
-
fee?: number;
|
|
472
|
-
/**
|
|
473
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
474
|
-
*/
|
|
475
|
-
timeoutInSeconds?: number;
|
|
476
|
-
/**
|
|
477
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
478
|
-
*/
|
|
479
|
-
simulate?: boolean;
|
|
480
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
460
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
481
461
|
/**
|
|
482
462
|
* Construct and simulate a set_arbitrum_compression_percent 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.
|
|
483
463
|
* Set the Arbitrum compression percentage (owner only)
|
|
484
464
|
*/
|
|
485
465
|
set_arbitrum_compression_percent: ({ compression_percent }: {
|
|
486
466
|
compression_percent: u128;
|
|
487
|
-
}, txnOptions?:
|
|
488
|
-
/**
|
|
489
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
490
|
-
*/
|
|
491
|
-
fee?: number;
|
|
492
|
-
/**
|
|
493
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
494
|
-
*/
|
|
495
|
-
timeoutInSeconds?: number;
|
|
496
|
-
/**
|
|
497
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
498
|
-
*/
|
|
499
|
-
simulate?: boolean;
|
|
500
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
467
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
501
468
|
/**
|
|
502
469
|
* Construct and simulate a set_eid_to_model_type 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.
|
|
503
470
|
* Set the fee model type for destination EIDs (owner only)
|
|
504
471
|
*/
|
|
505
472
|
set_eid_to_model_type: ({ params }: {
|
|
506
473
|
params: Array<SetEidToModelTypeParam>;
|
|
507
|
-
}, txnOptions?:
|
|
508
|
-
/**
|
|
509
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
510
|
-
*/
|
|
511
|
-
fee?: number;
|
|
512
|
-
/**
|
|
513
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
514
|
-
*/
|
|
515
|
-
timeoutInSeconds?: number;
|
|
516
|
-
/**
|
|
517
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
518
|
-
*/
|
|
519
|
-
simulate?: boolean;
|
|
520
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
474
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
521
475
|
/**
|
|
522
476
|
* Construct and simulate a set_price 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.
|
|
523
477
|
* Set prices for multiple destinations (price updater or owner)
|
|
@@ -525,20 +479,7 @@ export interface Client {
|
|
|
525
479
|
set_price: ({ price_updater, prices }: {
|
|
526
480
|
price_updater: string;
|
|
527
481
|
prices: Array<UpdatePrice>;
|
|
528
|
-
}, txnOptions?:
|
|
529
|
-
/**
|
|
530
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
531
|
-
*/
|
|
532
|
-
fee?: number;
|
|
533
|
-
/**
|
|
534
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
535
|
-
*/
|
|
536
|
-
timeoutInSeconds?: number;
|
|
537
|
-
/**
|
|
538
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
539
|
-
*/
|
|
540
|
-
simulate?: boolean;
|
|
541
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
482
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
542
483
|
/**
|
|
543
484
|
* Construct and simulate a set_price_for_arbitrum 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.
|
|
544
485
|
* Set price for Arbitrum with extension (price updater or owner)
|
|
@@ -547,20 +488,7 @@ export interface Client {
|
|
|
547
488
|
set_price_for_arbitrum: ({ price_updater, update }: {
|
|
548
489
|
price_updater: string;
|
|
549
490
|
update: UpdatePriceExt;
|
|
550
|
-
}, txnOptions?:
|
|
551
|
-
/**
|
|
552
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
553
|
-
*/
|
|
554
|
-
fee?: number;
|
|
555
|
-
/**
|
|
556
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
557
|
-
*/
|
|
558
|
-
timeoutInSeconds?: number;
|
|
559
|
-
/**
|
|
560
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
561
|
-
*/
|
|
562
|
-
simulate?: boolean;
|
|
563
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
491
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
564
492
|
/**
|
|
565
493
|
* Construct and simulate a set_native_token_price_usd 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.
|
|
566
494
|
* Set the native token price in USD (price updater or owner).
|
|
@@ -570,96 +498,31 @@ export interface Client {
|
|
|
570
498
|
set_native_token_price_usd: ({ price_updater, native_token_price_usd }: {
|
|
571
499
|
price_updater: string;
|
|
572
500
|
native_token_price_usd: u128;
|
|
573
|
-
}, txnOptions?:
|
|
574
|
-
/**
|
|
575
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
576
|
-
*/
|
|
577
|
-
fee?: number;
|
|
578
|
-
/**
|
|
579
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
580
|
-
*/
|
|
581
|
-
timeoutInSeconds?: number;
|
|
582
|
-
/**
|
|
583
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
584
|
-
*/
|
|
585
|
-
simulate?: boolean;
|
|
586
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
501
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
587
502
|
/**
|
|
588
503
|
* Construct and simulate a is_price_updater 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.
|
|
589
504
|
* Check if an address is an active price updater
|
|
590
505
|
*/
|
|
591
506
|
is_price_updater: ({ updater }: {
|
|
592
507
|
updater: string;
|
|
593
|
-
}, txnOptions?:
|
|
594
|
-
/**
|
|
595
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
596
|
-
*/
|
|
597
|
-
fee?: number;
|
|
598
|
-
/**
|
|
599
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
600
|
-
*/
|
|
601
|
-
timeoutInSeconds?: number;
|
|
602
|
-
/**
|
|
603
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
604
|
-
*/
|
|
605
|
-
simulate?: boolean;
|
|
606
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
508
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
607
509
|
/**
|
|
608
510
|
* Construct and simulate a arbitrum_compression_percent 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.
|
|
609
511
|
* Get the Arbitrum compression percent
|
|
610
512
|
*/
|
|
611
|
-
arbitrum_compression_percent: (
|
|
612
|
-
/**
|
|
613
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
614
|
-
*/
|
|
615
|
-
fee?: number;
|
|
616
|
-
/**
|
|
617
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
618
|
-
*/
|
|
619
|
-
timeoutInSeconds?: number;
|
|
620
|
-
/**
|
|
621
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
622
|
-
*/
|
|
623
|
-
simulate?: boolean;
|
|
624
|
-
}) => Promise<AssembledTransaction<u128>>;
|
|
513
|
+
arbitrum_compression_percent: (options?: MethodOptions) => Promise<AssembledTransaction<u128>>;
|
|
625
514
|
/**
|
|
626
515
|
* Construct and simulate a arbitrum_price_ext 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.
|
|
627
516
|
* Get the Arbitrum price extension
|
|
628
517
|
*/
|
|
629
|
-
arbitrum_price_ext: (
|
|
630
|
-
/**
|
|
631
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
632
|
-
*/
|
|
633
|
-
fee?: number;
|
|
634
|
-
/**
|
|
635
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
636
|
-
*/
|
|
637
|
-
timeoutInSeconds?: number;
|
|
638
|
-
/**
|
|
639
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
640
|
-
*/
|
|
641
|
-
simulate?: boolean;
|
|
642
|
-
}) => Promise<AssembledTransaction<ArbitrumPriceExt>>;
|
|
518
|
+
arbitrum_price_ext: (options?: MethodOptions) => Promise<AssembledTransaction<ArbitrumPriceExt>>;
|
|
643
519
|
/**
|
|
644
520
|
* Construct and simulate a eid_to_model_type 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.
|
|
645
521
|
* Get the model type for a destination EID
|
|
646
522
|
*/
|
|
647
523
|
eid_to_model_type: ({ dst_eid }: {
|
|
648
524
|
dst_eid: u32;
|
|
649
|
-
}, txnOptions?:
|
|
650
|
-
/**
|
|
651
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
652
|
-
*/
|
|
653
|
-
fee?: number;
|
|
654
|
-
/**
|
|
655
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
656
|
-
*/
|
|
657
|
-
timeoutInSeconds?: number;
|
|
658
|
-
/**
|
|
659
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
660
|
-
*/
|
|
661
|
-
simulate?: boolean;
|
|
662
|
-
}) => Promise<AssembledTransaction<ModelType>>;
|
|
525
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<ModelType>>;
|
|
663
526
|
/**
|
|
664
527
|
* Construct and simulate a estimate_fee_by_eid 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.
|
|
665
528
|
* Estimate fee with detailed breakdown by endpoint ID
|
|
@@ -670,209 +533,64 @@ export interface Client {
|
|
|
670
533
|
dst_eid: u32;
|
|
671
534
|
calldata_size: u32;
|
|
672
535
|
gas: u128;
|
|
673
|
-
}, txnOptions?:
|
|
674
|
-
/**
|
|
675
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
676
|
-
*/
|
|
677
|
-
fee?: number;
|
|
678
|
-
/**
|
|
679
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
680
|
-
*/
|
|
681
|
-
timeoutInSeconds?: number;
|
|
682
|
-
/**
|
|
683
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
684
|
-
*/
|
|
685
|
-
simulate?: boolean;
|
|
686
|
-
}) => Promise<AssembledTransaction<FeeEstimate>>;
|
|
536
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<FeeEstimate>>;
|
|
687
537
|
/**
|
|
688
538
|
* Construct and simulate a native_token_price_usd 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.
|
|
689
539
|
* Get the native token price in USD
|
|
690
540
|
*/
|
|
691
|
-
native_token_price_usd: (
|
|
692
|
-
/**
|
|
693
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
694
|
-
*/
|
|
695
|
-
fee?: number;
|
|
696
|
-
/**
|
|
697
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
698
|
-
*/
|
|
699
|
-
timeoutInSeconds?: number;
|
|
700
|
-
/**
|
|
701
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
702
|
-
*/
|
|
703
|
-
simulate?: boolean;
|
|
704
|
-
}) => Promise<AssembledTransaction<u128>>;
|
|
541
|
+
native_token_price_usd: (options?: MethodOptions) => Promise<AssembledTransaction<u128>>;
|
|
705
542
|
/**
|
|
706
543
|
* Construct and simulate a get_price 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.
|
|
707
544
|
* Get the price for a destination EID.
|
|
708
545
|
*/
|
|
709
546
|
get_price: ({ dst_eid }: {
|
|
710
547
|
dst_eid: u32;
|
|
711
|
-
}, txnOptions?:
|
|
712
|
-
/**
|
|
713
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
714
|
-
*/
|
|
715
|
-
fee?: number;
|
|
716
|
-
/**
|
|
717
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
718
|
-
*/
|
|
719
|
-
timeoutInSeconds?: number;
|
|
720
|
-
/**
|
|
721
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
722
|
-
*/
|
|
723
|
-
simulate?: boolean;
|
|
724
|
-
}) => Promise<AssembledTransaction<Option<Price>>>;
|
|
548
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Price>>>;
|
|
725
549
|
/**
|
|
726
550
|
* Construct and simulate a get_price_ratio_denominator 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.
|
|
727
551
|
* Get the price ratio denominator.
|
|
728
552
|
*/
|
|
729
|
-
get_price_ratio_denominator: (
|
|
730
|
-
/**
|
|
731
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
732
|
-
*/
|
|
733
|
-
fee?: number;
|
|
734
|
-
/**
|
|
735
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
736
|
-
*/
|
|
737
|
-
timeoutInSeconds?: number;
|
|
738
|
-
/**
|
|
739
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
740
|
-
*/
|
|
741
|
-
simulate?: boolean;
|
|
742
|
-
}) => Promise<AssembledTransaction<u128>>;
|
|
553
|
+
get_price_ratio_denominator: (options?: MethodOptions) => Promise<AssembledTransaction<u128>>;
|
|
743
554
|
/**
|
|
744
555
|
* 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.
|
|
745
|
-
* The type of data required for migration.
|
|
746
556
|
* Upgrades the contract to new WASM bytecode.
|
|
747
557
|
* Sets a migration flag that must be cleared by calling `migrate`.
|
|
748
558
|
*/
|
|
749
559
|
upgrade: ({ new_wasm_hash }: {
|
|
750
560
|
new_wasm_hash: Buffer;
|
|
751
|
-
}, txnOptions?:
|
|
752
|
-
/**
|
|
753
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
754
|
-
*/
|
|
755
|
-
fee?: number;
|
|
756
|
-
/**
|
|
757
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
758
|
-
*/
|
|
759
|
-
timeoutInSeconds?: number;
|
|
760
|
-
/**
|
|
761
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
762
|
-
*/
|
|
763
|
-
simulate?: boolean;
|
|
764
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
561
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
765
562
|
/**
|
|
766
563
|
* Construct and simulate a migrate transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
767
564
|
* Runs migration logic after an upgrade.
|
|
768
|
-
*
|
|
565
|
+
* Parses XDR-encoded `migration_data` and calls `__migrate`. Clears the migration flag on success.
|
|
769
566
|
*/
|
|
770
567
|
migrate: ({ migration_data }: {
|
|
771
568
|
migration_data: Buffer;
|
|
772
|
-
}, txnOptions?:
|
|
773
|
-
/**
|
|
774
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
775
|
-
*/
|
|
776
|
-
fee?: number;
|
|
777
|
-
/**
|
|
778
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
779
|
-
*/
|
|
780
|
-
timeoutInSeconds?: number;
|
|
781
|
-
/**
|
|
782
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
783
|
-
*/
|
|
784
|
-
simulate?: boolean;
|
|
785
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
569
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
786
570
|
/**
|
|
787
571
|
* Construct and simulate a freeze transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
788
|
-
* Permanently freezes the contract, preventing any future upgrades.
|
|
789
|
-
* This action is irreversible.
|
|
572
|
+
* Permanently freezes the contract, preventing any future upgrades. Irreversible.
|
|
790
573
|
*/
|
|
791
|
-
freeze: (
|
|
792
|
-
/**
|
|
793
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
794
|
-
*/
|
|
795
|
-
fee?: number;
|
|
796
|
-
/**
|
|
797
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
798
|
-
*/
|
|
799
|
-
timeoutInSeconds?: number;
|
|
800
|
-
/**
|
|
801
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
802
|
-
*/
|
|
803
|
-
simulate?: boolean;
|
|
804
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
574
|
+
freeze: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
805
575
|
/**
|
|
806
576
|
* Construct and simulate a is_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
807
577
|
* Returns whether the contract is frozen (upgrades disabled).
|
|
808
578
|
*/
|
|
809
|
-
is_frozen: (
|
|
810
|
-
/**
|
|
811
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
812
|
-
*/
|
|
813
|
-
fee?: number;
|
|
814
|
-
/**
|
|
815
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
816
|
-
*/
|
|
817
|
-
timeoutInSeconds?: number;
|
|
818
|
-
/**
|
|
819
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
820
|
-
*/
|
|
821
|
-
simulate?: boolean;
|
|
822
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
579
|
+
is_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
823
580
|
/**
|
|
824
581
|
* Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
825
582
|
*/
|
|
826
|
-
authorizer: (
|
|
827
|
-
/**
|
|
828
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
829
|
-
*/
|
|
830
|
-
fee?: number;
|
|
831
|
-
/**
|
|
832
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
833
|
-
*/
|
|
834
|
-
timeoutInSeconds?: number;
|
|
835
|
-
/**
|
|
836
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
837
|
-
*/
|
|
838
|
-
simulate?: boolean;
|
|
839
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
583
|
+
authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
840
584
|
/**
|
|
841
585
|
* Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
842
586
|
* Returns the current owner address, or None if no owner is set.
|
|
843
587
|
*/
|
|
844
|
-
owner: (
|
|
845
|
-
/**
|
|
846
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
847
|
-
*/
|
|
848
|
-
fee?: number;
|
|
849
|
-
/**
|
|
850
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
851
|
-
*/
|
|
852
|
-
timeoutInSeconds?: number;
|
|
853
|
-
/**
|
|
854
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
855
|
-
*/
|
|
856
|
-
simulate?: boolean;
|
|
857
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
588
|
+
owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
858
589
|
/**
|
|
859
590
|
* Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
860
591
|
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
861
592
|
*/
|
|
862
|
-
pending_owner: (
|
|
863
|
-
/**
|
|
864
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
865
|
-
*/
|
|
866
|
-
fee?: number;
|
|
867
|
-
/**
|
|
868
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
869
|
-
*/
|
|
870
|
-
timeoutInSeconds?: number;
|
|
871
|
-
/**
|
|
872
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
873
|
-
*/
|
|
874
|
-
simulate?: boolean;
|
|
875
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
593
|
+
pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
876
594
|
/**
|
|
877
595
|
* Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
878
596
|
* Transfers ownership immediately to a new address.
|
|
@@ -886,20 +604,7 @@ export interface Client {
|
|
|
886
604
|
*/
|
|
887
605
|
transfer_ownership: ({ new_owner }: {
|
|
888
606
|
new_owner: string;
|
|
889
|
-
}, txnOptions?:
|
|
890
|
-
/**
|
|
891
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
892
|
-
*/
|
|
893
|
-
fee?: number;
|
|
894
|
-
/**
|
|
895
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
896
|
-
*/
|
|
897
|
-
timeoutInSeconds?: number;
|
|
898
|
-
/**
|
|
899
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
900
|
-
*/
|
|
901
|
-
simulate?: boolean;
|
|
902
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
607
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
903
608
|
/**
|
|
904
609
|
* Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
905
610
|
* Proposes an ownership transfer to a new address.
|
|
@@ -921,20 +626,7 @@ export interface Client {
|
|
|
921
626
|
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
922
627
|
new_owner: string;
|
|
923
628
|
ttl: u32;
|
|
924
|
-
}, txnOptions?:
|
|
925
|
-
/**
|
|
926
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
927
|
-
*/
|
|
928
|
-
fee?: number;
|
|
929
|
-
/**
|
|
930
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
931
|
-
*/
|
|
932
|
-
timeoutInSeconds?: number;
|
|
933
|
-
/**
|
|
934
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
935
|
-
*/
|
|
936
|
-
simulate?: boolean;
|
|
937
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
629
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
938
630
|
/**
|
|
939
631
|
* Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
940
632
|
* Accepts a pending 2-step ownership transfer.
|
|
@@ -944,20 +636,7 @@ export interface Client {
|
|
|
944
636
|
* # Panics
|
|
945
637
|
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
946
638
|
*/
|
|
947
|
-
accept_ownership: (
|
|
948
|
-
/**
|
|
949
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
950
|
-
*/
|
|
951
|
-
fee?: number;
|
|
952
|
-
/**
|
|
953
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
954
|
-
*/
|
|
955
|
-
timeoutInSeconds?: number;
|
|
956
|
-
/**
|
|
957
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
958
|
-
*/
|
|
959
|
-
simulate?: boolean;
|
|
960
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
639
|
+
accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
961
640
|
/**
|
|
962
641
|
* Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
963
642
|
* Permanently renounces ownership.
|
|
@@ -966,20 +645,7 @@ export interface Client {
|
|
|
966
645
|
* - `OwnerNotSet` if no owner is currently set
|
|
967
646
|
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
968
647
|
*/
|
|
969
|
-
renounce_ownership: (
|
|
970
|
-
/**
|
|
971
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
972
|
-
*/
|
|
973
|
-
fee?: number;
|
|
974
|
-
/**
|
|
975
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
976
|
-
*/
|
|
977
|
-
timeoutInSeconds?: number;
|
|
978
|
-
/**
|
|
979
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
980
|
-
*/
|
|
981
|
-
simulate?: boolean;
|
|
982
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
648
|
+
renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
983
649
|
/**
|
|
984
650
|
* Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
985
651
|
* Extends the instance TTL.
|
|
@@ -992,20 +658,7 @@ export interface Client {
|
|
|
992
658
|
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
993
659
|
threshold: u32;
|
|
994
660
|
extend_to: u32;
|
|
995
|
-
}, txnOptions?:
|
|
996
|
-
/**
|
|
997
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
998
|
-
*/
|
|
999
|
-
fee?: number;
|
|
1000
|
-
/**
|
|
1001
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1002
|
-
*/
|
|
1003
|
-
timeoutInSeconds?: number;
|
|
1004
|
-
/**
|
|
1005
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1006
|
-
*/
|
|
1007
|
-
simulate?: boolean;
|
|
1008
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
661
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1009
662
|
/**
|
|
1010
663
|
* Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1011
664
|
* Sets TTL configs for instance and persistent storage.
|
|
@@ -1024,38 +677,12 @@ export interface Client {
|
|
|
1024
677
|
set_ttl_configs: ({ instance, persistent }: {
|
|
1025
678
|
instance: Option<TtlConfig>;
|
|
1026
679
|
persistent: Option<TtlConfig>;
|
|
1027
|
-
}, txnOptions?:
|
|
1028
|
-
/**
|
|
1029
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1030
|
-
*/
|
|
1031
|
-
fee?: number;
|
|
1032
|
-
/**
|
|
1033
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1034
|
-
*/
|
|
1035
|
-
timeoutInSeconds?: number;
|
|
1036
|
-
/**
|
|
1037
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1038
|
-
*/
|
|
1039
|
-
simulate?: boolean;
|
|
1040
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
680
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1041
681
|
/**
|
|
1042
682
|
* Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1043
683
|
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
1044
684
|
*/
|
|
1045
|
-
ttl_configs: (
|
|
1046
|
-
/**
|
|
1047
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1048
|
-
*/
|
|
1049
|
-
fee?: number;
|
|
1050
|
-
/**
|
|
1051
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1052
|
-
*/
|
|
1053
|
-
timeoutInSeconds?: number;
|
|
1054
|
-
/**
|
|
1055
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1056
|
-
*/
|
|
1057
|
-
simulate?: boolean;
|
|
1058
|
-
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
685
|
+
ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
1059
686
|
/**
|
|
1060
687
|
* Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1061
688
|
* Permanently freezes TTL configs, preventing any future modifications.
|
|
@@ -1066,38 +693,12 @@ export interface Client {
|
|
|
1066
693
|
* # Panics
|
|
1067
694
|
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
1068
695
|
*/
|
|
1069
|
-
freeze_ttl_configs: (
|
|
1070
|
-
/**
|
|
1071
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1072
|
-
*/
|
|
1073
|
-
fee?: number;
|
|
1074
|
-
/**
|
|
1075
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1076
|
-
*/
|
|
1077
|
-
timeoutInSeconds?: number;
|
|
1078
|
-
/**
|
|
1079
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1080
|
-
*/
|
|
1081
|
-
simulate?: boolean;
|
|
1082
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
696
|
+
freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1083
697
|
/**
|
|
1084
698
|
* Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1085
699
|
* Returns whether TTL configs are frozen.
|
|
1086
700
|
*/
|
|
1087
|
-
is_ttl_configs_frozen: (
|
|
1088
|
-
/**
|
|
1089
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1090
|
-
*/
|
|
1091
|
-
fee?: number;
|
|
1092
|
-
/**
|
|
1093
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1094
|
-
*/
|
|
1095
|
-
timeoutInSeconds?: number;
|
|
1096
|
-
/**
|
|
1097
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1098
|
-
*/
|
|
1099
|
-
simulate?: boolean;
|
|
1100
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
701
|
+
is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1101
702
|
}
|
|
1102
703
|
export declare class Client extends ContractClient {
|
|
1103
704
|
readonly options: ContractClientOptions;
|