@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.
Files changed (328) hide show
  1. package/.turbo/turbo-build.log +347 -271
  2. package/.turbo/turbo-lint.log +277 -208
  3. package/.turbo/turbo-test.log +1700 -1370
  4. package/Cargo.lock +22 -51
  5. package/Cargo.toml +6 -1
  6. package/contracts/common-macros/src/auth.rs +10 -9
  7. package/contracts/common-macros/src/contract_ttl.rs +1 -4
  8. package/contracts/common-macros/src/error.rs +1 -3
  9. package/contracts/common-macros/src/lib.rs +65 -61
  10. package/contracts/common-macros/src/storage.rs +212 -65
  11. package/contracts/common-macros/src/tests/auth.rs +75 -6
  12. package/contracts/common-macros/src/tests/contract_ttl.rs +383 -350
  13. package/contracts/common-macros/src/tests/error.rs +9 -21
  14. package/contracts/common-macros/src/tests/lz_contract.rs +80 -0
  15. package/contracts/common-macros/src/tests/mod.rs +2 -0
  16. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -3
  17. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +28 -1
  18. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +8 -43
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +6 -29
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +31 -0
  21. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +8 -0
  22. package/contracts/common-macros/src/tests/storage/extract_fields.rs +87 -0
  23. package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +223 -0
  24. package/contracts/common-macros/src/tests/storage/gen_args.rs +65 -0
  25. package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +78 -0
  26. package/contracts/common-macros/src/tests/storage/gen_key.rs +108 -0
  27. package/contracts/common-macros/src/tests/storage/gen_params.rs +105 -0
  28. package/contracts/common-macros/src/tests/{storage.rs → storage/generate_storage.rs} +54 -129
  29. package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +48 -0
  30. package/contracts/common-macros/src/tests/storage/mod.rs +16 -0
  31. package/contracts/common-macros/src/tests/storage/parse_default.rs +164 -0
  32. package/contracts/common-macros/src/tests/storage/parse_name.rs +159 -0
  33. package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +124 -0
  34. package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +174 -0
  35. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +412 -0
  36. package/contracts/common-macros/src/tests/storage/storage_kind.rs +39 -0
  37. package/contracts/common-macros/src/tests/storage/test_setup.rs +25 -0
  38. package/contracts/common-macros/src/tests/storage/validate_attrs.rs +138 -0
  39. package/contracts/common-macros/src/tests/storage/variant_config.rs +226 -0
  40. package/contracts/common-macros/src/tests/test_helpers.rs +4 -10
  41. package/contracts/common-macros/src/tests/ttl_configurable.rs +2 -2
  42. package/contracts/common-macros/src/tests/ttl_extendable.rs +32 -0
  43. package/contracts/common-macros/src/tests/upgradeable.rs +118 -2
  44. package/contracts/common-macros/src/ttl_configurable.rs +1 -4
  45. package/contracts/common-macros/src/upgradeable.rs +21 -3
  46. package/contracts/endpoint-v2/Cargo.toml +0 -4
  47. package/contracts/endpoint-v2/src/endpoint_v2.rs +37 -17
  48. package/contracts/endpoint-v2/src/errors.rs +26 -1
  49. package/contracts/endpoint-v2/src/interfaces/layerzero_endpoint_v2.rs +1 -1
  50. package/contracts/endpoint-v2/src/interfaces/message_lib_manager.rs +4 -4
  51. package/contracts/endpoint-v2/src/interfaces/messaging_composer.rs +2 -2
  52. package/contracts/endpoint-v2/src/lib.rs +0 -1
  53. package/contracts/endpoint-v2/src/message_lib_manager.rs +39 -8
  54. package/contracts/endpoint-v2/src/messaging_channel.rs +36 -4
  55. package/contracts/endpoint-v2/src/messaging_composer.rs +18 -4
  56. package/contracts/endpoint-v2/src/storage.rs +9 -1
  57. package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
  58. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +1 -1
  59. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
  60. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +3 -3
  61. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +5 -5
  62. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +2 -2
  63. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +5 -5
  64. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +3 -3
  65. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +1 -1
  66. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +4 -3
  67. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +7 -2
  68. package/contracts/endpoint-v2/src/tests/messaging_composer/mod.rs +4 -0
  69. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +7 -2
  70. package/contracts/layerzero-views/src/layerzero_view.rs +0 -1
  71. package/contracts/layerzero-views/src/tests/mod.rs +1 -0
  72. package/contracts/layerzero-views/src/tests/types_tests.rs +31 -0
  73. package/contracts/layerzero-views/src/types.rs +2 -3
  74. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +61 -0
  75. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +97 -0
  76. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +99 -0
  77. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +3 -0
  78. package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +5 -0
  79. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +86 -0
  80. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +47 -0
  81. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +77 -0
  82. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +114 -0
  83. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +105 -0
  84. package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +242 -0
  85. package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +9 -0
  86. package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +54 -0
  87. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +13 -0
  88. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -0
  89. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +70 -1
  90. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +219 -0
  91. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +41 -0
  92. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +48 -16
  93. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +10 -0
  94. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +96 -3
  95. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +4 -0
  96. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +64 -0
  97. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +16 -0
  98. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +305 -0
  99. package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +3 -0
  100. package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +59 -0
  101. package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +88 -0
  102. package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
  103. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +6 -0
  104. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +7 -0
  105. package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +102 -0
  106. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +6 -0
  107. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +7 -0
  108. package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +83 -0
  109. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +11 -0
  110. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +7 -0
  111. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +11 -0
  112. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +7 -0
  113. package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +22 -0
  114. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +6 -0
  115. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +7 -0
  116. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +20 -0
  117. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +20 -0
  118. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +8 -0
  119. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +7 -0
  120. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +10 -0
  121. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +7 -0
  122. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +20 -0
  123. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +86 -0
  124. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +45 -0
  125. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +34 -0
  126. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +30 -0
  127. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +39 -0
  128. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +28 -0
  129. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +8 -0
  130. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +7 -0
  131. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +20 -0
  132. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +12 -0
  133. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +20 -0
  134. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +5 -0
  135. package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +49 -0
  136. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +8 -0
  137. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +7 -0
  138. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +19 -0
  139. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +12 -0
  140. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +1 -1
  141. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -8
  142. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +39 -0
  143. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +7 -1
  144. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +1 -1
  145. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +1 -1
  146. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +11 -0
  147. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +7 -0
  148. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +11 -0
  149. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +7 -0
  150. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +11 -0
  151. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +7 -0
  152. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +1 -1
  153. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +13 -0
  154. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +7 -0
  155. package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +102 -0
  156. package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +43 -0
  157. package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +38 -0
  158. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +14 -0
  159. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +71 -0
  160. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +8 -0
  161. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +7 -0
  162. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/{minimal_contract.rs → basic.rs} +2 -0
  163. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +28 -0
  164. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +32 -0
  165. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +8 -0
  166. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +7 -0
  167. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +23 -0
  168. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +21 -0
  169. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +11 -0
  170. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +29 -0
  171. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +20 -0
  172. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +71 -0
  173. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +10 -0
  174. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +79 -0
  175. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +8 -0
  176. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +7 -0
  177. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +43 -0
  178. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +35 -0
  179. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +30 -0
  180. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +29 -0
  181. package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +12 -0
  182. package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +12 -0
  183. package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +11 -0
  184. package/contracts/macro-integration-tests/tests/ui_multisig.rs +11 -0
  185. package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +12 -0
  186. package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +11 -0
  187. package/contracts/message-libs/blocked-message-lib/Cargo.toml +1 -1
  188. package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -1
  189. package/contracts/message-libs/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +108 -0
  190. package/contracts/message-libs/blocked-message-lib/src/tests/mod.rs +4 -0
  191. package/contracts/message-libs/blocked-message-lib/src/tests/setup.rs +40 -0
  192. package/contracts/message-libs/simple-message-lib/src/lib.rs +1 -1
  193. package/contracts/message-libs/simple-message-lib/src/tests/mod.rs +2 -0
  194. package/contracts/message-libs/simple-message-lib/src/tests/setup.rs +124 -0
  195. package/contracts/message-libs/simple-message-lib/src/tests/simple_message_lib_tests.rs +309 -0
  196. package/contracts/message-libs/uln-302/src/errors.rs +21 -0
  197. package/contracts/message-libs/uln-302/src/interfaces/receive_uln.rs +1 -1
  198. package/contracts/message-libs/uln-302/src/receive_uln.rs +6 -4
  199. package/contracts/message-libs/uln-302/src/send_uln.rs +15 -6
  200. package/contracts/message-libs/uln-302/src/storage.rs +5 -5
  201. package/contracts/message-libs/uln-302/src/tests/uln302/get_config.rs +71 -0
  202. package/contracts/message-libs/uln-302/src/tests/uln302/mod.rs +1 -0
  203. package/contracts/message-libs/uln-302/src/uln302.rs +3 -0
  204. package/contracts/oapps/counter/Cargo.toml +2 -0
  205. package/contracts/oapps/counter/integration_tests/mod.rs +1 -0
  206. package/contracts/oapps/counter/integration_tests/setup_sml.rs +6 -4
  207. package/contracts/oapps/counter/integration_tests/setup_uln.rs +12 -5
  208. package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +67 -0
  209. package/contracts/oapps/counter/src/tests/mod.rs +1 -0
  210. package/contracts/oapps/counter/src/tests/test_u256_ext.rs +48 -0
  211. package/contracts/oapps/oapp/src/lib.rs +0 -3
  212. package/contracts/oapps/oapp/src/tests/mod.rs +1 -0
  213. package/contracts/oapps/oft/integration-tests/setup.rs +2 -3
  214. package/contracts/oapps/oft/src/lib.rs +3 -0
  215. package/contracts/oapps/oft/src/tests/extensions/mod.rs +3 -0
  216. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +240 -0
  217. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +141 -0
  218. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +447 -0
  219. package/contracts/oapps/oft/src/tests/mod.rs +2 -0
  220. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +180 -0
  221. package/contracts/oapps/oft/src/tests/oft_types/mod.rs +1 -0
  222. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -3
  223. package/contracts/oapps/oft-core/src/lib.rs +2 -2
  224. package/contracts/oapps/oft-core/src/tests/mod.rs +1 -1
  225. package/contracts/oapps/oft-core/src/tests/{test_oft_version.rs → test_oft_version_and_approval.rs} +9 -0
  226. package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -43
  227. package/contracts/upgrader/src/tests/test_upgrader.rs +18 -0
  228. package/contracts/utils/src/auth.rs +2 -2
  229. package/contracts/utils/src/buffer_reader.rs +61 -10
  230. package/contracts/utils/src/buffer_writer.rs +35 -20
  231. package/contracts/utils/src/bytes_ext.rs +1 -2
  232. package/contracts/utils/src/errors.rs +5 -3
  233. package/contracts/utils/src/multisig.rs +59 -36
  234. package/contracts/utils/src/option_ext.rs +3 -3
  235. package/contracts/utils/src/ownable.rs +12 -6
  236. package/contracts/utils/src/tests/auth.rs +179 -0
  237. package/contracts/utils/src/tests/buffer_reader.rs +203 -1
  238. package/contracts/utils/src/tests/buffer_writer.rs +176 -5
  239. package/contracts/utils/src/tests/mod.rs +2 -0
  240. package/contracts/utils/src/tests/multisig.rs +170 -141
  241. package/contracts/utils/src/tests/option_ext.rs +1 -1
  242. package/contracts/utils/src/tests/ownable.rs +156 -161
  243. package/contracts/utils/src/tests/test_helper.rs +21 -1
  244. package/contracts/utils/src/tests/testing_utils.rs +84 -2
  245. package/contracts/utils/src/tests/ttl_configurable.rs +66 -86
  246. package/contracts/utils/src/tests/ttl_extendable.rs +64 -0
  247. package/contracts/utils/src/tests/upgradeable.rs +115 -6
  248. package/contracts/utils/src/ttl_configurable.rs +22 -12
  249. package/contracts/utils/src/ttl_extendable.rs +1 -3
  250. package/contracts/utils/src/upgradeable.rs +21 -24
  251. package/contracts/workers/dvn/src/auth.rs +1 -1
  252. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  253. package/contracts/workers/dvn/src/storage.rs +1 -1
  254. package/contracts/workers/dvn/src/tests/auth.rs +136 -3
  255. package/contracts/workers/dvn/src/tests/mod.rs +0 -1
  256. package/contracts/workers/dvn/src/tests/setup.rs +4 -10
  257. package/contracts/workers/executor-helper/src/tests/executor_helper.rs +279 -0
  258. package/contracts/workers/executor-helper/src/tests/setup.rs +106 -1
  259. package/contracts/workers/worker/src/worker.rs +1 -1
  260. package/docs/oft-guide.md +5 -5
  261. package/package.json +5 -7
  262. package/sdk/.turbo/turbo-test.log +662 -466
  263. package/sdk/LICENSE +23 -0
  264. package/sdk/dist/generated/bml.d.ts +101 -106
  265. package/sdk/dist/generated/bml.js +108 -26
  266. package/sdk/dist/generated/counter.d.ts +123 -484
  267. package/sdk/dist/generated/counter.js +103 -25
  268. package/sdk/dist/generated/dvn.d.ts +141 -699
  269. package/sdk/dist/generated/dvn.js +106 -28
  270. package/sdk/dist/generated/dvn_fee_lib.d.ts +31 -248
  271. package/sdk/dist/generated/dvn_fee_lib.js +27 -24
  272. package/sdk/dist/generated/endpoint.d.ts +158 -836
  273. package/sdk/dist/generated/endpoint.js +107 -29
  274. package/sdk/dist/generated/executor.d.ts +139 -671
  275. package/sdk/dist/generated/executor.js +106 -28
  276. package/sdk/dist/generated/executor_fee_lib.d.ts +109 -264
  277. package/sdk/dist/generated/executor_fee_lib.js +106 -28
  278. package/sdk/dist/generated/executor_helper.d.ts +95 -92
  279. package/sdk/dist/generated/executor_helper.js +103 -25
  280. package/sdk/dist/generated/layerzero_view.d.ts +178 -335
  281. package/sdk/dist/generated/layerzero_view.js +172 -33
  282. package/sdk/dist/generated/oft.d.ts +137 -680
  283. package/sdk/dist/generated/oft.js +103 -25
  284. package/sdk/dist/generated/price_feed.d.ts +45 -444
  285. package/sdk/dist/generated/price_feed.js +27 -24
  286. package/sdk/dist/generated/sml.d.ts +119 -428
  287. package/sdk/dist/generated/sml.js +103 -25
  288. package/sdk/dist/generated/treasury.d.ts +109 -288
  289. package/sdk/dist/generated/treasury.js +103 -25
  290. package/sdk/dist/generated/uln302.d.ts +190 -527
  291. package/sdk/dist/generated/uln302.js +170 -31
  292. package/sdk/dist/generated/upgrader.d.ts +14 -34
  293. package/sdk/dist/generated/upgrader.js +24 -21
  294. package/sdk/package.json +3 -4
  295. package/sdk/test/counter-sml.test.ts +218 -142
  296. package/sdk/test/counter-uln.test.ts +189 -145
  297. package/sdk/test/oft-sml.test.ts +173 -156
  298. package/sdk/test/suites/constants.ts +7 -1
  299. package/sdk/test/suites/globalSetup.ts +140 -74
  300. package/sdk/turbo.json +1 -1
  301. package/tools/ts-bindings-gen/Cargo.toml +4 -4
  302. package/tools/ts-bindings-gen/src/main.rs +4 -0
  303. package/turbo.json +3 -0
  304. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +0 -1072
  305. package/contracts/endpoint-v2/src/constants.rs +0 -52
  306. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +0 -12
  307. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +0 -7
  308. package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +0 -20
  309. package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +0 -15
  310. package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +0 -16
  311. package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +0 -26
  312. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +0 -21
  313. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +0 -12
  314. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +0 -7
  315. package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +0 -14
  316. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +0 -14
  317. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +0 -16
  318. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +0 -15
  319. package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +0 -14
  320. package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +0 -19
  321. package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +0 -15
  322. package/contracts/message-libs/simple-message-lib/src/test.rs +0 -280
  323. package/contracts/oapps/oapp/src/macro_tests/mod.rs +0 -1
  324. package/contracts/workers/dvn/src/tests/multisig/mod.rs +0 -3
  325. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +0 -132
  326. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +0 -109
  327. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +0 -106
  328. /package/contracts/oapps/oapp/src/{macro_tests → tests}/test_macros.rs +0 -0
@@ -6,92 +6,167 @@ 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: 59070 bytes (57.69 KB)
9
+ * Size: 58012 bytes (56.65 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "AGFzbQEAAAABxgIwYAF+AX5gBH5+fn4BfmACfn4BfmADfn5+AX5gAAF+YAJ/fgBgBX5/f39/AGAFfn5+fn4AYAJ/fwF+YAN+fn4AYAN/f38AYAF/AX5gAn9/AGACfn4Bf2ABfwF/YAN/fn4AYAN/f34AYAR+fn5+AX9gAn9/AX9gAn9+AX9gBH5/fn4Bf2AAAGAAAX9gAX8AYAJ+fwBgAX4AYAJ+fwF+YAR/f39/AX5gBH5+f34BfmAEfn5/fwF+YAN+f38AYAV/fn5+fgBgAX4Bf2AGf35/fn5+AGADfn5+AX9gBH5/fn4AYAV+f35+fgBgA39+fwBgBX5+fn9+AGAFfn5+fn4BfmAFf35+fn8AYAp+fn5+fn5+fn5+AX5gA35/fgF+YAZ+fn5+fn4BfmAFf35/fn4AYAN+f34Bf2AJfn5+fn5+fn5+AX5gAn5+AALxASgBaQFfAAABaQEwAAABbAE3AAEBbAExAAIBbAFfAAMBYQEwAAABdgExAAIBYgE0AAQBYgE4AAABYgFfAAABYgFmAAMBYwExAAABeAExAAIBdgFfAAQBZAFfAAMBdgEzAAABYgFtAAMBbAEyAAIBdgE2AAIBeAE3AAQBYgFlAAIBYgFpAAIBYQExAAABYgExAAEBdgFnAAIBaQE4AAABaQE3AAABaQE2AAIBYgFqAAIBYgEyAAEBYgEzAAIBbQE5AAMBbQFhAAEBeAEwAAIBeAE0AAQBeAEzAAQBeAE4AAQBbAEwAAIBbAE4AAIBeAE1AAAD0AHOAQUGBQUFBQUFBwIICQoLDA0MDAwODw8FDwUFABARDRISExQMFRYXDAsVBAQXGBUXGQsXGhsCCwsLCwsKBQ8MDAwRGAwFHB0SBR4FExcIAhcfDyASIRUFBRkgGCIYGBYjFyQjFgwMDCUlHiYnKCcLKQEnKissKisDKgMDAwEAFgACDAMMBAIBBScBJQEAAAQCFQAAAAAMAiUCAiUDLQECAwQPFwETEycYLgACBAICBAQAAAwMGQMEBAQALwIVFg8EBAICBQsEDAQEFQoFCgwKBQMBABEGIQR/AUGAgMAAC38AQZ2LwAALfwBBuo3AAAt/AEHAjcAACwefCUAGbWVtb3J5AgAMc2VuZF9jb21wb3NlAJIBDWNsZWFyX2NvbXBvc2UAlAEQbHpfY29tcG9zZV9hbGVydACWAQ1jb21wb3NlX3F1ZXVlAJcBBHNraXAAmAEGbmlsaWZ5AJoBBGJ1cm4AnQEJbmV4dF9ndWlkAJ4BDm91dGJvdW5kX25vbmNlAKABDWluYm91bmRfbm9uY2UAoQESbGF6eV9pbmJvdW5kX25vbmNlAKIBFGluYm91bmRfcGF5bG9hZF9oYXNoAKMBEHJlZ2lzdGVyX2xpYnJhcnkApAEYc2V0X2RlZmF1bHRfc2VuZF9saWJyYXJ5AKcBG3NldF9kZWZhdWx0X3JlY2VpdmVfbGlicmFyeQCpAR9zZXRfZGVmYXVsdF9yZWNlaXZlX2xpYl90aW1lb3V0AKwBEHNldF9zZW5kX2xpYnJhcnkArQETc2V0X3JlY2VpdmVfbGlicmFyeQCvARtzZXRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAsAEKc2V0X2NvbmZpZwCyARVpc19yZWdpc3RlcmVkX2xpYnJhcnkAswERZ2V0X2xpYnJhcnlfaW5kZXgAtAEacmVnaXN0ZXJlZF9saWJyYXJpZXNfY291bnQAtQEYZ2V0X3JlZ2lzdGVyZWRfbGlicmFyaWVzALYBEGlzX3N1cHBvcnRlZF9laWQAuAEUZGVmYXVsdF9zZW5kX2xpYnJhcnkAuQEXZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnkAugEfZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnlfdGltZW91dAC7ARBnZXRfc2VuZF9saWJyYXJ5AL0BE2dldF9yZWNlaXZlX2xpYnJhcnkAvwEXcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAwAEYaXNfdmFsaWRfcmVjZWl2ZV9saWJyYXJ5AMIBCmdldF9jb25maWcAxAEFcXVvdGUAxQEEc2VuZADGAQZ2ZXJpZnkAygEFY2xlYXIAzQEQbHpfcmVjZWl2ZV9hbGVydADPAQdzZXRfenJvANABDHNldF9kZWxlZ2F0ZQDRAQNlaWQA0gENaW5pdGlhbGl6YWJsZQDTAQp2ZXJpZmlhYmxlANQBDG5hdGl2ZV90b2tlbgDVAQN6cm8A1gEIZGVsZWdhdGUA1wENX19jb25zdHJ1Y3RvcgDYAQ1yZWNvdmVyX3Rva2VuANwBCmF1dGhvcml6ZXIA3QEFb3duZXIA3gENcGVuZGluZ19vd25lcgDfARJ0cmFuc2Zlcl9vd25lcnNoaXAA4AEacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIA4gEQYWNjZXB0X293bmVyc2hpcADmARJyZW5vdW5jZV9vd25lcnNoaXAA5wETZXh0ZW5kX2luc3RhbmNlX3R0bADoAQ9zZXRfdHRsX2NvbmZpZ3MA6QELdHRsX2NvbmZpZ3MA7AESZnJlZXplX3R0bF9jb25maWdzAO4BFWlzX3R0bF9jb25maWdzX2Zyb3plbgDvAQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMK6PQBzgHiAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH8hMCAAEEDIAJBCGpBAxCpgICAACACQSBqIAIpAwgQqoCAgAAgAigCIA0AIAIpAyghASACQSBqIAIpAxAQq4CAgAAgAigCIA0AIAIpAxgiBUL/AYNCBFINACACKQMoIQQgACABNwMQIAAgBDcDCCAAIAVCIIg+AhhCACEECyAAIAQ3AwAgAkEwaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQoICAgAAaC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQgYCAgAAhAQsgACADNwMAIAAgATcDCAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDxgICAAAt2AQF/I4CAgIAAQSBrIgIkgICAgAACQAJAIAFCAlENACACQQhqIAEQrYCAgAACQCACKAIIRQ0AIABCAjcDAAwCCyACKQMQIQEgACACKQMYNwMQIAAgATcDCCAAQgE3AwAMAQsgAEIANwMACyACQSBqJICAgIAAC7EBAgJ/AX4jgICAgABBIGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IBIQQCQCABQv8Bg0LMAFINACABQeCGwIAAQQIgAkECEKmAgIAAIAJBEGogAikDABCqgICAACACKAIQDQAgAikDCCIBQv8Bg0LNAFINACAAIAIpAxg3AxAgACABNwMIQgAhBAsgACAENwMAIAJBIGokgICAgAALlAIEAn8CfgF/AX4jgICAgABBwABrIgIkgICAgABBACEDAkADQCADQShGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtBAiEDAkAgAUL/AYNCzABSDQAgAUHAhMCAAEEFIAJBCGpBBRCpgICAACACKQMIIgFC/wGDQgRSDQAgAikDECIEQv8Bg0LIAFINACACKQMYIgVC/wGDQsgAUg0AQQIhA0EBIAItACAiBkEAR0EBdCAGQQFGGyIGQQJGDQAgAkEwaiACKQMoEKuAgIAAIAIoAjANACACKQM4IQcgACABQiCIpzYCGCAAIAU3AxAgACAENwMIIAAgBzcDACAGIQMLIAAgAzoAHCACQcAAaiSAgICAAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQgICAgAAhAQsgAEIANwMAIAAgATcDCAuxAQECfyOAgICAAEEwayIFJICAgIAAIAUgAyAEELGAgIAANwMQIAUgAjcDCCAFIAE3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBUEYaiAGaiAFIAZqKQMANwMAIAZBCGohBgwACwsgAEKO7uqVvrbe8wAgBUEYakEDELKAgIAAELOAgIAAIAVBMGokgICAgAAPCyAFQRhqIAZqQgI3AwAgBkEIaiEGDAALC0MBAX8jgICAgABBEGsiAiSAgICAACACIAAgARD4gICAAAJAIAIoAgBBAUcNAAALIAIpAwghASACQRBqJICAgIAAIAELGgAgAK1CIIZCBIQgAa1CIIZCBIQQmICAgAALIQACQCAAIAEgAhCOgICAAEL/AYNCAlENABDLgICAAAALCyUAIAAQtYCAgABCASABrUIghkIEhCACrUIghkIEhBCCgICAABoLxAkCAX8EfiOAgICAAEHAAGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4PAAECAwQFBgcICQoLDA0OAAsgAUEIakHciMCAAEEDEOKAgIAAIAEoAggNESABQQhqIAEpAxAQ44CAgAAMDwsgAUEIakHfiMCAAEEIEOKAgIAAIAEoAggNECABQQhqIAEpAxAgACkDCBDkgICAAAwOCyABQTBqQeeIwIAAQRAQ4oCAgAAgASgCMA0PIAEgASkDODcDCCABIAApAxA3AyAgASAAKQMINwMQIAEgADUCBEIghkIEhDcDGCABQTBqIAFBCGoQ5YCAgAAMDAsgAUEwakH3iMCAAEESEOKAgIAAIAEoAjANDiABKQM4IQIgACkDECEDIAA1AgQhBCAAKQMIIQUgAUEwaiAAKQMYEK+AgIAAIAEoAjANDiABIAEpAzg3AyggASADNwMgIAEgBTcDECABIAI3AwggASAEQiCGQgSENwMYIAFBMGogAUEIahDmgICAAAwLCyABQTBqQYmJwIAAQQ0Q4oCAgAAgASgCMA0NIAEgASkDODcDCCABIAApAxA3AyAgASAAKQMINwMQIAEgADUCBEIghkIEhDcDGCABQTBqIAFBCGoQ5YCAgAAMCgsgAUEIakGWicCAAEEWEOKAgIAAIAEoAggNDCABQQhqIAEpAxAQ44CAgAAMCgsgAUEIakGsicCAAEEOEOKAgIAAIAEoAggNCyABQQhqIAEpAxAgACkDCBDkgICAAAwJCyABQQhqQbqJwIAAQQ4Q4oCAgAAgASgCCA0KIAFBCGogASkDECAANQIEQiCGQgSEEOSAgIAADAgLIAFBCGpByInAgABBEhDigICAACABKAIIDQkgAUEIaiABKQMQIAA1AgRCIIZCBIQQ5ICAgAAMBwsgAUEIakHaicCAAEEVEOKAgIAAIAEoAggNCCABQQhqIAEpAxAgADUCBEIghkIEhBDkgICAAAwGCyABQQhqQe+JwIAAQRwQ4oCAgAAgASgCCA0HIAFBCGogASkDECAANQIEQiCGQgSEEOSAgIAADAULIAFBMGpBi4rAgABBCxDigICAACABKAIwDQYgASABKQM4NwMIIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AxggAUEwaiABQQhqEOeAgIAADAMLIAFBMGpBlorAgABBDhDigICAACABKAIwDQUgASABKQM4NwMIIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AxggAUEwaiABQQhqEOeAgIAADAILIAFBMGpBpIrAgABBFRDigICAACABKAIwDQQgASABKQM4NwMIIAEgACkDCDcDECABIAA1AgRCIIZCBIQ3AxggAUEwaiABQQhqEOeAgIAADAELIAFBMGpBuYrAgABBDBDigICAACABKAIwDQMgASABKQM4NwMIIAEgACkDGDcDICABIAApAxA3AxggASAAKQMINwMQIAEgADUCBEIghkIEhDcDKCABQTBqIAFBCGoQ5oCAgAALIAEpAzghAyABKQMwIQIMAQsgASkDECEDIAEpAwghAgsgAlANAQsACyABQcAAaiSAgICAACADC00BAn5CACECAkACQCABELWAgIAAIgNCARC3gICAAEUNACADQgEQg4CAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsACw8AIAAgARClgICAAEIBUQt0AgF/An4jgICAgABBEGsiAiSAgICAAEIAIQMCQAJAIAEQtYCAgAAiBEIBELeAgIAARQ0AIAIgBEIBEIOAgIAAEKqAgIAAIAIoAgBBAUYNASAAIAIpAwg3AwhCASEDCyAAIAM3AwAgAkEQaiSAgICAAA8LAAuFAQIBfwJ+I4CAgIAAQSBrIgIkgICAgABCACEDAkACQCABELWAgIAAIgRCARC3gICAAEUNACACQQhqIARCARCDgICAABCtgICAACACKAIIQQFGDQEgAikDECEDIAAgAikDGDcDECAAIAM3AwhCASEDCyAAIAM3AwAgAkEgaiSAgICAAA8LAAt0AgF/An4jgICAgABBEGsiAiSAgICAAEIAIQMCQAJAIAEQtYCAgAAiBEIBELeAgIAARQ0AIAIgBEIBEIOAgIAAEKuAgIAAIAIoAgBBAUYNASAAIAIpAwg3AwhCASEDCyAAIAM3AwAgAkEQaiSAgICAAA8LAAsSACAAELWAgIAAQgEQt4CAgAALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABC1gICAACEEIAMgASACEL2AgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgEQhICAgAAaIANBEGokgICAgAALbwEBfyOAgICAAEEQayIDJICAgIAAIAMgAhCvgICAAEIBIQICQCADKAIADQAgAykDCCECIAMgATcDCCADIAI3AwAgAEHghsCAAEECIANBAhDbgICAADcDCEIAIQILIAAgAjcDACADQRBqJICAgIAACw4AIAAgAUIBEL+AgIAACxUAIAAQtYCAgAAgASACEISAgIAAGgsVACAAELWAgIAAIAFCARCEgICAABoLGwAgABC1gICAACABEMKAgIAAQgEQhICAgAAaC0EBAX8jgICAgABBEGsiASSAgICAACABIAAQr4CAgAACQCABKAIAQQFHDQAACyABKQMIIQAgAUEQaiSAgICAACAACxwAIAAQtYCAgAAgAa1CIIZCBIQgAhCEgICAABoLNQEBfyAAIAKEpyEEAkAgAKdBAXFFDQAgAqdBAXFFDQAgASADEMWAgIAAQQFzIQQLIARBAXELDQAgACABEKGAgIAAUAsPACAAIAEQx4CAgABBAXMLHAACQCAADQBBAA8LIAApAwAgASkDABDFgICAAAslACAAKAIEKQMAIAAoAggoAgAgACgCDCkDACABEMmAgIAAQQFzC3wBAX8jgICAgABBMGsiBCSAgICAACAEIAM3AxggBCACNwMQIAQgATYCBCAEIAA3AwggBEEDNgIAAkAgBBC7gICAACIBRQ0AIARBJGoQh4GAgAAgBCgCJEEBRw0AIAQgBCgCKCAEKAIsELSAgIAACyAEQTBqJICAgIAAIAELZwEBfgJAAkACQCABKQMAIgJCAoUgASkDCIRQRQ0AQgAhAgwBCyACp0EBcQ0BIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMgNwMgQgEhAgsgACACNwMAIABCADcDCA8LEMuAgIAAAAsJABDwgYCAAAALiwECAn8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQzYCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEM6AgIAAC0EAIQECQEEAEM+AgIAAIgJCAhC3gICAAEUNAEEBIQECQAJAIAJCAhCDgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELDAAgAEEBEPSBgIAACxsAIACtQiCGQgSEIAGtQiCGQgSEEKaAgIAAGgvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFBoo3AgABBBhDigICAACABKAIADQMgASABKQMIEOOAgIAADAILIAFBqI3AgABBCBDigICAACABKAIADQIgASABKQMIEOOAgIAADAELIAFBsI3AgABBChDigICAACABKAIADQEgASABKQMIEOOAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAQ0YCAgAAQhYCAgAAaC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQzYCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEM6AgIAACyAAENOAgIAAIAApAwghASAAKQMAQYoIENSAgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAENOAgIAAIAApAwghASAAKQMAQYoIENSAgIAAIAEQhYCAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahDNgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQzoCAgAALIAAQ2YCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8ENeAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABDWgICAAAJAIAApAwBQDQBCg4CAgLCBARDXgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQzYCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEM6AgIAAC0IAIQICQAJAQQEQ2ICAgAAiA0IAELeAgIAARQ0AIANCABCDgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKeAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBtYzAgABBDBDigICAACABKAIADQIgASABKQMIEOOAgIAADAELIAFBsIzAgABBBRDigICAACABKAIADQEgASABKQMIEOOAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQ2ICAgAAiAkICELeAgIAARQ0AIAJCAhCDgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALSQEBfyOAgICAAEEQayICJICAgIAAIAIgADcDCCACIAGtQv8BgzcDAEH8hsCAAEECIAJBAhDbgICAACEAIAJBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJ+AgIAACw0AIAFCAiAAp0EBcRsLvwECAX8BfiOAgICAAEHQAGsiASSAgICAACABIAApAyA3AyAgASAAKQMQNwMYIAEgACkDCDcDECABIAApAwA3AwggASAAKAIYKQMANwMAQQAhAAN+AkAgAEEoRw0AQQAhAAJAA0AgAEEoRg0BIAFBKGogAGogASAAaikDADcDACAAQQhqIQAMAAsLIAFBKGpBBRCygICAACECIAFB0ABqJICAgIAAIAIPCyABQShqIABqQgI3AwAgAEEIaiEADAALC18CAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAIAAoAgANAEICIQIMAQsgASAAKQMIIAApAxAQvYCAgAAgASgCAEEBcQ0BIAEpAwghAgsgAUEQaiSAgICAACACDwsAC30CAX8BfiOAgICAAEEwayIBJICAgIAAIAFBIGogACkDCBCvgICAAAJAIAEoAiBBAUcNAAALIAEgASkDKDcDCCABIAApAwA3AxAgASAANQIQQiCGQgSENwMYQfyEwIAAQQMgAUEIakEDENuAgIAAIQIgAUEwaiSAgICAACACC7oBAgF/A34jgICAgABB0ABrIgEkgICAgAAgACkDICECIAApAxghAyAANQIsIQQgAUHAAGogACkDABCvgICAAAJAIAEoAkBBAUcNAAALIAEgASkDSDcDICABIAI3AxggASADNwMQIAEgACkDCDcDMCABIAApAxA3AyggASAEQiCGQgSENwMIIAEgADUCKEIghkIEhDcDOEGMh8CAAEEHIAFBCGpBBxDbgICAACECIAFB0ABqJICAgIAAIAILqQECAX8BfiOAgICAAEEwayIBJICAgIAAIAEgACkDEDcDECABIAApAwA3AwggASAAKAIIKQMANwMAQQAhAAN+AkAgAEEYRw0AQQAhAAJAA0AgAEEYRg0BIAFBGGogAGogASAAaikDADcDACAAQQhqIQAMAAsLIAFBGGpBAxCygICAACECIAFBMGokgICAgAAgAg8LIAFBGGogAGpCAjcDACAAQQhqIQAMAAsLUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ8YGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBELKAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCygICAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAtkAgF/AX4jgICAgABBIGsiAiSAgICAACACIAEpAxg3AxggAiABKQMQNwMQIAIgASkDCDcDCCACIAEpAwA3AwAgAkEEELKAgIAAIQMgAEIANwMAIAAgAzcDCCACQSBqJICAgIAAC3ECAX8BfiOAgICAAEEwayICJICAgIAAIAIgASkDIDcDKCACIAEpAxg3AyAgAiABKQMQNwMYIAIgASkDCDcDECACIAEpAwA3AwggAkEIakEFELKAgIAAIQMgAEIANwMAIAAgAzcDCCACQTBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCygICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAs+AQJ/IAKnIQQCQAJAIACnQQFxRQ0AQQAhBSAEQQFxRQ0BIAEgAxDFgICAACEFDAELIARBAXMhBQsgBUEBcQsmAAJAIACnQQFxRQ0ADwsgAUF/aq1CIIZCg4CAgBB8ENeAgIAAAAurAgQCfwF+AX8DfiOAgICAAEEwayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgA3AwggAEICNwMADAELIAEpAwAgA61CIIZCBIQQhoCAgAAhBEEAIQUCQANAIAVBEEYNASACIAVqQgI3AwAgBUEIaiEFDAALC0IBIQYCQAJAIARC/wGDQswAUg0AIARBzIfAgABBAiACQQIQqYCAgAAgAkEQaiACKQMAEOuAgIAAIAIoAhBBAUYNACACKQMIIgdC/wGDQs0AUq0hBiACKQMoIQggAikDICEEDAELCwJAIANBAWoiBUUNACAAIAQ3AxAgACAGNwMAIAAgBzcDICABIAU2AgggACAINwMYIABCADcDCAwBCxDLgICAAAALIAJBMGokgICAgAALfQIBfwF+AkACQAJAAkAgAadB/wFxIgJBxQBGDQAgAkELRw0CIAAgAUI/hzcDGCAAIAFCCIc3AxAMAQsgARCZgICAACEDIAEQmoCAgAAhASAAIAM3AxggACABNwMQC0IAIQEMAQsgAEKDkICAgAE3AwhCASEBCyAAIAE3AwALswQDAX8BfgJ/I4CAgIAAQSBrIgQkgICAgAAQh4CAgAAhBSAEIABCOIYgAEKA/gODQiiGhCAAQoCA/AeDQhiGIABCgICA+A+DQgiGhIQgAEIIiEKAgID4D4MgAEIYiEKAgPwHg4QgAEIoiEKA/gODIABCOIiEhIQ3AxAgBCAFIAUQiICAgABCgICAgHCDQgSEIARBEGpBCBDtgICAADcDCCAEQQhqQcDtARDugICAACEGIAEQiYCAgAAhACAEQRBqIABChICAgMAAIAAQiICAgABCgICAgHCDQgSEEIqAgIAAIgBCBEKEgICAwAAQioCAgAAQ74CAgAACQCAEKAIQQQFGDQAgBCkDGCEFIARBADYCECAFIARBEGpBBBDwgICAAAJAIAQoAhAiB0H///8HcQ0AAkACQAJAIAdBGHYOAgABAwsgBEEQaiAAQoSAgIDAAEKEgICAgAEQioCAgAAQ74CAgAAgBCgCEEEBRg0DIAQpAxghBSAEQQA2AhAgBSAEQRBqQQQQ8ICAgAAgBCgCEA0CIARBEGogAEKEgICAgAFChICAgIAFEIqAgIAAEPGAgIAAIAQoAhBBAUcNAQwDCyAEQRBqIABChICAgMAAQoSAgIDABBCKgICAABDxgICAACAEKAIQQQFGDQILIAYgBCkDGBDygICAACACEO6AgIAAIAMQ8oCAgAApAwAQi4CAgAAhACAEQSBqJICAgIAAIAAPC0KDgICAoP4AENeAgIAAAAsACx4AIAAgASACrUIghkIEhCADrUIghkIEhBCdgICAAAt3AgF/AX4jgICAgABBEGsiAiSAgICAACACIAFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyNgIMIAApAwAhAyAAIAMgAxCIgICAAEKAgICAcINCBIQgAkEMakEEEO2AgIAANwMAIAJBEGokgICAgAAgAAs2AQF+QgEhAgJAIAEQiICAgABCgICAgHCDQoCAgIDAAFINACAAIAE3AwhCACECCyAAIAI3AwALHwAgAEIEIAGtQiCGQgSEIAKtQiCGQgSEEJeAgIAAGgs2AQF+QgEhAgJAIAEQiICAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwALwAEBBH8jgICAgABBwABrIgIkgICAgAAgAkEgakEYaiIDQgA3AwAgAkEgakEQaiIEQgA3AwAgAkEgakEIaiIFQgA3AwAgAkIANwMgIAEgAkEgahDOgYCAACACQRhqIAMpAwA3AwAgAkEQaiAEKQMANwMAIAJBCGogBSkDADcDACACIAIpAyA3AwAgACkDACEBIAAgASABEIiAgIAAQoCAgIBwg0IEhCACQSAQ7YCAgAA3AwAgAkHAAGokgICAgAAgAAtuAgF/AX4jgICAgABBEGsiASSAgICAAEH/gsCAAEEfEPSAgIAAIAA1AhhCIIZCBIQQ9YCAgAAhAiABIAAQ3oCAgAA3AwggAkGog8CAAEEBIAFBCGpBARDbgICAABCMgICAABogAUEQaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDxgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLlAEBAn8jgICAgABBIGsiAiSAgICAACACIAE3AwggAiAANwMAQQAhAwN+AkAgA0EQRw0AQQAhAwJAA0AgA0EQRg0BIAJBEGogA2ogAiADaikDADcDACADQQhqIQMMAAsLIAJBEGpBAhCygICAACEBIAJBIGokgICAgAAgAQ8LIAJBEGogA2pCAjcDACADQQhqIQMMAAsLiwECAX8BfiOAgICAAEEgayIBJICAgIAAIAFB04PAgABBGxD0gICAADcDGCABIAApAxg3AwAgASAANQIgQiCGQgSENwMQIAEgAUEYajYCCCABEOGAgIAAIQIgASAAEN6AgIAANwMAIAJBqIPAgABBASABQQEQ24CAgAAQjICAgAAaIAFBIGokgICAgAALhwEBAX8jgICAgABBEGsiBSSAgICAACAFIAEgAhD4gICAAEIBIQICQCAFKAIADQAgBSkDCCEBIAUgAyAEEPiAgIAAIAUoAgANACAFIAUpAwg3AwggBSABNwMAIABBqIXAgABBAiAFQQIQ24CAgAA3AwhCACECCyAAIAI3AwAgBUEQaiSAgICAAAtbAAJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAIgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAIgARCbgICAACEBCyAAQgA3AwAgACABNwMIC9EBAgF+AX8CQCAAQcSGwIAAQRAQ9ICAgAAQjYCAgAAQjoCAgAAiAEL/AYNCywBSDQAgABCPgICAACIBQoCAgIAQVA0AAkAgAEIEEIaAgIAAIgCnQf8BcSICQcoARg0AIAJBDkcNAQsgAUIgiKchAgJAAkACQCAAQYiGwIAArUIghkIEhEKEgICAMBCQgICAAEIgiKcOAwACAQMLQQEgAhD6gICAAA0CQQAPC0EBIAIQ+oCAgAANAUECDwtBASACEPqAgIAADQBBAQ8LEMuAgIAAAAsZAAJAIAEgAEkNACABIABrDwsQy4CAgAAAC00BAX4Q/ICAgAAgBSABIAIgAxDsgICAACEGIABBwO0BNgIoIAAgBTcDACAAIAI2AiwgACABNwMIIAAgBDcDICAAIAY3AxggACADNwMQC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEM2AgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDOgICAAAsgAEEQaiSAgICAAAtuAgF/AX4jgICAgABBEGsiAiSAgICAAAJAIAApAwAiAyABEMWAgIAADQAgAiABEP6AgIAAIAJBCGpBACACKAIAGyAAEMeAgIAADQBCg4CAgOACENeAgIAAAAsgAxCFgICAABogAkEQaiSAgICAAAuPAQEBfyOAgICAAEEwayICJICAgIAAIAIQzYCAgAACQCACKAIAQQFHDQAgAigCBCACKAIIEM6AgIAACyACQQE2AgAgAiABNwMIIAAgAhC2gICAAAJAIAApAwBQDQAgAkEkahCHgYCAACACKAIkQQFHDQAgAiACKAIoIAIoAiwQtICAgAALIAJBMGokgICAgAALHQACQCAAEICBgIAADQBCg4CAgIACENeAgIAAAAsLjAEBAn8jgICAgABBMGsiASSAgICAACABEM2AgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBDOgICAAAsgAUEGNgIAIAEgADcDCAJAIAEQu4CAgAAiAkUNACABQSRqEIeBgIAAIAEoAiRBAUcNACABIAEoAiggASgCLBC0gICAAAsgAUEwaiSAgICAACACC5MBAgF/A34jgICAgABBEGsiAiSAgICAAEG0hsCAAEEQEPSAgIAAIQMgAiABrUIghkIEhCIENwMAQgIhBUEBIQECQANAIAFFDQEgAUF/aiEBIAQhBQwACwsgAiAFNwMIAkAgACADIAJBCGpBARCygICAABCCgYCAAA0AQoOAgIDwAhDXgICAAAALIAJBEGokgICAgAALNAEBf0EBIQMCQAJAAkAgACABIAIQjoCAgACnQf8BcQ4CAQIACxDLgICAAAALQQAhAwsgAws6ACAAEP+AgIAAAkACQCAAEPmAgIAAQf8BcQ4DAQABAAtCg4CAgJACENeAgIAAAAsgACABEIGBgIAACzkAIAAQ/4CAgAACQCAAEPmAgIAAQf8BcUF/akECSQ0AQoOAgIDwARDXgICAAAALIAAgARCBgYCAAAs7AQJ/I4CAgIAAQSBrIgAkgICAgAAgAEEANgIAIAAQtYCAgABCAhC3gICAACEBIABBIGokgICAgAAgAQtwAQF/I4CAgIAAQTBrIgQkgICAgAAgBCACNwMQIAQgATYCBCAEIAA3AwggBEECNgIAIAQgAxDBgICAACAEQSRqEIeBgIAAAkAgBCgCJEEBRw0AIAQgBCgCKCAEKAIsELSAgIAACyAEQTBqJICAgIAACwwAIABBAhD0gYCAAAt3AQF/I4CAgIAAQTBrIgUkgICAgAAgBSADNwMYIAUgAjcDECAFIAE2AgQgBSAANwMIIAVBAzYCACAFIAQQwICAgAAgBUEkahCHgYCAAAJAIAUoAiRBAUcNACAFIAUoAiggBSgCLBC0gICAAAsgBUEwaiSAgICAAAtUAQF/I4CAgIAAQSBrIgQkgICAgAAgBCADNwMYIAQgAjcDECAEIAE2AgQgBCAANwMIIARBAzYCACAEELWAgIAAQgEQkYCAgAAaIARBIGokgICAgAALaQICfwF+I4CAgIAAQSBrIgAkgICAgAAgAEEFNgIAQQAhAQJAAkAgABC1gICAACICQgIQt4CAgABFDQAgAkICEIOAgIAAIgJC/wGDQgRSDQEgAkIgiKchAQsgAEEgaiSAgICAACABDwsAC2gBAX8jgICAgABBMGsiAiSAgICAACACQQg2AgAgAiABNgIEIAAgAhC2gICAAAJAIAApAwBQDQAgAkEkahCHgYCAACACKAIkRQ0AIAIgAigCKCACKAIsELSAgIAACyACQTBqJICAgIAAC2gBAX8jgICAgABBMGsiAiSAgICAACACQQk2AgAgAiABNgIEIAAgAhC2gICAAAJAIAApAwBQDQAgAkEkahCHgYCAACACKAIkRQ0AIAIgAigCKCACKAIsELSAgIAACyACQTBqJICAgIAAC6EBAQF/I4CAgIAAQTBrIgIkgICAgAACQAJAIAEoAgBBAUcNACACQQo2AhAgAiAANgIUIAJBEGogASkDCCABKQMQELyAgIAAIAJBBGoQh4GAgAAgAigCBEEBRw0BIAJBEGogAigCCCACKAIMELSAgIAADAELIAJBCjYCECACIAA2AhQgAkEQahC1gICAAEIBEJGAgIAAGgsgAkEwaiSAgICAAAtvAQF/I4CAgIAAQTBrIgMkgICAgAAgAyACNgIEIAMgATcDCCADQQs2AgAgACADELaAgIAAAkAgACkDAFANACADQSRqEIeBgIAAIAMoAiRFDQAgAyADKAIoIAMoAiwQtICAgAALIANBMGokgICAgAALbwEBfyOAgICAAEEwayIDJICAgIAAIAMgAjYCBCADIAE3AwggA0EMNgIAIAAgAxC2gICAAAJAIAApAwBQDQAgA0EkahCHgYCAACADKAIkRQ0AIAMgAygCKCADKAIsELSAgIAACyADQTBqJICAgIAAC68BAQF/I4CAgIAAQTBrIgMkgICAgAACQAJAIAIoAgBBAUcNACADIAE2AhQgAyAANwMYIANBDTYCECADQRBqIAIpAwggAikDEBC8gICAACADQQRqEIeBgIAAIAMoAgRBAUcNASADQRBqIAMoAgggAygCDBC0gICAAAwBCyADIAE2AhQgAyAANwMYIANBDTYCECADQRBqELWAgIAAQgEQkYCAgAAaCyADQTBqJICAgIAAC3cBAX8jgICAgABBMGsiBSSAgICAACAFIAI3AxggBSABNwMQIAUgADcDCCAFIAM2AgQgBUEONgIAIAUgBBDAgICAACAFQSRqEIeBgIAAAkAgBSgCJEEBRw0AIAUgBSgCKCAFKAIsELSAgIAACyAFQTBqJICAgIAAC/8CAQJ/I4CAgIAAQcAAayIFJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAVBEGogAhCrgICAACAFKAIQQQFGDQAgA0L/AYNCBFINACAEQv8Bg0LIAFINACAFKQMYIQIgBUEQahDNgICAAAJAIAUoAhBBAUcNACAFKAIUIAUoAhgQzoCAgAALIAAQhYCAgAAaIANCgICAgICAwABaDQEgBSAAIAEgAiADQiCIpyIGEJOBgIAAIAUpAwBQRQ0CIAAgASACIAYgBBCLgICAABCRgYCAACAFQe6DwIAAQQwQ9ICAgAA3AzggBSADQoSAgIDw/z+DNwMwIAUgAjcDICAFIAE3AxggBSAANwMQIAUgBUE4ajYCKCAFQRBqEN2AgIAAIQAgBSAENwMQIABB/IPAgABBASAFQRBqQQEQ24CAgAAQjICAgAAaIAVBwABqJICAgIAAQgIPCwALQoOAgICgARDXgICAAAALQoOAgIAgENeAgIAAAAukAQEBfyOAgICAAEEwayIFJICAgIAAIAUQzYCAgAACQCAFKAIAQQFHDQAgBSgCBCAFKAIIEM6AgIAACyAFIAM3AxggBSACNwMQIAUgATcDCCAFIAQ2AgQgBUEONgIAIAAgBRC6gICAAAJAIAApAwBQDQAgBUEkahCHgYCAACAFKAIkQQFHDQAgBSAFKAIoIAUoAiwQtICAgAALIAVBMGokgICAgAALjwMBAn8jgICAgABBwABrIgUkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgBUEQaiACEKuAgIAAIAUoAhBBAUYNACADQv8Bg0IEUg0AIARC/wGDQsgAUg0AIAUpAxghAiAFQRBqEM2AgIAAAkAgBSgCEEEBRw0AIAUoAhQgBSgCGBDOgICAAAsgABCFgICAABogA0KAgICAgIDAAFoNASAFIAEgACACIANCIIinIgYQk4GAgAAgBBCLgICAACEEIAUoAgBBAUcNAiAFKQMIIAQQxYCAgABFDQIgASAAIAIgBkHFisCAABCVgYCAABCRgYCAACAFQYSEwIAAQREQ9ICAgAA3AzggBSADQoSAgIDw/z+DNwMwIAUgAjcDICAFIAA3AxggBSABNwMQIAUgBUE4ajYCKCAFQRBqEN2AgIAAQQRBACAFQRBqQQAQ24CAgAAQjICAgAAaIAVBwABqJICAgIAAQgIPCwALQoOAgICgARDXgICAAAALQoOAgIAwENeAgIAAAAsYACAArUIghkIEhEKEgICAgAQQnoCAgAALswQDAX8DfgF/I4CAgIAAQeAAayIKJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCzQBSDQAgCkEwaiADEKuAgIAAIAooAjBBAUYNACAEQv8Bg0IEUg0AIAopAzghAyAKQTBqIAUQ64CAgAAgCigCMEEBRg0AIAopA0ghBSAKKQNAIQsgCkEwaiAGEOuAgIAAIAooAjBBAUYNACAHQv8Bg0LIAFINACAIQv8Bg0LIAFINACAJQv8Bg0LIAFINACAKKQNIIQYgCikDQCEMIApBMGoQzYCAgAACQCAKKAIwQQFHDQAgCigCNCAKKAI4EM6AgIAACyAAEIWAgIAAGgJAIARCgICAgICAwABaDQBBlYTAgABBEBD0gICAACENIAogBEKEgICA8P8/gzcDKCAKIAM3AyAgCiAANwMYIAogAjcDECAKIAE3AwggCiANNwMAQQAhDgNAAkAgDkEwRw0AQQAhDgJAA0AgDkEwRg0BIApBMGogDmogCiAOaikDADcDACAOQQhqIQ4MAAsLIApBMGpBBhCygICAACEAIAsgBRCxgICAACEEIAogDCAGELGAgIAANwNQIAogCTcDSCAKIAc3A0AgCiAENwM4IAogCDcDMCAAQaiBwIAAQQUgCkEwakEFENuAgIAAEIyAgIAAGiAKQeAAaiSAgICAAEICDwsgCkEwaiAOakICNwMAIA5BCGohDgwACwtCg4CAgKABENeAgIAAAAsAC4cBAQF/I4CAgIAAQRBrIgQkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACAEIAIQq4CAgAAgBCgCAEEBRg0AIANC/wGDQgRSDQAgBCAAIAEgBCkDCCADQiCIpxCTgYCAACAEKQMAIAQpAwgQ3ICAgAAhACAEQRBqJICAgIAAIAAPCwAL6AIBAn8jgICAgABBwABrIgUkgICAgAACQAJAIABC/wGDQs0AUg0AIAUgADcDCCABQv8Bg0LNAFINACACQv8Bg0IEUg0AIAVBEGogAxCrgICAACAFKAIQQQFGDQAgBSkDGCEAIAVBEGogBBCqgICAACAFKAIQQQFGDQAgAkIgiKchBiAFKQMYIQMgBUEQahDNgICAAAJAIAUoAhBBAUcNACAFKAIUIAUoAhgQzoCAgAALIAVBCGogARD9gICAACADIAEgBiAAEJmBgIAAQgF8Ug0BIAEgBiAAIAMQhoGAgAAgBUH4gcCAAEEVEPSAgIAANwM4IAUgAxDCgICAADcDMCAFIAE3AyAgBSAANwMYIAUgAkKEgICAcIM3AxAgBSAFQThqNgIoIAVBEGoQ3YCAgABBBEEAIAVBEGpBABDbgICAABCMgICAABogBUHAAGokgICAgABCAg8LAAtCg4CAgLABENeAgIAAAAuEAQIBfwJ+I4CAgIAAQRBrIgMkgICAgAAgA0EEahDNgICAAAJAIAMoAgRBAUcNACADKAIIIAMoAgwQzoCAgAALIAAgASACEJyBgIAAIQQCQANAIAQiBUIBfCIEUA0BIAAgASACIAQQyYCAgAANAAsgA0EQaiSAgICAACAFDwsQy4CAgAAAC4oEAgJ/An4jgICAgABB0ABrIgYkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgBiAANwMIIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgBkEgaiADEKuAgIAAIAYoAiBBAUYNACAGKQMoIQAgBkEgaiAEEKqAgIAAIAYoAiBBAUYNACAGKQMoIQMCQAJAIAVCAlINAEIAIQUMAQsgBkEgaiAFEKuAgIAAIAYoAiBBAUYNASAGKQMoIQRCASEFCyACQiCIpyEHIAZBIGoQzYCAgAACQCAGKAIgQQFHDQAgBigCJCAGKAIoEM6AgIAACyAGQQhqIAEQ/YCAgAAgBkEQaiABIAcgACADEJuBgIAAIAEgByAAEJyBgIAAIQggBSAEIAYpAxAiCSAGKQMYEOiAgIAARQ0BAkAgAyAIVg0AIAmnRQ0DCyABIAcgACADQbyIwIAAEJWBgIAAEIiBgIAAIAZBjYLAgABBDxD0gICAADcDSCAGIAMQwoCAgAA3A0AgBiABNwMwIAYgADcDKCAGIAJChICAgHCDNwMgIAYgBkHIAGo2AjggBkEgahDdgICAACEBIAYgBSAEENyAgIAANwMgIAFB4IDAgABBASAGQSBqQQEQ24CAgAAQjICAgAAaIAZB0ABqJICAgIAAQgIPCwALQoOAgIDAAhDXgICAAAALQoOAgICwARDXgICAAAALpAEBAX8jgICAgABBMGsiBSSAgICAACAFEM2AgIAAAkAgBSgCAEEBRw0AIAUoAgQgBSgCCBDOgICAAAsgBSAENwMYIAUgAzcDECAFIAI2AgQgBSABNwMIIAVBAzYCACAAIAUQuoCAgAACQCAAKQMAUA0AIAVBJGoQh4GAgAAgBSgCJEEBRw0AIAUgBSgCKCAFKAIsELSAgIAACyAFQTBqJICAgIAAC7MBAQF/I4CAgIAAQcAAayIDJICAgIAAIAMQzYCAgAACQCADKAIAQQFHDQAgAygCBCADKAIIEM6AgIAACyADIAI3AxAgAyABNgIEIAMgADcDCCADQQI2AgAgA0EgaiADELiAgIAAAkAgAykDICICUA0AIANBNGoQh4GAgAAgAygCNEEBRw0AIAMgAygCOCADKAI8ELSAgIAACyADKQMoIQAgA0HAAGokgICAgAAgAEIAIAKnGwvRAwECfyOAgICAAEHQAGsiBiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACAGIAA3AwggAUL/AYNCzQBSDQAgAkL/AYNCBFINACAGQSBqIAMQq4CAgAAgBigCIEEBRg0AIAYpAyghACAGQSBqIAQQqoCAgAAgBigCIEEBRg0AIAYpAyghAyAGQSBqIAUQq4CAgAAgBigCIEEBRg0AIAJCIIinIQcgBikDKCEEIAZBIGoQzYCAgAACQCAGKAIgQQFHDQAgBigCJCAGKAIoEM6AgIAACyAGQQhqIAEQ/YCAgAAgBkEQaiABIAcgACADEJuBgIAAIAYoAhBBAUcNASAGKQMYIAQQxYCAgABFDQEgAyABIAcgABCcgYCAAFYNAiABIAcgACADEImBgIAAIAZBnILAgABBDBD0gICAADcDSCAGIAMQwoCAgAA3A0AgBiABNwMwIAYgADcDKCAGIAJChICAgHCDNwMgIAYgBkHIAGo2AjggBkEgahDdgICAACEBIAYgBDcDICABQeCAwIAAQQEgBkEgakEBENuAgIAAEIyAgIAAGiAGQdAAaiSAgICAAEICDwsAC0KDgICAwAIQ14CAgAAAC0KDgICAsAEQ14CAgAAAC7wBAQJ/I4CAgIAAQRBrIgMkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAyACEKuAgIAAIAMoAgBBAUYNACABQiCIpyEEIAMpAwghASADEM2AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBDOgICAAAsgACAEIAEQn4GAgABCAXwiAkIAUQ0BEPyAgIAAIAIgACAEIAEQ7ICAgAAhACADQRBqJICAgIAAIAAPCwALEMuAgIAAAAuzAQEBfyOAgICAAEHAAGsiAySAgICAACADEM2AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBDOgICAAAsgAyACNwMQIAMgATYCBCADIAA3AwggA0EENgIAIANBIGogAxC4gICAAAJAIAMpAyAiAlANACADQTRqEIeBgIAAIAMoAjRBAUcNACADIAMoAjggAygCPBC0gICAAAsgAykDKCEAIANBwABqJICAgIAAIABCACACpxsLbQEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACADIAIQq4CAgAAgAygCAEEBRg0AIAAgAUIgiKcgAykDCBCfgYCAABDCgICAACEAIANBEGokgICAgAAgAA8LAAttAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAMgAhCrgICAACADKAIAQQFGDQAgACABQiCIpyADKQMIEJmBgIAAEMKAgIAAIQAgA0EQaiSAgICAACAADwsAC20BAX8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAyACEKuAgIAAIAMoAgBBAUYNACAAIAFCIIinIAMpAwgQnIGAgAAQwoCAgAAhACADQRBqJICAgIAAIAAPCwALlgEBAX8jgICAgABBEGsiBCSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgBCACEKuAgIAAIAQoAgBBAUYNACAEKQMIIQIgBCADEKqAgIAAIAQoAgBBAUYNACAEIAAgAUIgiKcgAiAEKQMIEJuBgIAAIAQpAwAgBCkDCBDcgICAACEAIARBEGokgICAgAAgAA8LAAuFAwICfwF+I4CAgIAAQTBrIgEkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAQ0ICAgAAgAUEQahDNgICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQzoCAgAALIAAQ+YCAgAAaIAAQgIGAgAANARClgYCAACECIAFBBjYCECABIAA3AxggAUEQaiACQgEQw4CAgAAgAUEEahCHgYCAAAJAIAEoAgRBAUcNACABQRBqIAEoAgggASgCDBC0gICAAAsgAUEHNgIQIAEgAjYCFCABQRBqIAAQvoCAgAAgAUEEahCHgYCAAAJAIAEoAgRBAUcNACABQRBqIAEoAgggASgCDBC0gICAAAsgAkEBaiICRQ0CIAFBBTYCECABQRBqIAJCAhDDgICAAEGogsCAAEESEPSAgIAAEKaBgIAAIQMgASAANwMQIANBxILAgABBASABQRBqQQEQ24CAgAAQjICAgAAaIAFBMGokgICAgABCAg8LAAtCg4CAgBAQ14CAgAAACxDLgICAAAALUgECfyOAgICAAEEQayIAJICAgIAAIABBBGoQzYCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEM6AgIAACxCKgYCAACEBIABBEGokgICAgAAgAQtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQsoCAgAAhACABQRBqJICAgIAAIAAL0AIBAn8jgICAgABB0ABrIgIkgICAgAACQAJAIABC/wGDQgRSDQAgAUL/AYNCzQBSDQAgAEIgiKchAyACIAE3AwgQ0ICAgAAgAkEgahDNgICAAAJAIAIoAiBBAUcNACACKAIkIAIoAigQzoCAgAALIAEgAxCDgYCAACACQRBqIAMQqIGAgAAgAkEQakEIakEAIAIoAhAbIAJBCGoQxoCAgABFDQEgAkEINgIgIAIgAzYCJCACQSBqIAEQvoCAgAAgAkHEAGoQh4GAgAACQCACKAJEQQFHDQAgAkEgaiACKAJIIAIoAkwQtICAgAALQcyCwIAAQRgQ9ICAgAAgAEKEgICAcIMQ9YCAgAAhACACIAE3AyAgAEHEgsCAAEEBIAJBIGpBARDbgICAABCMgICAABogAkHQAGokgICAgABCAg8LAAtCg4CAgNACENeAgIAAAAtSAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEEahDNgICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQzoCAgAALIAAgARCLgYCAACACQRBqJICAgIAAC/UDAgJ/AX4jgICAgABB0ABrIgMkgICAgAACQAJAAkAgAEL/AYNCBFINACABQv8Bg0LNAFINACADIAE3AwAgA0EwaiACEKqAgIAAIAMoAjBBAUYNACAAQiCIpyEEIAMpAzghBRDQgICAACADQTBqEM2AgIAAAkAgAygCMEEBRw0AIAMoAjQgAygCOBDOgICAAAsgASAEEISBgIAAIANBCGogBBCqgYCAACADQRBqQQAgAygCCBsgAxDGgICAAEUNASADQQk2AjAgAyAENgI0IANBMGogARC+gICAACADQRhqEIeBgIAAAkAgAygCGEEBRw0AIANBMGogAygC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IAQgATcDEEEAIQUDQAJAIAVBEEcNAEEAIQUCQANAIAVBEEYNASAEQSBqIAVqIARBEGogBWopAwA3AwAgBUEIaiEFDAALCyACIAAgBEEgakECELKAgIAAELOAgIAAIARBMGokgICAgABCAg8LIARBIGogBWpCAjcDACAFQQhqIQUMAAsLAAsbAAJAIABC/wGDQs0AUQ0AAAsgABCAgYCAAK0L5AEBA38jgICAgABBMGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAEQzYCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEM6AgIAACyABQQY2AgAgASAANwMIAkACQCABELWAgIAAIgBCARC3gICAAA0AQQAhAgwBCyAAQgEQg4CAgAAiAEL/AYNCBFINASABQSRqEIeBgIAAQQEhAiAAQiCIIQACQCABKAIkQQFHDQAgASABKAIoIAEoAiwQtICAgAALIACnIQMLIAFBMGokgICAgAAgA61CIIZCBIRCAiACQQFxGw8LAAsPABClgYCAAK1CIIZCBIQLvgIBBH8jgICAgABBwABrIgIkgICAgAACQAJAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIQMgAkEQahDNgICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQzoCAgAALAkAQioGAgAAiBCADSw0AEI2AgIAAIQAMAwsCQCADIAFCIIinaiIFIANJDQAgAyAFIAQgBSAESRsiBCADIARLGyEEEI2AgIAAIQADQCAEIANGDQQgAkEHNgIQIAIgAzYCFCACIAJBEGoQtoCAgAAgAikDAFANAyACQTRqEIeBgIAAAkAgAigCNEEBRw0AIAJBEGogAigCOCACKAI8ELSAgIAACyADQQFqIQMgACACKQMIEJKAgIAAIQAMAAsLEMuAgIAACwALELeBgIAAAAsgAkHAAGokgICAgAAgAAsJABDLgICAAAAL9wEBAn8jgICAgABBMGsiASSAgICAAAJAAkACQCAAQv8Bg0IEUg0AIABCIIinIQIgARDNgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQzoCAgAALIAFBCDYCACABIAI2AgQgARC7gICAAEUNASABQSRqEIeBgIAAAkAgASgCJEEBRw0AIAEgASgCKCABKAIsELSAgIAACyABQQk2AgAgASACNgIEAkAgARC7gICAACICRQ0AIAFBJGoQh4GAgAAgASgCJEEBRw0AIAEgASgCKCABKAIsELSAgIAACyACrSEADAILAAtCACEACyABQTBqJICAgIAAIAALUQEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCBFENAAALIAEgAEIgiKcQqIGAgAAgASkDACABKQMIENyAgIAAIQAgAUEQaiSAgICAACAAC1EBAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABIABCIIinEKqBgIAAIAEpAwAgASkDCBDcgICAACEAIAFBEGokgICAgAAgAAtPAQF/I4CAgIAAQSBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgAUEIaiAAQiCIpxC8gYCAACABQQhqEN6AgIAAIQAgAUEgaiSAgICAACAAC48BAQF/I4CAgIAAQTBrIgIkgICAgAAgAhDNgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQzoCAgAALIAJBCjYCACACIAE2AgQgACACELmAgIAAAkAgACkDAFANACACQSRqEIeBgIAAIAIoAiRBAUcNACACIAIoAiggAigCLBC0gICAAAsgAkEwaiSAgICAAAtgAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAIgACABQiCIpxC+gYCAACACKQMAIAItAAgQ2oCAgAAhACACQRBqJICAgIAAIAAPCwALngEBAX8jgICAgABBEGsiAySAgICAACADEM2AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBDOgICAAAsgAyABIAIQjoGAgAACQAJAIAMoAgBBAUcNACADKQMIIQFBACECDAELIAMgAhCLgYCAACADKQMIIQEgAykDAEEFEOmAgIAAQQEhAgsgACACOgAIIAAgATcDACADQRBqJICAgIAAC2ABAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinELGBgIAAIAIpAwAgAi0ACBDagICAACEAIAJBEGokgICAgAAgAA8LAAteAQF/I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGogACABQiCIpxDBgYCAACACQQhqEN6AgIAAIQAgAkEgaiSAgICAACAADwsAC5YBAQF/I4CAgIAAQTBrIgMkgICAgAAgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAMgAjYCBCADIAE3AwggA0ENNgIAIAAgAxC5gICAAAJAIAApAwBQDQAgA0EkahCHgYCAACADKAIkQQFHDQAgAyADKAIoIAMoAiwQtICAgAALIANBMGokgICAgAALOwACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJC/wGDQs0AUg0AIAAgAUIgiKcgAhDDgYCAAK0PCwAL0gEBA38jgICAgABBIGsiAySAgICAACADQQhqEM2AgIAAQQEhBAJAIAMoAghBAUcNACADKAIMIAMoAhAQzoCAgAALIANBCGogACABELGBgIAAIAMtABAhBQJAIAIgAykDCBDFgICAAA0AAkACQCAFQQFxDQAgA0EIaiAAIAEQwYGAgAAMAQsgA0EIaiABELyBgIAAC0EAIQQgAygCCEEBcUUNACADKQMYIQAgAykDECACEMWAgIAARQ0AIAAQq4GAgABWIQQLIANBIGokgICAgAAgBAu9AgMBfwF+AX8jgICAgABBMGsiBCSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgA0L/AYNCBFINACAEQRhqEM2AgIAAAkAgBCgCGEEBRw0AIAQoAhwgBCgCIBDOgICAAAsgARD/gICAAEGqhsCAAEEKEPSAgIAAIQUgBCADQoSAgIBwgzcDECAEIAA3AwggBCACQoSAgIBwgzcDAEEAIQYCQANAAkAgBkEYRw0AQQAhBgJAA0AgBkEYRg0BIARBGGogBmogBCAGaikDADcDACAGQQhqIQYMAAsLIAEgBSAEQRhqQQMQsoCAgAAQjoCAgAAiAUL/AYNCyABSDQIgBEEwaiSAgICAACABDwsgBEEYaiAGakICNwMAIAZBCGohBgwACwsQy4CAgAAACwAL0wQCA38EfiOAgICAAEHwAGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACACQQhqIAEQroCAgAAgAi0AJCIDQQJGDQAgAigCICEEIAIpAxghBSACKQMQIQYgAikDCCEBIAJBCGoQzYCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEM6AgIAACwJAIANBAXFFDQAQhYGAgAANAEKDgICAkAMQ14CAgAAACyACQQhqIAAgBBC+gYCAACACKQMIIQcgACAEIAEQn4GAgABCAXwiCFANASACQQhqIAAgBCABIAYgCBD7gICAACACQQhqEOCAgIAAIQAgAiADrTcDSCACIAU3A0AgAiAANwM4QQAhBAJAA0AgBEEYRg0BIAJB0ABqIARqQgI3AwAgBEEIaiEEDAALC0EAIQQCQANAIARBGEYNASACQdAAaiAEaiACQThqIARqKQMANwMAIARBCGohBAwACwsgB0KO1Lna7gYgAkHQAGpBAxCygICAABCOgICAACEAQQAhBAJAA0AgBEEQRg0BIAJBOGogBGpCAjcDACAEQQhqIQQMAAsLIABC/wGDQswAUg0BIABBqIXAgABBAiACQThqQQIQqYCAgAAgAkHQAGogAikDOBDrgICAACACKAJQQQFGDQEgAikDaCEAIAIpA2AhASACQdAAaiACKQNAEOuAgIAAIAIoAlBBAUYNASACQQhqIAEgACACKQNgIAIpA2gQ94CAgAAgAigCCEEBRw0CCwALEMuAgIAAAAsgAikDECEAIAJB8ABqJICAgIAAIAALvAwCA38OfiOAgICAAEHAAWsiAySAgICAAAJAIABC/wGDQs0AUg0AIANBkAFqIAEQroCAgAAgAy0ArAEiBEECRg0AIAJC/wGDQs0AUg0AIAMoAqgBIQUgAykDoAEhBiADKQOYASEHIAMpA5ABIQEgA0GQAWoQzYCAgAACQCADKAKQAUEBRw0AIAMoApQBIAMoApgBEM6AgIAACyAAEIWAgIAAGgJAIARBAXFFDQAQhYGAgAANAEKDgICAkAMQ14CAgAAMAQsgA0GQAWogACAFEL6BgIAAIAMpA5ABIQgCQCAAIAUgARCfgYCAAEIBfCIJUA0AIAStIQogAyABNwOgASADIAU2ApQBIAMgADcDmAEgA0EENgKQASADQZABaiAJEMGAgIAAIANB4ABqEIeBgIAAAkAgAygCYEEBRw0AIANBkAFqIAMoAmQgAygCaBC0gICAAAsgAyAAIAUgASAHIAkQ+4CAgAAgAxDggICAACEAIAMgCjcDcCADIAY3A2ggAyAANwNgQQAhBQJAAkACQAJAAkADQAJAIAVBGEcNAEEAIQUCQANAIAVBGEYNASADQZAB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IAkgBjcDUCAJQfiAwIAAQRAQ9ICAgAA3A3AgCUEwahDfgICAACELIAkgATcDmAEgCSALNwOIASAJIAA3A4ABIAkgAjcDeCAJIAlB8ABqNgKQASAJQfgAahDdgICAACEAIAQgAxCxgICAACECIAkgDSAFELGAgIAANwOYASAJIAg3A5ABIAkgBjcDiAEgCSACNwOAASAJIAc3A3ggAEGogcCAAEEFIAlB+ABqQQUQ24CAgAAQjICAgAAaIAlBoAFqJICAgIAAQgIPCwALpgECAX8BfiOAgICAAEEgayIBJICAgIAAAkAgAEL/AYNCzQBSDQAQ0ICAgAAgARDNgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQzoCAgAALIAFBADYCACABIABCAhC/gICAAEKO8qq8wL7/ARCmgYCAACECIAEgADcDACACQdSBwIAAQQEgAUEBENuAgIAAEIyAgIAAGiABQSBqJICAgIAAQgIPCwALzQICAX8BfiOAgICAAEEwayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAJBEGogARCugYCAACACKQMQIgNCAlENACACKQMYIQEgAkEQahDNgICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQzoCAgAALIAAQhYCAgAAaIAOnQQFxRQ0BIAIgADcDGCACQQE2AhAgAkEQaiABEL6AgIAAIAJBBGoQh4GAgAACQCACKAIEQQFHDQAgAkEQaiACKAIIIAIoAgwQtICAgAALQgEhAwwCCwALIAJBATYCECACIAA3AxggAkEQahC1gICAAEIBEJGAgIAAGkIAIQMLQdyBwIAAQQwQ9ICAgAAgABD1gICAACEAIAIgAyABENyAgIAANwMQIABB8IHAgABBASACQRBqQQEQ24CAgAAQjICAgAAaIAJBMGokgICAgABCAgsQABD8gICAAEKEgICAgNgdC4wBAQJ/I4CAgIAAQcAAayICJICAgIAAIAJBIGogABCogICAAAJAIAIoAiBBAUYNACACQQhqQRBqIAJBOGopAwA3AwAgAkEQaiACQSBqQRBqKQMANwMAIAIgAikDKDcDCCABQv8Bg0LNAFINACACQQhqIAEQy4GAgAAhAyACQcAAaiSAgICAACADrQ8LAAuMAQECfyOAgICAAEHAAGsiAiSAgICAACACQSBqIAAQqICAgAACQCACKAIgQQFGDQAgAkEIakEQaiACQThqKQMANwMAIAJBEGogAkEgakEQaikDADcDACACIAIpAyg3AwggAUL/AYNCzQBSDQAgAkEIaiABEMyBgIAAIQMgAkHAAGokgICAgAAgA60PCwALCAAQx4GAgAALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDJgYCAACAAKQMAIAApAwgQ3ICAgAAhASAAQRBqJICAgIAAIAELTgEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBRDQAACyABIAAQ/oCAgAAgASkDACABKQMIENyAgIAAIQAgAUEQaiSAgICAACAAC10AAkACQCAAQv8Bg0LNAFINAEGAyx5BgNIfENmBgIAAQYDLHkGA0h8Q2oGAgABBABDYgICAAEICELeAgIAADQEgABDbgYCAAEICDwsAC0KDgICAkIEBENeAgIAAAAsOAEEBIAAgARD1gYCAAAsOAEECIAAgARD1gYCAAAsOAEEAIABCAhDlgYCAAAuiAQIBfwF+I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACADIAIQ64CAgAAgAygCAEEBRg0AIAMpAxghAiADKQMQIQQQ0ICAgAAgAxDNgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQzoCAgAALIAAQk4CAgAAgASAEIAIQsICAgAAgA0EgaiSAgICAAEICDwsACwgAENGAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ04CAgAAgACkDACAAKQMIENyAgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ1oCAgAAgACkDACAAKQMIENyAgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahDNgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQzoCAgAALENKAgIAAIQIQ1YCAgAAgABDbgYCAACACIAAQ4YGAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQaaLwIAAQRUQ9ICAgAAQpoGAgAAhAyACIAA3AwggAiABNwMAIANB0IvAgABBAiACQQIQ24CA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gAAhBCADIAEgAhDzgYCAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEISAgIAAGiADQRBqJICAgIAACwvEDQEAQYCAwAALug1wYWNrZXRfc2VudGVuY29kZWRfcGFja2V0b3B0aW9uc3NlbmRfbGlicmFyeQsAEAAOAAAAGQAQAAcAAAAgABAADAAAAHBhY2tldF92ZXJpZmllZHBheWxvYWRfaGFzaABTABAADAAAAHBhY2tldF9kZWxpdmVyZWRsel9yZWNlaXZlX2FsZXJ0ZXh0cmFfZGF0YWdhc21lc3NhZ2VyZWFzb252YWx1ZQCIABAACgAAAJIAEAADAAAAlQAQAAcAAACcABAABgAAAKIAEAAFAAAAenJvANAAEAADAAAAZGVsZWdhdGVfc2V0ZGVsZWdhdGXoABAACAAAAGluYm91bmRfbm9uY2Vfc2tpcHBlZHBhY2tldF9uaWxpZmllZHBhY2tldF9idXJudGxpYnJhcnlfcmVnaXN0ZXJlZG5ld19saWIAAAA6ARAABwAAAGRlZmF1bHRfc2VuZF9saWJyYXJ5X3NldGRlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3NldGRlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dF9zZXR0aW1lb3V0AAAAngEQAAcAAABzZW5kX2xpYnJhcnlfc2V0cmVjZWl2ZV9saWJyYXJ5X3NldHJlY2VpdmVfbGlicmFyeV90aW1lb3V0X3NldGNvbXBvc2Vfc2VudAAAlQAQAAcAAABjb21wb3NlX2RlbGl2ZXJlZGx6X2NvbXBvc2VfYWxlcnRkc3RfZWlkcGF5X2luX3pyb3JlY2VpdmVyAAAlAhAABwAAAJUAEAAHAAAAGQAQAAcAAAAsAhAACgAAADYCEAAIAAAAbm9uY2VzZW5kZXJzcmNfZWlkAABoAhAABQAAAG0CEAAGAAAAcwIQAAcAAABuYXRpdmVfZmVlenJvX2ZlZQAAAJQCEAAKAAAAngIQAAcAAABmZWVndWlkALgCEAADAAAAuwIQAAQAAABoAhAABQAAAGFsbG93X2luaXRpYWxpemVfcGF0aFNlbmRSZWNlaXZlU2VuZEFuZFJlY2VpdmUAAO0CEAAEAAAA8QIQAAcAAAD4AhAADgAAAHNldF9jb25maWdnZXRfY29uZmlnaXNfc3VwcG9ydGVkX2VpZG1lc3NhZ2VfbGliX3R5cGVleHBpcnlsaWIAAABUAxAABgAAAFoDEAADAAAAaXNfZGVmYXVsdAAAcAMQAAoAAABaAxAAAwAAACUCEAAHAAAAuwIQAAQAAACVABAABwAAAGgCEAAFAAAANgIQAAgAAABtAhAABgAAAHMCEAAHAAAAYW1vdW50dG/EAxAABgAAAMoDEAACAAAAbmF0aXZlX2ZlZV9yZWNpcGllbnRzenJvX2ZlZV9yZWNpcGllbnRzAAsAEAAOAAAA3AMQABUAAADxAxAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////9acm9EZWxlZ2F0ZUxhenlJbmJvdW5kTm9uY2VJbmJvdW5kUGF5bG9hZEhhc2hPdXRib3VuZE5vbmNlUmVnaXN0ZXJlZExpYnJhcnlDb3VudExpYnJhcnlUb0luZGV4SW5kZXhUb0xpYnJhcnlEZWZhdWx0U2VuZExpYnJhcnlEZWZhdWx0UmVjZWl2ZUxpYnJhcnlEZWZhdWx0UmVjZWl2ZUxpYnJhcnlUaW1lb3V0U2VuZExpYnJhcnlSZWNlaXZlTGlicmFyeVJlY2VpdmVMaWJyYXJ5VGltZW91dENvbXBvc2VRdWV1ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ0RNTEZNS01NRDdNV1pQM0ZLVUJaUFZIVFVFRExTWDRCWUdZS0g0R0NFU1hZSFMzSUhRNEVJRzR0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXIAAAC7BRAACQAAAMQFEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAALsFEAAJAAAAxAUQAAkAAAD2BRAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAxAUQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAQQYQAAkAAACdBRAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAGsGEAAIAAAAcwYQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnQAv7kBDmNv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TGliAAAAABEAAAAAAAAAFFBhdGhOb3RJbml0aWFsaXphYmxlAAAAEgAAAAAAAAARUGF0aE5vdFZlcmlmaWFibGUAAAAAAAATAAAAAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAAAAAACVNhbWVWYWx1ZQAAAAAAABUAAAAAAAAADFVuYXV0aG9yaXplZAAAABYAAAAAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAAAAAAA5acm9VbmF2YWlsYWJsZQAAAAAAGQAAAAEAAAAtUGFyYW1ldGVycyBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAAA9NZXNzYWdpbmdQYXJhbXMAAAAABQAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAcVGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBzZW5kLgAAAAdtZXNzYWdlAAAAAA4AAAAhRW5jb2RlZCBleGVjdXRvciBhbmQgRFZOIG9wdGlvbnMuAAAAAAAAB29wdGlvbnMAAAAADgAAADlXaGV0aGVyIHRvIHBheSBmZWVzIGluIFpSTyB0b2tlbiBpbnN0ZWFkIG9mIG5hdGl2ZSB0b2tlbi4AAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAADVSZWNlaXZlciBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAKEZlZSBzdHJ1Y3R1cmUgZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2luZy4AAAAAAAAADE1lc3NhZ2luZ0ZlZQAAAAIAAAAfRmVlIHBhaWQgaW4gbmF0aXZlIHRva2VuIChYTE0pLgAAAAAKbmF0aXZlX2ZlZQAAAAAACwAAAChGZWUgcGFpZCBpbiBaUk8gdG9rZW4gKExheWVyWmVybyB0b2tlbikuAAAAB3pyb19mZWUAAAAACwAAAAEAAABCUmVjZWlwdCByZXR1cm5lZCBhZnRlciBzdWNjZXNzZnVsbHkgc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAADAAAAKVRoZSBmZWVzIGNoYXJnZWQgZm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UuAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAACtHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2UuAAAAAARndWlkAAAD7gAAACAAAAAkVGhlIG91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAAAIAAAA4VHlwZSBvZiBtZXNzYWdlIGxpYnJhcnkgaW5kaWNhdGluZyBzdXBwb3J0ZWQgb3BlcmF0aW9ucy4AAAAAAAAADk1lc3NhZ2VMaWJUeXBlAAAAAAADAAAAAAAAAB9TdXBwb3J0cyBvbmx5IHNlbmRpbmcgbWVzc2FnZXMuAAAAAARTZW5kAAAAAAAAACFTdXBwb3J0cyBvbmx5IHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAHUmVjZWl2ZQAAAAAAAAAALVN1cHBvcnRzIGJvdGggc2VuZGluZyBhbmQgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAA5TZW5kQW5kUmVjZWl2ZQAAAAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABAAAAAEAAAA2VGltZW91dCBjb25maWd1cmF0aW9uIGZvciByZWNlaXZlIGxpYnJhcnkgdHJhbnNpdGlvbnMuAAAAAAAAAAAAB1RpbWVvdXQAAAAAAgAAAChVbml4IHRpbWVzdGFtcCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAABmV4cGlyeQAAAAAABgAAAClUaGUgbmV3IGxpYnJhcnkgYWRkcmVzcyB0byB0cmFuc2l0aW9uIHRvLgAAAAAAAANsaWIAAAAAEwAAAAEAAAA1UGFyYW1ldGVycyBmb3Igc2V0dGluZyBtZXNzYWdlIGxpYnJhcnkgY29uZmlndXJhdGlvbi4AAAAAAAAAAAAADlNldENvbmZpZ1BhcmFtAAAAAAADAAAAH1hEUi1lbmNvZGVkIGNvbmZpZ3VyYXRpb24gZGF0YS4AAAAABmNvbmZpZwAAAAAADgAAADBUaGUgdHlwZSBvZiBjb25maWd1cmF0aW9uIChlLmcuLCBleGVjdXRvciwgVUxOKS4AAAALY29uZmlnX3R5cGUAAAAABAAAACdUaGUgZW5kcG9pbnQgSUQgdGhpcyBjb25maWcgYXBwbGllcyB0by4AAAAAA2VpZAAAAAAEAAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAATAAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAK0EgZmVlIHJlY2lwaWVudCB3aXRoIHRoZSBhbW91bnQgdG8gYmUgcGFpZC4AAAAAAAAAAAxGZWVSZWNpcGllbnQAAAACAAAAFUFtb3VudCBvZiBmZWUgdG8gcGF5LgAAAAAAAAZhbW91bnQAAAAAAAsAAAAfVGhlIGFkZHJlc3MgdG8gc2VuZCB0aGUgZmVlIHRvLgAAAAACdG8AAAAAABMAAAABAAAAPFJlc3VsdCBvZiBzZW5kIG9wZXJhdGlvbiBjb250YWluaW5nIGZlZXMgYW5kIGVuY29kZWQgcGFja2V0LgAAAAAAAAANRmVlc0FuZFBhY2tldAAAAAAAAAMAAAAqVGhlIGVuY29kZWQgcGFja2V0IHJlYWR5IGZvciB0cmFuc21p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AAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAYAAAAAAAAARVJldHVybnMgdGhlIGxhenkgaW5ib3VuZCBub25jZSAobGFzdCBjaGVja3BvaW50KSBmb3IgYSBzcGVjaWZpYyBwYXRoLgAAAAAAABJsYXp5X2luYm91bmRfbm9uY2UAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAYAAAAAAAAANlJldHVybnMgdGhlIHBheWxvYWQgaGFzaCBmb3IgYSBzcGVjaWZpYyBpbmJvdW5kIG5vbmNlLgAAAAAAFGluYm91bmRfcGF5bG9hZF9oYXNoAAAABAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPoAAAD7gAAACAAAAAAAAAAMlJlZ2lzdGVycyBhIG5ldyBtZXNzYWdlIGxpYnJhcnkgd2l0aCB0aGUgZW5kcG9pbnQuAAAAAAAQcmVnaXN0ZXJfbGlicmFyeQAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAAAAAAOVNldHMgdGhlIGRlZmF1bHQgc2VuZCBsaWJyYXJ5IGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAABhzZXRfZGVmYXVsdF9zZW5kX2xpYnJhcnkAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAAAAAAtlNldHMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGZvciBhIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgZ3JhY2UgcGVyaW9kIGlzIHByb3ZpZGVkIGFuZCB0aGVyZSB3YXMgYSBwcmV2aW91cyBsaWJyYXJ5LCB0aGUgb2xkIGxpYnJhcnkKcmVtYWlucyB2YWxpZCB1bnRpbCB0aGUgZ3JhY2UgcGVyaW9kIGV4cGlyZXMuAAAAAAAbc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5AAAAAAMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAxncmFjZV9wZXJpb2QAAAAGAAAAAAAAAAAAAADSU2V0cyBvciByZW1vdmVzIHRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGZvciBhIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgdGltZW91dCBpcyBwcm92aWRlZCwgaXQgbXVzdCBiZSB2YWxpZCBhbmQgbm90IGV4cGlyZWQuIElmIG5vIHRpbWVvdXQgaXMgcHJvdmlkZWQsCnRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGlzIHJlbW92ZWQuAAAAAAAfc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAAB3RpbWVvdXQAAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAAAAAAAFVTZXRzIG9yIHJlbW92ZXMgYSBjdXN0b20gc2VuZCBsaWJyYXJ5IGZvciBhbiBPQXBwIHRvIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAAEHNldF9zZW5kX2xpYnJhcnkAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAAAAADSU2V0cyBvciByZW1vdmVzIGEgY3VzdG9tIHJlY2VpdmUgbGlicmFyeSBmb3IgYW4gT0FwcCB0byBhIHNwZWNpZmljIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgZ3JhY2UgcGVyaW9kIGlzIHByb3ZpZGVkIGFuZCB0aGVyZSB3YXMgYSBwcmV2aW91cyBsaWJyYXJ5LCB0aGUgb2xkIGxpYnJhcnkKcmVtYWlucyB2YWxpZCB1bnRpbCB0aGUgZ3JhY2UgcGVyaW9kIGV4cGlyZXMuAAAAAAATc2V0X3JlY2VpdmVfbGlicmFyeQAAAAAFAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAxncmFjZV9wZXJpb2QAAAAGAAAAAAAAAAAAAACxU2V0cyBvciByZW1vdmVzIHRoZSBjdXN0b20gcmVjZWl2ZSBsaWJyYXJ5IHRpbWVvdXQgZm9yIGFuIE9BcHAuCgpBbGxvd3MgYW4gT0FwcCB0byBleHRlbmQgb3IgcmVtb3ZlIHRoZSB2YWxpZGl0eSBwZXJpb2Qgb2YgYSBwcmV2aW91c2x5IHNldCBsaWJyYXJ5CmFmdGVyIHN3aXRjaGluZyB0byBhIG5ldyBvbmUuAAAAAAAAG3NldF9yZWNlaXZlX2xpYnJhcnlfdGltZW91dAAAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAAAAACDU2V0cyB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpSZXF1aXJlcyB0aGUgY2FsbGVyIHRvIGJlIHRoZSBPQXBwIG9yIGl0cyBkZWxlZ2F0ZSBhbmQgdGhlIGxpYnJhcnkgdG8gYmUgcmVnaXN0ZXJlZC4AAAAACnNldF9jb25maWcAAAAAAAQAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAEb2FwcAAAABMAAAAAAAAAA2xpYgAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADlNldENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAACpDaGVja3MgaWYgYSBtZXNzYWdlIGxpYnJhcnkgaXMgcmVnaXN0ZXJlZC4AAAAAABVpc19yZWdpc3RlcmVkX2xpYnJhcnkAAAAAAAABAAAAAAAAAANsaWIAAAAAEwAAAAEAAAABAAAAAAAAACdSZXR1cm5zIHRoZSBpbmRleCBvZiBhIG1lc3NhZ2UgbGlicmFyeS4AAAAAEWdldF9saWJyYXJ5X2luZGV4AAAAAAAAAQAAAAAAAAADbGliAAAAABMAAAABAAAD6AAAAAQAAAAAAAAAM1JldHVybnMgdGhlIG51bWJlciBvZiByZWdpc3RlcmVkIG1lc3NhZ2UgbGlicmFyaWVzLgAAAAAacmVnaXN0ZXJlZF9saWJyYXJpZXNfY291bnQAAAAAAAAAAAABAAAABAAAAAAAAABKUmV0dXJucyBhIGxpc3Qgb2YgcmVnaXN0ZXJlZCBtZXNzYWdlIGxpYnJhcmllcyB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZS4AAAAAABhnZXRfcmVnaXN0ZXJlZF9saWJyYXJpZXMAAAACAAAAAAAAAAVzdGFydAAAAAAAAAQAAAAAAAAACW1heF9jb3VudAAAAAAAAAQAAAABAAAD6gAAABMAAAAAAAAAfUNoZWNrcyBpZiBhbiBlbmRwb2ludCBJRCBpcyBzdXBwb3J0ZWQuClJldHVybnMgdHJ1ZSBvbmx5IGlmIGJvdGggdGhlIGRlZmF1bHQgc2VuZC9yZWNlaXZlIGxpYnJhcmllcyBhcmUgc2V0IGZvciB0aGUgZ2l2ZW4gZWlkAAAAAAAAEGlzX3N1cHBvcnRlZF9laWQAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAABAAAAAAAAADxSZXR1cm5zIHRoZSBkZWZhdWx0IHNlbmQgbGlicmFyeSBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAUZGVmYXVsdF9zZW5kX2xpYnJhcnkAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAABMAAAAAAAAAOlJldHVybnMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAAABdkZWZhdWx0X3JlY2VpdmVfbGlicmFyeQAAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAD6AAAABMAAAAAAAAAQlJldHVybnMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IHRpbWVvdXQgZm9yIGEgc291cmNlIGVuZHBvaW50LgAAAAAAH2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAAAAAAQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAEhSZXR1cm5zIHRoZSBlZmZlY3RpdmUgc2VuZCBsaWJyYXJ5IGZvciBhbiBPQXBwIGFuZCBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAQZ2V0X3NlbmRfbGlicmFyeQAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAAAAABGUmV0dXJucyB0aGUgZWZmZWN0aXZlIHJlY2VpdmUgbGlicmFyeSBmb3IgYW4gT0FwcCBhbmQgc291cmNlIGVuZHBvaW50LgAAAAAAE2dldF9yZWNlaXZlX2xpYnJhcnkAAAAAAgAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAH0AAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAAAAAERSZXR1cm5zIHRoZSByZWNlaXZlIGxpYnJhcnkgdGltZW91dCBmb3IgYW4gT0FwcCBhbmQgc291cmNlIGVuZHBvaW50LgAAABdyZWNlaXZlX2xpYnJhcnlfdGltZW91dAAAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAABFQ2hlY2tzIGlmIGEgcmVjZWl2ZSBsaWJyYXJ5IGlzIHZhbGlkIGZvciBhbiBPQXBwIGFuZCBzb3VyY2UgZW5kcG9pbnQuAAAAAAAAGGlzX3ZhbGlkX3JlY2VpdmVfbGlicmFyeQAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAphY3R1YWxfbGliAAAAAAATAAAAAQAAAAEAAAAAAAAAYlJldHVybnMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5IGZvciBhIHNwZWNpZmljIGVuZHBvaW50IElEIGFuZCBjb25maWd1cmF0aW9uIHR5cGUuAAAAAAAKZ2V0X2NvbmZpZwAAAAAABAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAA2xpYgAAAAATAAAAAAAAAANlaWQAAAAABAAAAAAAAAALY29uZmlnX3R5cGUAAAAABAAAAAEAAAAOAAAAAAAAADtRdW90ZXMgdGhlIG1lc3NhZ2luZyBmZWUgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAFcXVvdGUAAAAAAAACAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAABnBhcmFtcwAAAAAH0AAAAA9NZXNzYWdpbmdQYXJhbXMAAAAAAQAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAAAAAAIlTZW5kcyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgdG8gYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCk9BcHAgc2VuZGVyIG5lZWRzIHRvIHRyYW5zZmVyIHRoZSBmZWVzIHRvIHRoZSBlbmRwb2ludCBiZWZvcmUgc2VuZGluZyB0aGUgbWVzc2FnZQAAAAAAAARzZW5kAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAB9AAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAAAAAAOcmVmdW5kX2FkZHJlc3MAAAAAABMAAAABAAAH0AAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAAAAAEpWZXJpZmllcyBhbiBpbmJvdW5kIGNyb3NzLWNoYWluIG1lc3NhZ2UgZnJvbSBhIGNvbmZpZ3VyZWQgcmVjZWl2ZSBsaWJyYXJ5LgAAAAAABnZlcmlmeQAAAAAABAAAAAAAAAALcmVjZWl2ZV9saWIAAAAAEwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAAAAABnQ2xlYXJzIGEgdmVyaWZpZWQgbWVzc2FnZSBmcm9tIHRoZSBlbmRwb2ludC4KClRoaXMgaXMgYSBQVUxMIG1vZGUgdmVyc3VzIHRoZSBQVVNIIG1vZGUgb2YgYGx6X3JlY2VpdmVgLgAAAAAFY2xlYXIAAAAAAAAFAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAARndWlkAAAD7gAAACAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAAgUVtaXRzIGFuIGFsZXJ0IGV2ZW50IHdoZW4gYGx6X3JlY2VpdmVgIGV4ZWN1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AAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQLAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAMAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAAAAAAAA5VcGdyYWRlc0Zyb3plbgAAAAAEHAAAAAQAAAAYTXVsdGlzaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aXNpZ0Vycm9yAAAAAAAACAAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJQAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCYAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEJwAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCgAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKQAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCoAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQrAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABkAAAAAAG8OY29udHJhY3RtZXRhdjAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4wLjEjOTQxNDQ4MDc5ZWNjZjk1NjI3ZDJmZmVhMTNiYTI2OGUzMDVhOTA3NwAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
11
+ export declare const WASM_BASE64 = "AGFzbQEAAAABxwIwYAF+AX5gAn5+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAJ/fgBgBX5/f39/AGAFfn5+fn4AYAJ/fwF+YAN+fn4AYAJ/fwBgAX8BfmACfn4Bf2ABfwF/YAN/fn4AYAN/f34AYAR+fn5+AX9gAn9/AX9gAn9+AX9gBH5/fn4Bf2AAAGAAAX9gAX8AYAJ+fwBgAX4AYAR/f39/AX5gA39/fwBgAn5/AX5gBX5/fn9+AX5gBH5+f38BfmADfn9/AGAFf35+fn4AYAF+AX9gBn9+f35+fgBgA35+fgF/YAR+f35+AGAFfn9+fn4AYAN/fn8AYAV+fn5/fgBgBX5+fn5+AX5gBX9+fn5/AGAKfn5+fn5+fn5+fgF+YAN+f34BfmAGfn5+fn5+AX5gBX9+f35+AGADfn9+AX9gCX5+fn5+fn5+fgF+YAJ+fgAC5QEmAWkBXwAAAWkBMAAAAWwBMQABAWwBXwACAWwBNwADAWEBMAAAAXYBMQABAWIBNAAEAWIBOAAAAWIBXwAAAWIBZgACAWMBMQAAAXgBMQABAXYBXwAEAWQBXwACAXYBMwAAAWIBbQACAWwBMgABAXYBNgABAXgBNwAEAWIBZQABAWIBMQADAXYBZwABAWkBOAAAAWkBNwAAAWkBNgABAWIBagABAWIBMgADAWIBMwABAW0BOQACAW0BYQADAXgBMAABAXgBNAAEAXgBMwAEAXgBOAAEAWwBMAABAWwBOAABAXgBNQAAA9YB1AEFBgUFBQUFBQcBCAkKCwwKCgoNDg4FBQ4FAA8KCgoFEAwRERITChQVFAsWFhQEBBYXGBQWCxYLCxkaBQ4KCgoLCwsBGxAXCgUcHREFHgUSFggBFh8OIBEhFQUFGCAXIhcXFhUjJCMVCgoKJSUeJicoJwspAycqKywqKwIqAgICAwAVAAEKAgoEAQMFJwMlAwAABAEUAAAAAAoBJQEBJQItAwECBA4WAxISJxcuAAEEAQEEBAACCgoYAgQEBAAvARQVDgQEAQoBBQsEFgoEBBQaBRoKGgUDAQARBiEEfwFBgIDAAAt/AEH1isAAC38AQdqNwAALfwBB4I3AAAsHnwlABm1lbW9yeQIADHNlbmRfY29tcG9zZQCUAQ1jbGVhcl9jb21wb3NlAJYBEGx6X2NvbXBvc2VfYWxlcnQAmAENY29tcG9zZV9xdWV1ZQCZAQRza2lwAJoBBm5pbGlmeQCcAQRidXJuAJ8BCW5leHRfZ3VpZACgAQ5vdXRib3VuZF9ub25jZQCiAQ1pbmJvdW5kX25vbmNlAKMBEmxhenlfaW5ib3VuZF9ub25jZQCkARRpbmJvdW5kX3BheWxvYWRfaGFzaAClARByZWdpc3Rlcl9saWJyYXJ5AKYBGHNldF9kZWZhdWx0X3NlbmRfbGlicmFyeQCpARtzZXRfZGVmYXVsdF9yZWNlaXZlX2xpYnJhcnkAqwEfc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dACuARBzZXRfc2VuZF9saWJyYXJ5AK8BE3NldF9yZWNlaXZlX2xpYnJhcnkAsQEbc2V0X3JlY2VpdmVfbGlicmFyeV90aW1lb3V0ALIBCnNldF9jb25maWcAtAEVaXNfcmVnaXN0ZXJlZF9saWJyYXJ5ALUBEWdldF9saWJyYXJ5X2luZGV4ALYBGnJlZ2lzdGVyZWRfbGlicmFyaWVzX2NvdW50ALcBGGdldF9yZWdpc3RlcmVkX2xpYnJhcmllcwC4ARBpc19zdXBwb3J0ZWRfZWlkALoBFGRlZmF1bHRfc2VuZF9saWJyYXJ5ALsBF2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5ALwBH2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAvQEQZ2V0X3NlbmRfbGlicmFyeQC/ARNnZXRfcmVjZWl2ZV9saWJyYXJ5AMEBF3JlY2VpdmVfbGlicmFyeV90aW1lb3V0AMIBGGlzX3ZhbGlkX3JlY2VpdmVfbGlicmFyeQDEAQpnZXRfY29uZmlnAMYBBXF1b3RlAMcBBHNlbmQAyAEGdmVyaWZ5AMwBBWNsZWFyAM8BEGx6X3JlY2VpdmVfYWxlcnQA0QEHc2V0X3pybwDSAQxzZXRfZGVsZWdhdGUA0wEDZWlkANQBDWluaXRpYWxpemFibGUA1QEKdmVyaWZpYWJsZQDWAQxuYXRpdmVfdG9rZW4A1wEDenJvANgBCGRlbGVnYXRlANkBDV9fY29uc3RydWN0b3IA2gENcmVjb3Zlcl90b2tlbgDeAQphdXRob3JpemVyAN8BBW93bmVyAOABDXBlbmRpbmdfb3duZXIA4QESdHJhbnNmZXJfb3duZXJzaGlwAOIBGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAOQBEGFjY2VwdF9vd25lcnNoaXAA6AEScmVub3VuY2Vfb3duZXJzaGlwAOkBE2V4dGVuZF9pbnN0YW5jZV90dGwA6gEPc2V0X3R0bF9jb25maWdzAOwBC3R0bF9jb25maWdzAO8BEmZyZWV6ZV90dGxfY29uZmlncwDyARVpc190dGxfY29uZmlnc19mcm96ZW4A8wEBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCvPfAdQBlAIEAn8CfgF/AX4jgICAgABBwABrIgIkgICAgABBACEDAkADQCADQShGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtBAiEDAkAgAUL/AYNCzABSDQAgAUHAhMCAAEEFIAJBCGpBBRCngICAACACKQMIIgFC/wGDQgRSDQAgAikDECIEQv8Bg0LIAFINACACKQMYIgVC/wGDQsgAUg0AQQIhA0EBIAItACAiBkEAR0EBdCAGQQFGGyIGQQJGDQAgAkEwaiACKQMoEKiAgIAAIAIoAjANACACKQM4IQcgACABQiCIpzYCGCAAIAU3AxAgACAENwMIIAAgBzcDACAGIQMLIAAgAzoAHCACQcAAaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQnoCAgAAaCyMAAkAgAUL/AYNCyABRDQAgAEIBNwMADwsgACABEPOAgIAAC3YBAX8jgICAgABBIGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBCGogARCqgICAAAJAIAIoAghFDQAgAEICNwMADAILIAIpAxAhASAAIAIpAxg3AxAgACABNwMIIABCATcDAAwBCyAAQgA3AwALIAJBIGokgICAgAALsQECAn8BfiOAgICAAEEgayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFB4IbAgABBAiACQQIQp4CAgAAgAkEQaiACKQMAEKyAgIAAIAIoAhANACACKQMIIgFC/wGDQs0AUg0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAviAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH8hMCAAEEDIAJBCGpBAxCngICAACACQSBqIAIpAwgQrICAgAAgAigCIA0AIAIpAyghASACQSBqIAIpAxAQqICAgAAgAigCIA0AIAIpAxgiBUL/AYNCBFINACACKQMoIQQgACABNwMQIAAgBDcDCCAAIAVCIIg+AhhCACEECyAAIAQ3AwAgAkEwaiSAgICAAAtdAgF/AX4CQAJAIAGnQf8BcSICQcAARg0AAkAgAkEGRg0AQgEhA0KDkICAgAEhAQwCCyABQgiIIQFCACEDDAELQgAhAyABEIGAgIAAIQELIAAgAzcDACAAIAE3AwgLOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEICAgIAAIQELIABCADcDACAAIAE3AwgLsQEBAn8jgICAgABBMGsiBSSAgICAACAFIAMgBBCvgICAADcDECAFIAI3AwggBSABNwMAQQAhBgNAAkAgBkEYRw0AQQAhBgJAA0AgBkEYRg0BIAVBGGogBmogBSAGaikDADcDACAGQQhqIQYMAAsLIABCju7qlb623vMAIAVBGGpBAxCwgICAABCxgICAACAFQTBqJICAgIAADwsgBUEYaiAGakICNwMAIAZBCGohBgwACwtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ+oCAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABCxoAIACtQiCGQgSEIAGtQiCGQgSEEJaAgIAACyEAAkAgACABIAIQjoCAgABC/wGDQgJRDQAQzICAgAAACwuFAQIBfwJ+I4CAgIAAQSBrIgIkgICAgABCACEDAkACQCABELOAgIAAIgRCARC0gICAAEUNACACQQhqIARCARCCgICAABCqgICAACACKAIIQQFGDQEgAikDECEDIAAgAikDGDcDECAAIAM3AwhCASEDCyAAIAM3AwAgAkEgaiSAgICAAA8LAAukCgIBfwR+I4CAgIAAQcAAayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4RAAECAwQFBgcICQoLDA0ODxAACyABQQhqQdyIwIAAQQMQ34CAgAAgASgCCA0TIAFBCGogASkDEBDggICAAAwRCyABQQhqQd+IwIAAQQsQ34CAgAAgASgCCA0SIAFBCGogASkDEBDggICAAAwQCyABQQhqQeqIwIAAQQMQ34CAgAAgASgCCA0RIAFBCGogASkDEBDggICAAAwPCyABQQhqQe2IwIAAQQgQ34CAgAAgASgCCA0QIAFBCGogASkDECAAKQMIEOGAgIAADA4LIAFBMGpB9YjAgABBEBDfgICAACABKAIwDQ8gASABKQM4NwMIIAEgACkDEDcDICABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBMGogAUEIahDigICAAAwMCyABQTBqQYWJwIAAQRIQ34CAgAAgASgCMA0OIAEpAzghAiAAKQMQIQMgADUCBCEEIAApAwghBSABQTBqIAApAxgQrYCAgAAgASgCMA0OIAEgASkDODcDKCABIAM3AyAgASAFNwMQIAEgAjcDCCABIARCIIZCBIQ3AxggAUEwaiABQQhqEOOAgIAADAsLIAFBMGpBl4nAgABBDRDfgICAACABKAIwDQ0gASABKQM4NwMIIAEgACkDEDcDICABIAApAwg3AxAgASAANQIEQiCGQgSENwMYIAFBMGogAUEIahDigICAAAwKCyABQQhqQaSJwIAAQRgQ34CAgAAgASgCCA0MIAFBCGogASkDEBDggICAAAwKCyABQQhqQbyJwIAAQQ4Q34CAgAAgASgCCA0LIAFBCGogASkDECAAKQMIEOGAgIAADAkLIAFBCGpByonAgABBDhDfgICAACABKAIIDQogAUEIaiABKQMQIAA1AgRCIIZCBIQQ4YCAgAAMCAsgAUEIakHYicCAAEESEN+AgIAAIAEoAggNCSABQQhqIAEpAxAgADUCBEIghkIEhBDhgICAAAwHCyABQQhqQeqJwIAAQRUQ34CAgAAgASgCCA0IIAFBCGogASkDECAANQIEQiCGQgSEEOGAgIAADAYLIAFBCGpB/4nAgABBHBDfgICAACABKAIIDQcgAUEIaiABKQMQIAA1AgRCIIZCBIQQ4YCAgAAMBQsgAUEwakGbisCAAEELEN+AgIAAIAEoAjANBiABIAEpAzg3AwggASAAKQMINwMQIAEgADUCBEIghkIEhDcDGCABQTBqIAFBCGoQ5ICAgAAMAwsgAUEwakGmisCAAEEOEN+AgIAAIAEoAjANBSABIAEpAzg3AwggASAAKQMINwMQIAEgADUCBEIghkIEhDcDGCABQTBqIAFBCGoQ5ICAgAAMAgsgAUEwakG0isCAAEEVEN+AgIAAIAEoAjANBCABIAEpAzg3AwggASAAKQMINwMQIAEgADUCBEIghkIEhDcDGCABQTBqIAFBCGoQ5ICAgAAMAQsgAUEwakHJisCAAEEMEN+AgIAAIAEoAjANAyABIAEpAzg3AwggASAAKQMYNwMgIAEgACkDEDcDGCABIAApAwg3AxAgASAANQIEQiCGQgSENwMoIAFBMGogAUEIahDjgICAAAsgASkDOCEDIAEpAzAhAgwBCyABKQMQIQMgASkDCCECCyACUA0BCwALIAFBwABqJICAgIAAIAMLDwAgACABEKOAgIAAQgFRC3QCAX8CfiOAgICAAEEQayICJICAgIAAQgAhAwJAAkAgARCzgICAACIEQgEQtICAgABFDQAgAiAEQgEQgoCAgAAQrICAgAAgAigCAEEBRg0BIAAgAikDCDcDCEIBIQMLIAAgAzcDACACQRBqJICAgIAADwsAC00BAn5CACECAkACQCABELOAgIAAIgNCARC0gICAAEUNACADQgEQgoCAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC3QCAX8CfiOAgICAAEEQayICJICAgIAAQgAhAwJAAkAgARCzgICAACIEQgEQtICAgABFDQAgAiAEQgEQgoCAgAAQqICAgAAgAigCAEEBRg0BIAAgAikDCDcDCEIBIQMLIAAgAzcDACACQRBqJICAgIAADwsACxIAIAAQs4CAgABCARC0gICAAAtWAgF/AX4jgICAgABBEGsiAySAgICAACAAELOAgIAAIQQgAyABIAIQuoCAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCARCDgICAABogA0EQaiSAgICAAAtvAQF/I4CAgIAAQRBrIgMkgICAgAAgAyACEK2AgIAAQgEhAgJAIAMoAgANACADKQMIIQIgAyABNwMIIAMgAjcDACAAQeCGwIAAQQIgA0ECEN6AgIAANwMIQgAhAgsgACACNwMAIANBEGokgICAgAALFQAgABCzgICAACABQgEQg4CAgAAaCw4AIAAgAUIBEL2AgIAACxUAIAAQs4CAgAAgASACEIOAgIAAGgsbACAAELOAgIAAIAEQv4CAgABCARCDgICAABoLQQEBfyOAgICAAEEQayIBJICAgIAAIAEgABCtgICAAAJAIAEoAgBBAUcNAAALIAEpAwghACABQRBqJICAgIAAIAALHAAgABCzgICAACABrUIghkIEhCACEIOAgIAAGgtaAgF+AX8CQAJAAkAgARCzgICAACICQgIQtICAgAANAEEAIQEMAQsgAkICEIKAgIAAIgJC/wGDQgRSDQEgAkIgiKchA0EBIQELIAAgAzYCBCAAIAE2AgAPCwALTQECfkIAIQICQAJAIAEQs4CAgAAiA0ICELSAgIAARQ0AIANCAhCCgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALDgAgACABQgIQwICAgAALDgAgACABQgIQvYCAgAALNQEBfyAAIAKEpyEEAkAgAKdBAXFFDQAgAqdBAXFFDQAgASADEMaAgIAAQQFzIQQLIARBAXELDQAgACABEJ+AgIAAUAsPACAAIAEQyICAgABBAXMLHAACQCAADQBBAA8LIAApAwAgASkDABDGgICAAAslACAAKAIEKQMAIAAoAggoAgAgACgCDCkDACABEMqAgIAAQQFzC10BAX8jgICAgABBIGsiBCSAgICAACAEIAM3AxggBCACNwMQIAQgATYCBCAEIAA3AwggBEEFNgIAAkAgBBC4gICAACIBRQ0AIAQQ0ICAgAALIARBIGokgICAgAAgAQtnAQF+AkACQAJAIAEpAwAiAkIChSABKQMIhFBFDQBCACECDAELIAKnQQFxDQEgACABKQMYNwMYIAAgASkDEDcDECAAIAEpAyA3AyBCASECCyAAIAI3AwAgAEIANwMIDwsQzICAgAAACwkAEPSBgIAAAAtNAgF/AX4QzoCAgABBACEAAkBBABDPgICAACIBQgIQtICAgABFDQBBASEAAkACQCABQgIQgoCAgACnQf8BcQ4CAQIACwALQQAhAAsgAAtIAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahDwgYCAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQ64GAgAALIABBEGokgICAgAALwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQcKNwIAAQQYQ34CAgAAgASgCAA0DIAEgASkDCBDggICAAAwCCyABQciNwIAAQQgQ34CAgAAgASgCAA0CIAEgASkDCBDggICAAAwBCyABQdCNwIAAQQoQ34CAgAAgASgCAA0BIAEgASkDCBDggICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC2kCAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQ0YCAgAACQCABKAIEQQFHDQAgATUCDCECIAE1AgghAyAAELOAgIAAQgEgA0IghkIEhCACQiCGQgSEEISAgIAAGgsgAUEQaiSAgICAAAsMACAAQQIQ+IGAgAALDwAQ04CAgAAQhYCAgAAaC0cCAX8BfiOAgICAAEEQayIAJICAgIAAEM6AgIAAIAAQ1YCAgAAgACkDCCEBIAApAwBBiwgQ1oCAgAAgAEEQaiSAgICAACABC2wCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ1YCAgAAgACkDCCEBIAApAwBBiwgQ1oCAgAACQCABENOAgIAAEMaAgIAADQBCg4CAgOCAARDXgICAAAALIAEQhYCAgAAaIABBEGokgICAgAAgAQsQABDOgICAACAAENuAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQ14CAgAAACwsAIAAQpYCAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAENmAgIAAAkAgACkDAFANAEKDgICAwIEBENeAgIAAAAsgAEEQaiSAgICAAAtTAQJ+EM6AgIAAQgAhAQJAAkBBARDagICAACICQgAQtICAgABFDQAgAkIAEIKAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFB1YzAgABBDBDfgICAACABKAIADQIgASABKQMIEOCAgIAADAELIAFB0IzAgABBBRDfgICAACABKAIADQEgASABKQMIEOCAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQ2oCAgAAiAkICELSAgIAARQ0AIAJCAhCCgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALXwIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkAgACgCAA0AQgIhAgwBCyABIAApAwggACkDEBC6gICAACABKAIAQQFxDQEgASkDCCECCyABQRBqJICAgIAAIAIPCwALfQIBfwF+I4CAgIAAQTBrIgEkgICAgAAgAUEgaiAAKQMIEK2AgIAAAkAgASgCIEEBRw0AAAsgASABKQMoNwMIIAEgACkDADcDECABIAA1AhBCIIZCBIQ3AxhB/ITAgABBAyABQQhqQQMQ3oCAgAAhAiABQTBqJICAgIAAIAILLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBCdgICAAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhD1gYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQsICAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECELCAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC2QCAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDGDcDGCACIAEpAxA3AxAgAiABKQMINwMIIAIgASkDADcDACACQQQQsICAgAAhAyAAQgA3AwAgACADNwMIIAJBIGokgICAgAALcQIBfwF+I4CAgIAAQTBrIgIkgICAgAAgAiABKQMgNwMoIAIgASkDGDcDICACIAEpAxA3AxggAiABKQMINwMQIAIgASkDADcDCCACQQhqQQUQsICAgAAhAyAAQgA3AwAgACADNwMIIAJBMGokgICAgAALXQIBfwF+I4CAgIAAQSBrIgIkgICAgAAgAiABKQMQNwMYIAIgASkDCDcDECACIAEpAwA3AwggAkEIakEDELCAgIAAIQMgAEIANwMAIAAgAzcDCCACQSBqJICAgIAAC6kBAgF/AX4jgICAgABBMGsiASSAgICAACABIAApAxA3AxAgASAAKQMANwMIIAEgACgCCCkDADcDAEEAIQADfgJAIABBGEcNAEEAIQACQANAIABBGEYNASABQRhqIABqIAEgAGopAwA3AwAgAEEIaiEADAALCyABQRhqQQMQsICAgAAhAiABQTBqJICAgIAAIAIPCyABQRhqIABqQgI3AwAgAEEIaiEADAALC78BAgF/AX4jgICAgABB0ABrIgEkgICAgAAgASAAKQMgNwMgIAEgACkDEDcDGCABIAApAwg3AxAgASAAKQMANwMIIAEgACgCGCkDADcDAEEAIQADfgJAIABBKEcNAEEAIQACQANAIABBKEYNASABQShqIABqIAEgAGopAwA3AwAgAEEIaiEADAALCyABQShqQQUQsICAgAAhAiABQdAAaiSAgICAACACDwsgAUEoaiAAakICNwMAIABBCGohAAwACwu6AQIBfwN+I4CAgIAAQdAAayIBJICAgIAAIAApAyAhAiAAKQMYIQMgADUCLCEEIAFBwABqIAApAwAQrYCAgAACQCABKAJAQQFHDQAACyABIAEpA0g3AyAgASACNwMYIAEgAzcDECABIAApAwg3AzAgASAAKQMQNwMoIAEgBEIghkIEhDcDCCABIAA1AihCIIZCBIQ3AzhBjIfAgABBByABQQhqQQcQ3oCAgAAhAiABQdAAaiSAgICAACACCw0AIAFCAiAAp0EBcRsLSQEBfyOAgICAAEEQayICJICAgIAAIAIgADcDCCACIAGtQv8BgzcDAEH8hsCAAEECIAJBAhDegICAACEAIAJBEGokgICAgAAgAAs+AQJ/IAKnIQQCQAJAIACnQQFxRQ0AQQAhBSAEQQFxRQ0BIAEgAxDGgICAACEFDAELIARBAXMhBQsgBUEBcQsmAAJAIACnQQFxRQ0ADwsgAUF/aq1CIIZCg4CAgBB8ENeAgIAAAAurAgQCfwF+AX8DfiOAgICAAEEwayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgA3AwggAEICNwMADAELIAEpAwAgA61CIIZCBIQQhoCAgAAhBEEAIQUCQANAIAVBEEYNASACIAVqQgI3AwAgBUEIaiEFDAALC0IBIQYCQAJAIARC/wGDQswAUg0AIARBzIfAgABBAiACQQIQp4CAgAAgAkEQaiACKQMAEO2AgIAAIAIoAhBBAUYNACACKQMIIgdC/wGDQs0AUq0hBiACKQMoIQggAikDICEEDAELCwJAIANBAWoiBUUNACAAIAQ3AxAgACAGNwMAIAAgBzcDICABIAU2AgggACAINwMYIABCADcDCAwBCxDMgICAAAALIAJBMGokgICAgAALfQIBfwF+AkACQAJAAkAgAadB/wFxIgJBxQBGDQAgAkELRw0CIAAgAUI/hzcDGCAAIAFCCIc3AxAMAQsgARCXgICAACEDIAEQmICAgAAhASAAIAM3AxggACABNwMQC0IAIQEMAQsgAEKDkICAgAE3AwhCASEBCyAAIAE3AwALsQQDAX8BfgF/I4CAgIAAQSBrIgUkgICAgAAQh4CAgAAhBiAFIABCOIYgAEKA/gODQiiGhCAAQoCA/AeDQhiGIABCgICA+A+DQgiGhIQgAEIIiEKAgID4D4MgAEIYiEKAgPwHg4QgAEIoiEKA/gODIABCOIiEhIQ3AxAgBSAGIAYQiICAgABCgICAgHCDQgSEIAVBEGpBCBDvgICAADcDCCAFQQhqIAEQ8ICAgAAhByACEImAgIAAIQAgBUEQaiAAQoSAgIDAACAAEIiAgIAAQoCAgIBwg0IEhBCKgICAACIAQgRChICAgMAAEIqAgIAAEPGAgIAAAkAgBSgCEEEBRg0AIAUpAxghBiAFQQA2AhAgBiAFQRBqQQQQ8oCAgAACQCAFKAIQIgFB////B3ENAAJAAkACQCABQRh2DgIAAQMLIAVBEGogAEKEgICAwABChICAgIABEIqAgIAAEPGAgIAAIAUoAhBBAUYNAyAFKQMYIQYgBUEANgIQIAYgBUEQakEEEPKAgIAAIAUoAhANAiAFQRBqIABChICAgIABQoSAgICABRCKgICAABDzgICAACAFKAIQQQFHDQEMAwsgBUEQaiAAQoSAgIDAAEKEgICAwAQQioCAgAAQ84CAgAAgBSgCEEEBRg0CCyAHIAUpAxgQ9ICAgAAgAxDwgICAACAEEPSAgIAAKQMAEIuAgIAAIQAgBUEgaiSAgICAACAADwtCg4CAgKD+ABDXgICAAAALAAseACAAIAEgAq1CIIZCBIQgA61CIIZCBIQQm4CAgAALdwIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiABQRh0IAFBgP4DcUEIdHIgAUEIdkGA/gNxIAFBGHZycjYCDCAAKQMAIQMgACADIAMQiICAgABCgICAgHCDQgSEIAJBDGpBBBDvgICAADcDACACQRBqJICAgIAAIAALNgEBfkIBIQICQCABEIiAgIAAQoCAgIBwg0KAgICAwABSDQAgACABNwMIQgAhAgsgACACNwMACx8AIABCBCABrUIghkIEhCACrUIghkIEhBCVgICAABoLNgEBfkIBIQICQCABEIiAgIAAQoCAgIBwg0KAgICAgARSDQAgACABNwMIQgAhAgsgACACNwMAC8ABAQR/I4CAgIAAQcAAayICJICAgIAAIAJBIGpBGGoiA0IANwMAIAJBIGpBEGoiBEIANwMAIAJBIGpBCGoiBUIANwMAIAJCADcDICABIAJBIGoQ0IGAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCIgICAAEKAgICAcINCBIQgAkEgEO+AgIAANwMAIAJBwABqJICAgIAAIAALbgIBfwF+I4CAgIAAQRBrIgEkgICAgABB/4LAgABBHxD2gICAACAANQIYQiCGQgSEEPeAgIAAIQIgASAAENyAgIAANwMIIAJBqIPAgABBASABQQhqQQEQ3oCAgAAQjICAgAAaIAFBEGokgICAgAALRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ9YGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC5QBAQJ/I4CAgIAAQSBrIgIkgICAgAAgAiABNwMIIAIgADcDAEEAIQMDfgJAIANBEEcNAEEAIQMCQANAIANBEEYNASACQRBqIANqIAIgA2opAwA3AwAgA0EIaiEDDAALCyACQRBqQQIQsICAgAAhASACQSBqJICAgIAAIAEPCyACQRBqIANqQgI3AwAgA0EIaiEDDAALC4sBAgF/AX4jgICAgABBIGsiASSAgICAACABQdODwIAAQRsQ9oCAgAA3AxggASAAKQMYNwMAIAEgADUCIEIghkIEhDcDECABIAFBGGo2AgggARDlgICAACECIAEgABDcgICAADcDACACQaiDwIAAQQEgAUEBEN6AgIAAEIyAgIAAGiABQSBqJICAgIAAC4cBAQF/I4CAgIAAQRBrIgUkgICAgAAgBSABIAIQ+oCAgABCASECAkAgBSgCAA0AIAUpAwghASAFIAMgBBD6gICAACAFKAIADQAgBSAFKQMINwMIIAUgATcDACAAQaiFwIAAQQIgBUECEN6AgIAANwMIQgAhAgsgACACNwMAIAVBEGokgICAgAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQmYCAgAAhAQsgAEIANwMAIAAgATcDCAvRAQIBfgF/AkAgAEHEhsCAAEEQEPaAgIAAEI2AgIAAEI6AgIAAIgBC/wGDQssAUg0AIAAQj4CAgAAiAUKAgICAEFQNAAJAIABCBBCGgICAACIAp0H/AXEiAkHKAEYNACACQQ5HDQELIAFCIIinIQICQAJAAkAgAEGIhsCAAK1CIIZCBIRChICAgDAQkICAgABCIIinDgMAAgEDC0EBIAIQ/ICAgAANAkEADwtBASACEPyAgIAADQFBAg8LQQEgAhD8gICAAA0AQQEPCxDMgICAAAALGQACQCABIABJDQAgASAAaw8LEMyAgIAAAAtPAgF/AX4gBRD+gICAACIGIAEgAiADEO6AgIAAIQcgACAGNgIoIAAgBTcDACAAIAI2AiwgACABNwMIIAAgBDcDICAAIAc3AxggACADNwMQC1oBAn8jgICAgABBMGsiACSAgICAABDOgICAACAAQQA2AhAgAEEIaiAAQRBqEMGAgIAAAkAgACgCCEEBcQ0AELmBgIAAAAsgACgCDCEBIABBMGokgICAgAAgAQtuAgF/AX4jgICAgABBEGsiAiSAgICAAAJAIAApAwAiAyABEMaAgIAADQAgAiABEICBgIAAIAJBCGpBACACKAIAGyAAEMiAgIAADQBCg4CAgOACENeAgIAAAAsgAxCFgICAABogAkEQaiSAgICAAAtRAQF/I4CAgIAAQSBrIgIkgICAgAAQzoCAgAAgAkEDNgIAIAIgATcDCCAAIAIQtoCAgAACQCAAKQMAUA0AIAIQ0ICAgAALIAJBIGokgICAgAALHQACQCAAEIKBgIAADQBCg4CAgIACENeAgIAAAAsLTgECfyOAgICAAEEgayIBJICAgIAAEM6AgIAAIAFBCDYCACABIAA3AwgCQCABELiAgIAAIgJFDQAgARDQgICAAAsgAUEgaiSAgICAACACC5MBAgF/A34jgICAgABBEGsiAiSAgICAAEG0hsCAAEEQEPaAgIAAIQMgAiABrUIghkIEhCIENwMAQgIhBUEBIQECQANAIAFFDQEgAUF/aiEBIAQhBQwACwsgAiAFNwMIAkAgACADIAJBCGpBARCwgICAABCEgYCAAA0AQoOAgIDwAhDXgICAAAALIAJBEGokgICAgAALNAEBf0EBIQMCQAJAAkAgACABIAIQjoCAgACnQf8BcQ4CAQIACxDMgICAAAALQQAhAwsgAws6ACAAEIGBgIAAAkACQCAAEPuAgIAAQf8BcQ4DAQABAAtCg4CAgJACENeAgIAAAAsgACABEIOBgIAACzkAIAAQgYGAgAACQCAAEPuAgIAAQf8BcUF/akECSQ0AQoOAgIDwARDXgICAAAALIAAgARCDgYCAAAscAAJAIABBgIAESQ0AQoOAgICgARDXgICAAAALCzsBAn8jgICAgABBIGsiACSAgICAACAAQQI2AgAgABCzgICAAEICELSAgIAAIQEgAEEgaiSAgICAACABC04BAX8jgICAgABBIGsiBCSAgICAACAEIAI3AxAgBCABNgIEIAQgADcDCCAEQQQ2AgAgBCADEL6AgIAAIAQQ0ICAgAAgBEEgaiSAgICAAAtVAQF/I4CAgIAAQSBrIgUkgICAgAAgBSADNwMYIAUgAjcDECAFIAE2AgQgBSAANwMIIAVBBTYCACAFIAQQu4CAgAAgBRDQgICAACAFQSBqJICAgIAAC1QBAX8jgICAgABBIGsiBCSAgICAACAEIAM3AxggBCACNwMQIAQgATYCBCAEIAA3AwggBEEFNgIAIAQQs4CAgABCARCRgICAABogBEEgaiSAgICAAAtPAQN/I4CAgIAAQTBrIgAkgICAgAAgAEEHNgIQIABBCGogAEEQahDBgICAACAAKAIIIQEgACgCDCECIABBMGokgICAgAAgAkEAIAFBAXEbC0sBAX8jgICAgABBIGsiAiSAgICAACACQQo2AgAgAiABNgIEIAAgAhC2gICAAAJAIAApAwBQDQAgAhDQgICAAAsgAkEgaiSAgICAAAtLAQF/I4CAgIAAQSBrIgIkgICAgAAgAkELNgIAIAIgATYCBCAAIAIQtoCAgAACQCAAKQMAUA0AIAIQ0ICAgAALIAJBIGokgICAgAALeQEBfyOAgICAAEEgayICJICAgIAAAkACQCABKAIAQQFHDQAgAkEMNgIAIAIgADYCBCACIAEpAwgg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IgMkgICAgAAQzoCAgAAgAyACNwMQIAMgATYCBCADIAA3AwggA0EGNgIAIANBIGogAxC1gICAAAJAIAMpAyAiAlANACADENCAgIAACyADKQMoIQAgA0EwaiSAgICAACAAQgAgAqcbC20BAX8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAyACEKiAgIAAIAMoAgBBAUYNACAAIAFCIIinIAMpAwgQoYGAgAAQv4CAgAAhACADQRBqJICAgIAAIAAPCwALbQEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACADIAIQqICAgAAgAygCAEEBRg0AIAAgAUIgiKcgAykDCBCbgYCAABC/gICAACEAIANBEGokgICAgAAgAA8LAAttAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAMgAhCogICAACADKAIAQQFGDQAgACABQiCIpyADKQMIEJ6BgIAAEL+AgIAAIQAgA0EQaiSAgICAACAADwsAC5YBAQF/I4CAgIAAQRBrIgQkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAQgAhCogICAACAEKAIAQQFGDQAgBCkDCCECIAQgAxCsgICAACAEKAIAQQFGDQAgBCAAIAFCIIinIAIgBCkDCBCdgYCAACAEKQMAIAQpAwgQ6ICAgAAhACAEQRBqJICAgIAAIAAPCwALiwICAn8BfiOAgICAAEEgayIBJICAgIAAAkACQAJAIABC/wGDQs0AUg0AENKAgIAAEM6AgIAAIAAQ+4CAgAAaIAAQgoGAgAANARCngYCAACECIAFBCDYCACABIAA3AwggASACQgEQwICAgAAgARDQgICAACABQQk2AgAgASACNgIEIAEgABC8gICAACABENCAgIAAIAJBAWoiAkUNAiABQQc2AgAgASACEMOAgIAAQaiCwIAAQRIQ9oCAgAAQqIGAgAAhAyABIAA3AwAgA0HEgsCAAEEBIAFBARDegICAABCMgICAABogAUEgaiSAgICAAEICDwsAC0KDgICAEBDXgICAAAALEMyAgIAAAAsOABDOgICAABCMgYCAAAtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQsICAgAAhACABQRBqJICAgIAAIAALhgIBAn8jgICAgABBwABrIgIkgICAgAACQAJAIABC/wGDQgRSDQAgAUL/AYNCzQBSDQAgAiABNwMIENKAgIAAEM6AgIAAIAEgAEIgiKciAxCFgYCAACACQRBqIAMQqoGAgAAgAkEYakEAIAIoAhAbIAJBCGoQx4CAgABFDQEgAkEKNgIgIAIgAzYCJCACQSBqIAEQvICAgAAgAkEgahDQgICAAEHMgsCAAEEYEPaAgIAAIABChICAgHCDEPeAgIAAIQAgAiABNwMgIABBxILAgABBASACQSBqQQEQ3oCAgAAQjICAgAAaIAJBwABqJICAgIAAQgIPCwALQoOAgIDQAhDXgICAAAALEgAQzoCAgAAgACABEI2BgIAAC7EDAwF/AX4BfyOAgICAAEHQAGsiAySAgICAAAJAAkACQCAAQv8Bg0IEUg0AIAFC/wGDQs0AUg0AIAMgATcDACADQTBqIAIQrICAgAAgAygCMEEBRg0AIAMpAzghBBDSgICAABDOgICAACABIABCIIinIgUQhoGAgAAgA0EIaiAFEKyBgIAAIANBEGpBACADKAIIGyADEMeAgIAARQ0BIANBCzYCMCADIAU2AjQgA0EwaiABELyAgIAAIANBMGoQ0ICAgABB5ILAgABBGxD2gICAACAAQoSAgIBwgxD3gICAACEAIAMgATcDMCAAQcSCwIAAQQEgA0EwakEBEN6AgIAAEIyAgIAAGkIAIQECQAJAIARQRQ0ADAELIAMoAghBAUcNACADKQMQIQIQrYGAgAAiASAEfCIAIAFUDQMgAyAANwMoIAMgAjcDIEIBIQELIAMgATcDGCAFIANBGGoQj4GAgAAgAyAANwNAIAMgAjcDOCADIAE3AzAgAyAFNgJIIANBMGoQ9YCAgAAgA0HQAGokgICAgABCAg8LAAtCg4CAgNACENeAgIAAAAsQzICAgAAACxIAEM6AgIAAIAAgARCOgYCAAAs9AgF+AX8CQBCggICAACIAp0H/AXEiAUEGRg0AAkAgAUHAAEcNACAAEIGAgIAADwsQzICAgAAACyAAQgiIC5UCAgJ/AX4jgICAgABBwABrIgIkgICAgAACQAJAIABC/wGDQgRSDQAgAkEgaiABEKmAgIAAIAIpAyBCAlENACAAQiCIpyEDIAJBCGpBEGogAkEgakEQaikDADcDACACQQhqQQhqIAJBIGpBCGopAwA3AwAgAiACKQMgNwMIENKAgIAAEM6AgIAAAkACQCACKAIIQQFGDQBCACEADAELIAIpAxAiASADEIaBgIAAQgEhACACKQMYIgQQrYGAgABYDQILIAMgAkEIahCPgYCAACACIAQ3AzAgAiABNwMoIAIgADcDICACIAM2AjggAkEgahD1gICAACACQcAAaiSAgICAAEICDwsAC0KDgICAgAEQ14CAgAAAC6QDAQJ/I4CAgIAAQcAAayIEJICAgIAAAkACQCAAQv8Bg0LNAFINACAEIAA3AwAgAUL/AYNCzQBSDQAgAkL/AYNCBFINACAEQRhqIAMQsIGAgAAgBCkDGCIDQgJRDQAgBCkDICEAEM6AgIAAIAQgARD/gICAACAEQQhqIAEgAkIgiKciBRCQgYCAACAEKQMIIAQpAxAgAyAAEMWAgIAARQ0BAkACQCADp0EBcQ0AIAQgBTYCHCAEIAE3AyAgBEENNgIYIARBGGoQs4CAgABCARCRgICAABpCACEDDAELIAAgBRCFgYCAACAEIAU2AhwgBCABNwMgIARBDTYCGCAEQRhqIAAQvICAgAAgBEEYahDQgICAAEIBIQMLIARBsIPAgABBEBD2gICAADcDOCAEIAJChICAgHCDNwMoIAQgATcDGCAEIARBOGo2AiAgBEEYahDlgICAACEBIAQgAyAAEOiAgIAANwMYIAFBxILAgABBASAEQRhqQQEQ3oCAgAAQjICAgAAaIARBwABqJICAgIAAQgIPCwALQoOAgIDQAhDXgICAAAALOQACQCABQgJRDQACQCABQv8Bg0LNAFENACAAQgI3AwAPCyAAIAE3AwggAEIBNwMADwsgAEIANwMAC4wFAgJ/A34jgICAgABB4ABrIgUkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINACAFIAA3AwggAUL/AYNCzQBSDQAgAkL/AYNCBFINACAFQThqIAMQsIGAgAAgBSkDOCIDQgJRDQAgBSkDQCEAIAVBOGogBBCsgICAACAFKAI4QQFGDQAgBSkDQCEEEM6AgIAAIAVBCGogARD/gICAACAFQRBqIAEgAkIgiKciBhCR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RQ0AIAEQ0ICAgAALIAKtIQALIAFBIGokgICAgAAgAA8LAAtRAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgASAAQiCIpxCqgYCAACABKQMAIAEpAwgQ6ICAgAAhACABQRBqJICAgIAAIAALUQEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCBFENAAALIAEgAEIgiKcQrIGAgAAgASkDACABKQMIEOiAgIAAIQAgAUEQaiSAgICAACAAC08BAX8jgICAgABBIGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABQQhqIABCIIinEL6BgIAAIAFBCGoQ3ICAgAAhACABQSBqJICAgIAAIAALUQEBfyOAgICAAEEgayICJICAgIAAEM6AgIAAIAJBDDYCACACIAE2AgQgACACELKAgIAAAkAgACkDAFANACACENCAgIAACyACQSBqJICAgIAAC2ABAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinEMCBgIAAIAIpAwAgAi0ACBDpgICAACEAIAJBEGokgICAgAAgAA8LAAt/AQJ/I4CAgIAAQRBrIgMkgICAgAAQzoCAgAAgAyABIAIQkIGAgABBASEEAkACQCADKAIAQQFHDQAgAykDCCEBQQAhBAwBCyADIAIQjYGAgAAgAykDCCEBIAMpAwBBBRDrgICAAAsgACAEOgAIIAAgATcDACADQRBqJICAgIAAC2ABAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinELOBgIAAIAIpAwAgAi0ACBDpgICAACEAIAJBEGokgICAgAAgAA8LAAteAQF/I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGogACABQiCIpxDDgYCAACACQQhqENyAgIAAIQAgAkEgaiSAgICAACAADwsAC1gBAX8jgICAgABBIGsiAySAgICAABDOgICAACADIAI2AgQgAyABNwMIIANBDzYCACAAIAMQsoCAgAACQCAAKQMAUA0AIAMQ0ICAgAALIANBIGokgICAgAALOwACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJC/wGD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IABZIAcgAFEbRQ0FIBAgAIVCf4UgECAQIAB8IA8gAXwiESAPVK18IhKFg0IAUw0JIA0gDCADKQOAASABIAAQroCAgAAgByAAfSAOIAFUrX0hByAOIAF9IQ4gESEPIBIhEAwACwtCACESAkAgDlAgB0IAUyAHUBsNACANIAwgAiAOIAcQroCAgAALQgAhBwJAIARBAXFFDQAgA0GQAWoQy4GAgAAgAykDmAEhEyADKQOQAUEZEOuAgIAAIANBwABqIBMgDBDKgYCAACADKQNAIhFCAFIgAykDSCIOQgBVIA5QG0UNBSALEI+AgIAAIQAgA0EANgJYIAMgCzcDUCADIABCIIg+AlxCACESQgAhBwJAA0AgA0GQAWogA0HQAGoQ7ICAgAAgA0HgAGogA0GQAWoQy4CAgAAgAygCYEEBcUUNASADKQN4IgBCf1cNCCADKQNwIgEgAIRQDQAgESABWiAOIABZIA4gAFEbRQ0JIAcgAIVCf4UgByAHIAB8IBIgAXwiDSASVK18IguFg0IAUw0KIBMgDCADKQOAASABIAAQroCAgAAgDiAAfSARIAFUrX0hDiARIAF9IREgDSESIAshBwwACwsgEVAgDkIAUyAOUBsNACATIAwgAiARIA4QroCAgAALQYCAwIAAQQsQ9oCAgAAQqIGAgAAhACADIAg3A6ABIAMgBjcDmAEgAyAKNwOQASAAQayAwIAAQQMgA0GQAWpBAxDegICAABCMgICAABogAykDGCEAIANB4ABqIA8gECASIAcQ+YCAgAAgAygCYA0IIAMpA2ghASADQeAAaiAJEK2AgIAAIAMoAmBBAUYNCCADIAMpA2g3A6ABIAMgADcDmAEgAyABNwOQAUHAhcCAAEEDIANBkAFqQQMQ3oCAgAAhACADQcABaiSAgICAACAADwsgA0GQAWogBWpCAjcDACAFQQhqIQUMAAsLQoOAgICQARDXgICAAAALQoOAgIDgABDXgICAAAALQoOAgICAAxDXgICAAAALQoOAgICQARDXgICAAAALQoOAgIDwABDXgICAAAALEMyAgIAAAAsAC1YCAX8BfiOAgICAAEEwayIAJICAgIAAEM6AgIAAIABBATYCECAAIABBEGoQwoCAgAACQCAAKAIADQAQuYGAgAAACyAAKQMIIQEgAEEwaiSAgICAACABC3YBAX8jgICA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ACACQRBqIAJBIGpBEGopAwA3AwAgAiACKQMoNwMIIAFC/wGDQs0AUg0AIAJBCGogARDNgYCAACEDIAJBwABqJICAgIAAIAOtDwsAC4wBAQJ/I4CAgIAAQcAAayICJICAgIAAIAJBIGogABCrgICAAAJAIAIoAiBBAUYNACACQQhqQRBqIAJBOGopAwA3AwAgAkEQaiACQSBqQRBqKQMANwMAIAIgAikDKDcDCCABQv8Bg0LNAFINACACQQhqIAEQzoGAgAAhAyACQcAAaiSAgICAACADrQ8LAAsIABDJgYCAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMuBgIAAIAApAwAgACkDCBDogICAACEBIABBEGokgICAgAAgAQtOAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFENAAALIAEgABCAgYCAACABKQMAIAEpAwgQ6ICAgAAhACABQRBqJICAgIAAIAALuAEBAX8jgICAgABBIGsiAySAgICAAAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQv8Bg0LNAFINAEGAyx5BgNIfENuBgIAAQYDLHkGA0h8Q3IGAgABBABDagICAAEICELSAgIAADQEgABDdgYCAACADQQA2AgAgAyABQiCIpxDDgICAACADQQE2AgAgAyACEMSAgIAAIANBIGokgICAgABCAg8LAAtCg4CAgKCBARDXgICAAAALDgBBASAAIAEQ+YGAgAALDgBBAiAAIAEQ+YGAgAALDgBBACAAQgIQ54GAgAALgwECAX8BfiOAgICAAEEgayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAyACEO2AgIAAIAMoAgBBAUYNACADKQMYIQIgAykDECEEENKAgIAAEM6AgIAAIAAQk4CAgAAgASAEIAIQroCAgAAgA0EgaiSAgICAAEICDwsACwgAENOAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ1YCAgAAgACkDACAAKQMIEOiAgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ2YCAgAAgACkDACAAKQMIEOiAgIAAIQEgAEEQaiSAgICAACABCzwBAX4CQCAAQv8Bg0LNAFENAAALEM6AgIAAENSAgIAAIQEQ2ICAgAAgABDdgYCAACABIAAQ44GAgABCAgthAgF/AX4jgICAgABBEGsiAiSAgICAAEH+isCAAEEVEPaAgIAAEKiBgIAAIQMgAiAANwMIIAIgATcDACADQaiLwIAAQQIgAkECEN6AgIAAEIyAgIAAGiACQRBqJICAgIAAC/wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AEM6AgIAAENSAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDZgICAACACKQMQIQEgAikDCEGJCBDWgICAACABIAAQxoCAgABFDQMQ5YGAgABB7IvAgABBHBD2gICAABCogYCAACEAIAIgAzcDECACIAE3AwggAEGkjMCAAEECIAJBCGpBAhDegICAABCMgICAABoMAQsQ5oGAgAAgAUIgiKdJDQNBASAAQgAQ54GAgABBARDagICAAEIAIAFChICAgHCDIgEgARCEgICAABpBuIvAgABBFhD2gICAABCogYCAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARB1IvAgABBAyACQQhqQQMQ3oCAgAAQjICAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDwgAEQ14CAgAAAC0KDgICAgIEBENeAgIAAAAsTAEEBENqAgIAAQgAQkYCAgAAaCzMBAn4QoYCAgAAhAAJAEKKAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEMyAgIAAAAsVACAAENqAgIAAIAEgAhCDgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEM6AgIAAIAAQ2YCAgAAgACkDCCEBIAApAwBBiQgQ1oCAgAAgARCFgICAABogABDbgICAAAJAIAAoAgANABC5gYCAAAALIAApAwghAhDlgYCAACABEN2BgIAAIAIgARDjgYCAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEM6AgIAAENSAgIAAIQEQ2ICAgABBABDagICAAEICEJGAgIAAGkG0jMCAAEETEPaAgIAAEKiBgIAAIQIgACABNwMIIAJByIzAgABBASAAQQhqQQEQ3oCAgAAQjICAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDrgYCAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEKSAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ7YGAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDtgYCAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBDSgICAABDOgICAAAJAAkACQBDNgICAAA0AEOaBgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AENeAgIAAAAtCg4CAgMD/ABDXgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQENuBgIAADAELQQEQz4CAgABCAhCRgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgENyBgIAADAELQQIQz4CAgABCAhCRgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEH8jMCAAEEPEPaAgIAAEKiBgIAAIQAgAkEoahDugYCAACEBIAIgAkE0ahDugYCAADcDSCACIAE3A0AgAEGgjcCAAEECIAJBwABqQQIQ3oCAgAAQjICAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEPaBgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEPGBgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgugAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEM6AgIAAIABBCGoQ8IGAgAAgAEEUaiIBENGAgIAAIABBMGogAEEIahDxgYCAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQ8YGAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECELCAgIAAIQIgAEHAAGokgICAgAAgAgsMACAAQQEQ+IGAgAALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ94GAgAAPCyAAQgA3AwAgAEICNwMIC4gBAQF/I4CAgIAAQRBrIgAkgICAgAAQ0oCAgAAQzoCAgAACQBDNgICAAEUNAEKDgICA4P8AENeAgIAAAAtBABDPgICAAEIBQgIQg4CAgAAaQbCNwIAAQRIQ9oCAgAAQqIGAgABBBEEAIABBCGpBABDegICAABCMgICAABogAEEQaiSAgICAAEICCwkAEM2AgIAArQsDAAAL2wECAX4EfwJAAkAgAkEJSw0AQgAhAyACIQQgASEFA0ACQCAEDQAgA0IIhkIOhCEDDAMLQQEhBgJAIAUtAAAiB0HfAEYNAAJAIAdBUGpB/wFxQQpJDQACQCAHQb9/akH/AXFBGkkNACAHQZ9/akH/AXFBGUsNBCAHQUVqIQYMAgsgB0FLaiEGDAELIAdBUmohBgsgA0IGhiAGrUL/AYOEIQMgBEF/aiEEIAVBAWohBQwACwsgAa1CIIZCBIQgAq1CIIZCBIQQmoCAgAAhAwsgAEIANwMAIAAgAzcDCAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUHsjMCAAEECIAJBAhCngICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQeyMwIAAQQIgA0ECEN6AgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC3cCAn8BfiOAgICAAEEQayICJICAgIAAQQAhAwJAAkAgARDPgICAACIEQgIQtICAgABFDQAgAkEEaiAEQgIQgoCAgAAQ9oGAgABBASEDIAIoAgRBAUYNASAAIAIpAgg3AgQLIAAgAzYCACACQRBqJICAgIAADwsAC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQz4CAgAAhBCADIAEgAhD3gYCAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEIOAgIAAGiADQRBqJICAgIAACwvkDQEAQYCAwAAL2g1wYWNrZXRfc2VudGVuY29kZWRfcGFja2V0b3B0aW9uc3NlbmRfbGlicmFyeQsAEAAOAAAAGQAQAAcAAAAgABAADAAAAHBhY2tldF92ZXJpZmllZHBheWxvYWRfaGFzaABTABAADAAAAHBhY2tldF9kZWxpdmVyZWRsel9yZWNlaXZlX2FsZXJ0ZXh0cmFfZGF0YWdhc21lc3NhZ2VyZWFzb252YWx1ZQCIABAACgAAAJIAEAADAAAAlQAQAAcAAACcABAABgAAAKIAEAAFAAAAenJvANAAEAADAAAAZGVsZWdhdGVfc2V0ZGVsZWdhdGXoABAACAAAAGluYm91bmRfbm9uY2Vfc2tpcHBlZHBhY2tldF9uaWxpZmllZHBhY2tldF9idXJudGxpYnJhcnlfcmVnaXN0ZXJlZG5ld19saWIAAAA6ARAABwAAAGRlZmF1bHRfc2VuZF9saWJyYXJ5X3NldGRlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3NldGRlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dF9zZXR0aW1lb3V0AAAAngEQAAcAAABzZW5kX2xpYnJhcnlfc2V0cmVjZWl2ZV9saWJyYXJ5X3NldHJlY2VpdmVfbGlicmFyeV90aW1lb3V0X3NldGNvbXBvc2Vfc2VudAAAlQAQAAcAAABjb21wb3NlX2RlbGl2ZXJlZGx6X2NvbXBvc2VfYWxlcnRkc3RfZWlkcGF5X2luX3pyb3JlY2VpdmVyAAAlAhAABwAAAJUAEAAHAAAAGQAQAAcAAAAsAhAACgAAADYCEAAIAAAAbm9uY2VzZW5kZXJzcmNfZWlkAABoAhAABQAAAG0CEAAGAAAAcwIQAAcAAABuYXRpdmVfZmVlenJvX2ZlZQAAAJQCEAAKAAAAngIQAAcAAABmZWVndWlkALgCEAADAAAAuwIQAAQAAABoAhAABQAAAGFsbG93X2luaXRpYWxpemVfcGF0aFNlbmRSZWNlaXZlU2VuZEFuZFJlY2VpdmUAAO0CEAAEAAAA8QIQAAcAAAD4AhAADgAAAHNldF9jb25maWdnZXRfY29uZmlnaXNfc3VwcG9ydGVkX2VpZG1lc3NhZ2VfbGliX3R5cGVleHBpcnlsaWIAAABUAxAABgAAAFoDEAADAAAAaXNfZGVmYXVsdAAAcAMQAAoAAABaAxAAAwAAACUCEAAHAAAAuwIQAAQAAACVABAABwAAAGgCEAAFAAAANgIQAAgAAABtAhAABgAAAHMCEAAHAAAAYW1vdW50dG/EAxAABgAAAMoDEAACAAAAbmF0aXZlX2ZlZV9yZWNpcGllbnRzenJvX2ZlZV9yZWNpcGllbnRzAAsAEAAOAAAA3AMQABUAAADxAxAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////9FaWROYXRpdmVUb2tlblpyb0RlbGVnYXRlTGF6eUluYm91bmROb25jZUluYm91bmRQYXlsb2FkSGFzaE91dGJvdW5kTm9uY2VSZWdpc3RlcmVkTGlicmFyaWVzQ291bnRMaWJyYXJ5VG9JbmRleEluZGV4VG9MaWJyYXJ5RGVmYXVsdFNlbmRMaWJyYXJ5RGVmYXVsdFJlY2VpdmVMaWJyYXJ5RGVmYXVsdFJlY2VpdmVMaWJyYXJ5VGltZW91dFNlbmRMaWJyYXJ5UmVjZWl2ZUxpYnJhcnlSZWNlaXZlTGlicmFyeVRpbWVvdXRDb21wb3NlUXVldWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXRocmVzaG9sZG93bmVyc2hpcF90cmFuc2ZlcnJlZG5ld19vd25lcm9sZF9vd25lcgAAAJMFEAAJAAAAnAUQAAkAAABvd25lcnNoaXBfdHJhbnNmZXJyaW5ndHRsAAAAkwUQAAkAAACcBRAACQAAAM4FEAADAAAAb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZGNhbmNlbGxlZF9wZW5kaW5nX293bmVyb3duZXIIBhAAFwAAAB8GEAAFAAAAb3duZXJzaGlwX3Jlbm91bmNlZACcBRAACQAAAE93bmVyUGVuZGluZ093bmVyZXh0ZW5kX3RvAABhBhAACQAAAHUFEAAJAAAAdHRsX2NvbmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAiwYQAAgAAACTBhAACgAA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ZSB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAALFN1cHBsaWVkIFpSTyB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVy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aGUgbG9uZ2VzdCBnYXBsZXNzIHNlcXVlbmNlIG9mIHZlcmlmaWVkIG1lc3NhZ2Ugbm9uY2VzLgoKVGhlIHVuaW5pdGlhbGl6ZWQgdmFsdWUgaXMgMC4gVGhlIGZpcnN0IG5vbmNlIGlzIGFsd2F5cyAxLgpJdCBzdGFydHMgZnJvbSB0aGUgYGxhenlfaW5ib3VuZF9ub25jZWAgKGxhc3QgY2hlY2twb2ludCkgYW5kIGl0ZXJhdGl2ZWx5IGNoZWNrcwppZiB0aGUgbmV4dCBub25jZSBoYXMgYmVlbiB2ZXJpZmllZC4KCk5vdGU6IE9BcHAgZXhwbGljaXRseSBza2lwcGVkIG5vbmNlcyBjb3VudCBhcyAidmVyaWZpZWQiIGZvciB0aGVzZSBwdXJwb3Nlcy4KCkV4YW1wbGVzOiBgWzEsMiwzLDQsNiw3XSA9PiA0YCwgYFsxLDIsNiw4LDEwXSA9PiAyYCwgYFsxLDMsNCw1LDZdID0+IDFgAAAAAAANaW5ib3VuZF9ub25jZQAAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAYAAAAAAAAARVJldHVybnMgdGhlIGxhenkgaW5ib3VuZCBub25jZSAobGFzdCBjaGVja3BvaW50KSBmb3IgYSBzcGVjaWZpYyBwYXRoLgAAAAAAABJsYXp5X2luYm91bmRfbm9uY2UAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAYAAAAAAAAANlJldHVybnMgdGhlIHBheWxvYWQgaGFzaCBmb3IgYSBzcGVjaWZpYyBpbmJvdW5kIG5vbmNlLgAAAAAAFGluYm91bmRfcGF5bG9hZF9oYXNoAAAABAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAPoAAAD7gAAACAAAAAAAAAAMlJlZ2lzdGVycyBhIG5ldyBtZXNzYWdlIGxpYnJhcnkgd2l0aCB0aGUgZW5kcG9pbnQuAAAAAAAQcmVnaXN0ZXJfbGlicmFyeQAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAAAAAAOVNldHMgdGhlIGRlZmF1bHQgc2VuZCBsaWJyYXJ5IGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAABhzZXRfZGVmYXVsdF9zZW5kX2xpYnJhcnkAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAAAAAAtlNldHMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGZvciBhIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgZ3JhY2UgcGVyaW9kIGlzIHByb3ZpZGVkIGFuZCB0aGVyZSB3YXMgYSBwcmV2aW91cyBsaWJyYXJ5LCB0aGUgb2xkIGxpYnJhcnkKcmVtYWlucyB2YWxpZCB1bnRpbCB0aGUgZ3JhY2UgcGVyaW9kIGV4cGlyZXMuAAAAAAAbc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5AAAAAAMAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAxncmFjZV9wZXJpb2QAAAAGAAAAAAAAAAAAAADSU2V0cyBvciByZW1vdmVzIHRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGZvciBhIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgdGltZW91dCBpcyBwcm92aWRlZCwgaXQgbXVzdCBiZSB2YWxpZCBhbmQgbm90IGV4cGlyZWQuIElmIG5vIHRpbWVvdXQgaXMgcHJvdmlkZWQsCnRoZSBkZWZhdWx0IHJlY2VpdmUgbGlicmFyeSB0aW1lb3V0IGlzIHJlbW92ZWQuAAAAAAAfc2V0X2RlZmF1bHRfcmVjZWl2ZV9saWJfdGltZW91dAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAAB3RpbWVvdXQAAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAAAAAAAFVTZXRzIG9yIHJlbW92ZXMgYSBjdXN0b20gc2VuZCBsaWJyYXJ5IGZvciBhbiBPQXBwIHRvIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAAEHNldF9zZW5kX2xpYnJhcnkAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAAAAADSU2V0cyBvciByZW1vdmVzIGEgY3VzdG9tIHJlY2VpdmUgbGlicmFyeSBmb3IgYW4gT0FwcCB0byBhIHNwZWNpZmljIHNvdXJjZSBlbmRwb2ludC4KCklmIGEgZ3JhY2UgcGVyaW9kIGlzIHByb3ZpZGVkIGFuZCB0aGVyZSB3YXMgYSBwcmV2aW91cyBsaWJyYXJ5LCB0aGUgb2xkIGxpYnJhcnkKcmVtYWlucyB2YWxpZCB1bnRpbCB0aGUgZ3JhY2UgcGVyaW9kIGV4cGlyZXMuAAAAAAATc2V0X3JlY2VpdmVfbGlicmFyeQAAAAAFAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAxncmFjZV9wZXJpb2QAAAAGAAAAAAAAAAAAAACxU2V0cyBvciByZW1vdmVzIHRoZSBjdXN0b20gcmVjZWl2ZSBsaWJyYXJ5IHRpbWVvdXQgZm9yIGFuIE9BcHAuCgpBbGxvd3MgYW4gT0FwcCB0byBleHRlbmQgb3IgcmVtb3ZlIHRoZSB2YWxpZGl0eSBwZXJpb2Qgb2YgYSBwcmV2aW91c2x5IHNldCBsaWJyYXJ5CmFmdGVyIHN3aXRjaGluZyB0byBhIG5ldyBvbmUuAAAAAAAAG3NldF9yZWNlaXZlX2xpYnJhcnlfdGltZW91dAAAAAAEAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAAAAACDU2V0cyB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpSZXF1aXJlcyB0aGUgY2FsbGVyIHRvIGJlIHRoZSBPQXBwIG9yIGl0cyBkZWxlZ2F0ZSBhbmQgdGhlIGxpYnJhcnkgdG8gYmUgcmVnaXN0ZXJlZC4AAAAACnNldF9jb25maWcAAAAAAAQAAAAAAAAABmNhbGxlcgAAAAAAEwAAAAAAAAAEb2FwcAAAABMAAAAAAAAAA2xpYgAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADlNldENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAACpDaGVja3MgaWYgYSBtZXNzYWdlIGxpYnJhcnkgaXMgcmVnaXN0ZXJlZC4AAAAAABVpc19yZWdpc3RlcmVkX2xpYnJhcnkAAAAAAAABAAAAAAAAAANsaWIAAAAAEwAAAAEAAAABAAAAAAAAACdSZXR1cm5zIHRoZSBpbmRleCBvZiBhIG1lc3NhZ2UgbGlicmFyeS4AAAAAEWdldF9saWJyYXJ5X2luZGV4AAAAAAAAAQAAAAAAAAADbGliAAAAABMAAAABAAAD6AAAAAQAAAAAAAAAM1JldHVybnMgdGhlIG51bWJlciBvZiByZWdpc3RlcmVkIG1lc3NhZ2UgbGlicmFyaWVzLgAAAAAacmVnaXN0ZXJlZF9saWJyYXJpZXNfY291bnQAAAAAAAAAAAABAAAABAAAAAAAAABKUmV0dXJucyBhIGxpc3Qgb2YgcmVnaXN0ZXJlZCBtZXNzYWdlIGxpYnJhcmllcyB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZS4AAAAAABhnZXRfcmVnaXN0ZXJlZF9saWJyYXJpZXMAAAACAAAAAAAAAAVzdGFydAAAAAAAAAQAAAAAAAAACW1heF9jb3VudAAAAAAAAAQAAAABAAAD6gAAABMAAAAAAAAAfUNoZWNrcyBpZiBhbiBlbmRwb2ludCBJRCBpcyBzdXBwb3J0ZWQuClJldHVybnMgdHJ1ZSBvbmx5IGlmIGJvdGggdGhlIGRlZmF1bHQgc2VuZC9yZWNlaXZlIGxpYnJhcmllcyBhcmUgc2V0IGZvciB0aGUgZ2l2ZW4gZWlkAAAAAAAAEGlzX3N1cHBvcnRlZF9laWQAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAABAAAAAAAAADxSZXR1cm5zIHRoZSBkZWZhdWx0IHNlbmQgbGlicmFyeSBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAUZGVmYXVsdF9zZW5kX2xpYnJhcnkAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAABMAAAAAAAAAOlJldHVybnMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAAABdkZWZhdWx0X3JlY2VpdmVfbGlicmFyeQAAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAD6AAAABMAAAAAAAAAQlJldHVybnMgdGhlIGRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IHRpbWVvdXQgZm9yIGEgc291cmNlIGVuZHBvaW50LgAAAAAAH2RlZmF1bHRfcmVjZWl2ZV9saWJyYXJ5X3RpbWVvdXQAAAAAAQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAEhSZXR1cm5zIHRoZSBlZmZlY3RpdmUgc2VuZCBsaWJyYXJ5IGZvciBhbiBPQXBwIGFuZCBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAQZ2V0X3NlbmRfbGlicmFyeQAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAAAAABGUmV0dXJucyB0aGUgZWZmZWN0aXZlIHJlY2VpdmUgbGlicmFyeSBmb3IgYW4gT0FwcCBhbmQgc291cmNlIGVuZHBvaW50LgAAAAAAE2dldF9yZWNlaXZlX2xpYnJhcnkAAAAAAgAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAH0AAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAAAAAERSZXR1cm5zIHRoZSByZWNlaXZlIGxpYnJhcnkgdGltZW91dCBmb3IgYW4gT0FwcCBhbmQgc291cmNlIGVuZHBvaW50LgAAABdyZWNlaXZlX2xpYnJhcnlfdGltZW91dAAAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAAdUaW1lb3V0AAAAAAAAAABFQ2hlY2tzIGlmIGEgcmVjZWl2ZSBsaWJyYXJ5IGlzIHZhbGlkIGZvciBhbiBPQXBwIGFuZCBzb3VyY2UgZW5kcG9pbnQuAAAAAAAAGGlzX3ZhbGlkX3JlY2VpdmVfbGlicmFyeQAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAphY3R1YWxfbGliAAAAAAATAAAAAQAAAAEAAAAAAAAAYlJldHVybnMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5IGZvciBhIHNwZWNpZmljIGVuZHBvaW50IElEIGFuZCBjb25maWd1cmF0aW9uIHR5cGUuAAAAAAAKZ2V0X2NvbmZpZwAAAAAABAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAA2xpYgAAAAATAAAAAAAAAANlaWQAAAAABAAAAAAAAAALY29uZmlnX3R5cGUAAAAABAAAAAEAAAAOAAAAAAAAADtRdW90ZXMgdGhlIG1lc3NhZ2luZyBmZWUgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAFcXVvdGUAAAAAAAACAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAABnBhcmFtcwAAAAAH0AAAAA9NZXNzYWdpbmdQYXJhbXMAAAAAAQAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAAAAAAIlTZW5kcyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgdG8gYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCk9BcHAgc2VuZGVyIG5lZWRzIHRvIHRyYW5zZmVyIHRoZSBmZWVzIHRvIHRoZSBlbmRwb2ludCBiZWZvcmUgc2VuZGluZyB0aGUgbWVzc2FnZQAAAAAAAARzZW5kAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAB9AAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAAAAAAOcmVmdW5kX2FkZHJlc3MAAAAAABMAAAABAAAH0AAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAAAAAEpWZXJpZmllcyBhbiBpbmJvdW5kIGNyb3NzLWNoYWluIG1lc3NhZ2UgZnJvbSBhIGNvbmZpZ3VyZWQgcmVjZWl2ZSBsaWJy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dG9rZW5gIC0gVGhlIHRva2VuIGFkZHJlc3MgdG8gcmVjb3ZlcgoqIGB0b2AgLSBUaGUgYWRkcmVzcyB0byBzZW5kIHRoZSB0b2tlbiB0bwoqIGBhbW91bnRgIC0gVGhlIGFtb3VudCB0byBzZW5kAAAAAAAADXJlY292ZXJfdG9rZW4AAAAAAAADAAAAAAAAAAV0b2tlbgAAAAAAABMAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAMAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAAAAAAAA5VcGdyYWRlc0Zyb3plbgAAAAAEHAAAAAQAAAAYTXVsdGlTaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aVNpZ0Vycm9yAAAAAAAACQAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABCUAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQmAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJwAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQoAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKQAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQqAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKwAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCwAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlTaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAPEV2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgY2FuY2VsbGVkLgAAAAAAAAAaT3duZXJzaGlwVHJhbnNmZXJDYW5jZWxsZWQAAAAAAAEAAAAcb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAAF2NhbmNlbGxlZF9wZW5kaW5nX293bmVyAAAAABMAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4wIzg2YzUwYTFlYTRmODdiNDBhZGQzMDY0ZmY5ZGY5NWM3NTUzNTY1YzUAAFMOY29udHJhY3RtZXRhdjAAAAAAAAAABmNsaXZlcgAAAAAALzI1LjAuMCNhNjQ5MjVlOTM5MWMzZDNiM2VmOGU1M2RjNjBjMjNkYjllNmE4MmU0AA==";
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 = "f55501593e422dcad948d5bb9280623f3ecd937eb4e71071e64f9679946bebf0";
16
+ export declare const WASM_HASH = "a61e80a56e38489a25f922ab29ad783434135f64ca9b9c7ab2ca7a7432f2ef7d";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
20
20
  */
21
21
  export declare function getWasmBuffer(): Buffer;
22
22
  export declare const EndpointError: {
23
+ /**
24
+ * Library is already registered with the endpoint
25
+ */
23
26
  1: {
24
27
  message: string;
25
28
  };
29
+ /**
30
+ * Compose message already exists for this GUID and index
31
+ */
26
32
  2: {
27
33
  message: string;
28
34
  };
35
+ /**
36
+ * Compose message not found for the given GUID and index
37
+ */
29
38
  3: {
30
39
  message: string;
31
40
  };
41
+ /**
42
+ * Default receive library is not set for the source endpoint
43
+ */
32
44
  4: {
33
45
  message: string;
34
46
  };
47
+ /**
48
+ * Default send library is not set for the destination endpoint
49
+ */
35
50
  5: {
36
51
  message: string;
37
52
  };
53
+ /**
54
+ * Supplied native token fee is less than required
55
+ */
38
56
  6: {
39
57
  message: string;
40
58
  };
59
+ /**
60
+ * Supplied ZRO token fee is less than required
61
+ */
41
62
  7: {
42
63
  message: string;
43
64
  };
65
+ /**
66
+ * Timeout expiry is invalid (already expired)
67
+ */
44
68
  8: {
45
69
  message: string;
46
70
  };
71
+ /**
72
+ * Fee amount is invalid (negative)
73
+ */
47
74
  9: {
48
75
  message: string;
49
76
  };
77
+ /**
78
+ * Compose index exceeds maximum allowed value
79
+ */
50
80
  10: {
51
81
  message: string;
52
82
  };
83
+ /**
84
+ * Nonce is invalid for the requested operation
85
+ */
53
86
  11: {
54
87
  message: string;
55
88
  };
89
+ /**
90
+ * Payload hash is invalid (empty hash not allowed)
91
+ */
56
92
  12: {
57
93
  message: string;
58
94
  };
95
+ /**
96
+ * Receive library is not valid for the receiver and source endpoint
97
+ */
59
98
  13: {
60
99
  message: string;
61
100
  };
101
+ /**
102
+ * Operation requires a non-default (custom) library
103
+ */
62
104
  14: {
63
105
  message: string;
64
106
  };
107
+ /**
108
+ * Library must support receiving messages
109
+ */
65
110
  15: {
66
111
  message: string;
67
112
  };
113
+ /**
114
+ * Library must be registered with the endpoint
115
+ */
68
116
  16: {
69
117
  message: string;
70
118
  };
119
+ /**
120
+ * Library must support sending messages
121
+ */
71
122
  17: {
72
123
  message: string;
73
124
  };
125
+ /**
126
+ * Messaging path cannot be initialized for the given origin
127
+ */
74
128
  18: {
75
129
  message: string;
76
130
  };
131
+ /**
132
+ * Message cannot be verified for the given origin
133
+ */
77
134
  19: {
78
135
  message: string;
79
136
  };
137
+ /**
138
+ * Payload hash does not match the stored hash
139
+ */
80
140
  20: {
81
141
  message: string;
82
142
  };
143
+ /**
144
+ * New value is the same as existing value
145
+ */
83
146
  21: {
84
147
  message: string;
85
148
  };
149
+ /**
150
+ * Caller is not authorized (not OApp or delegate)
151
+ */
86
152
  22: {
87
153
  message: string;
88
154
  };
155
+ /**
156
+ * Endpoint ID is not supported by the library
157
+ */
89
158
  23: {
90
159
  message: string;
91
160
  };
161
+ /**
162
+ * ZRO fee must be greater than zero when pay_in_zro is true
163
+ */
92
164
  24: {
93
165
  message: string;
94
166
  };
167
+ /**
168
+ * ZRO token address is not set
169
+ */
95
170
  25: {
96
171
  message: string;
97
172
  };
@@ -206,11 +281,11 @@ export interface MessageLibVersion {
206
281
  */
207
282
  export interface Timeout {
208
283
  /**
209
- * Unix timestamp when the timeout expires.
284
+ * Unix timestamp in seconds when the timeout expires.
210
285
  */
211
286
  expiry: u64;
212
287
  /**
213
- * The new library address to transition to.
288
+ * The old library address that remains valid during the grace period.
214
289
  */
215
290
  lib: string;
216
291
  }
@@ -308,6 +383,12 @@ export interface FeesAndPacket {
308
383
  zro_fee_recipients: Array<FeeRecipient>;
309
384
  }
310
385
  export type EndpointStorage = {
386
+ tag: "Eid";
387
+ values: void;
388
+ } | {
389
+ tag: "NativeToken";
390
+ values: void;
391
+ } | {
311
392
  tag: "Zro";
312
393
  values: void;
313
394
  } | {
@@ -323,7 +404,7 @@ export type EndpointStorage = {
323
404
  tag: "OutboundNonce";
324
405
  values: readonly [string, u32, Buffer];
325
406
  } | {
326
- tag: "RegisteredLibraryCount";
407
+ tag: "RegisteredLibrariesCount";
327
408
  values: void;
328
409
  } | {
329
410
  tag: "LibraryToIndex";
@@ -408,6 +489,9 @@ export declare const OwnableError: {
408
489
  1035: {
409
490
  message: string;
410
491
  };
492
+ 1036: {
493
+ message: string;
494
+ };
411
495
  };
412
496
  /**
413
497
  * BytesExtError: 1040-1049
@@ -432,9 +516,9 @@ export declare const UpgradeableError: {
432
516
  };
433
517
  };
434
518
  /**
435
- * MultisigError: 1060-1069
519
+ * MultiSigError: 1060-1069
436
520
  */
437
- export declare const MultisigError: {
521
+ export declare const MultiSigError: {
438
522
  1060: {
439
523
  message: string;
440
524
  };
@@ -459,8 +543,11 @@ export declare const MultisigError: {
459
543
  1067: {
460
544
  message: string;
461
545
  };
546
+ 1068: {
547
+ message: string;
548
+ };
462
549
  };
463
- export type MultisigStorage = {
550
+ export type MultiSigStorage = {
464
551
  tag: "Signers";
465
552
  values: void;
466
553
  } | {
@@ -518,20 +605,7 @@ export interface Client {
518
605
  guid: Buffer;
519
606
  index: u32;
520
607
  message: Buffer;
521
- }, txnOptions?: {
522
- /**
523
- * The fee to pay for the transaction. Default: BASE_FEE
524
- */
525
- fee?: number;
526
- /**
527
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
528
- */
529
- timeoutInSeconds?: number;
530
- /**
531
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
532
- */
533
- simulate?: boolean;
534
- }) => Promise<AssembledTransaction<null>>;
608
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
535
609
  /**
536
610
  * Construct and simulate a clear_compose 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.
537
611
  * Clears a composed message by the composer.
@@ -544,20 +618,7 @@ export interface Client {
544
618
  guid: Buffer;
545
619
  index: u32;
546
620
  message: Buffer;
547
- }, txnOptions?: {
548
- /**
549
- * The fee to pay for the transaction. Default: BASE_FEE
550
- */
551
- fee?: number;
552
- /**
553
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
554
- */
555
- timeoutInSeconds?: number;
556
- /**
557
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
558
- */
559
- simulate?: boolean;
560
- }) => Promise<AssembledTransaction<null>>;
621
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
561
622
  /**
562
623
  * Construct and simulate a lz_compose_alert 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.
563
624
  * Emits an alert event when `lz_compose` execution fails.
@@ -575,20 +636,7 @@ export interface Client {
575
636
  message: Buffer;
576
637
  extra_data: Buffer;
577
638
  reason: Buffer;
578
- }, txnOptions?: {
579
- /**
580
- * The fee to pay for the transaction. Default: BASE_FEE
581
- */
582
- fee?: number;
583
- /**
584
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
585
- */
586
- timeoutInSeconds?: number;
587
- /**
588
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
589
- */
590
- simulate?: boolean;
591
- }) => Promise<AssembledTransaction<null>>;
639
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
592
640
  /**
593
641
  * Construct and simulate a compose_queue 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.
594
642
  * Returns the stored hash for a composed message, or `None` if not queued.
@@ -598,20 +646,7 @@ export interface Client {
598
646
  to: string;
599
647
  guid: Buffer;
600
648
  index: u32;
601
- }, txnOptions?: {
602
- /**
603
- * The fee to pay for the transaction. Default: BASE_FEE
604
- */
605
- fee?: number;
606
- /**
607
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
608
- */
609
- timeoutInSeconds?: number;
610
- /**
611
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
612
- */
613
- simulate?: boolean;
614
- }) => Promise<AssembledTransaction<Option<Buffer>>>;
649
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Buffer>>>;
615
650
  /**
616
651
  * Construct and simulate a skip 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.
617
652
  * Skips the next expected inbound nonce without verifying.
@@ -624,20 +659,7 @@ export interface Client {
624
659
  src_eid: u32;
625
660
  sender: Buffer;
626
661
  nonce: u64;
627
- }, txnOptions?: {
628
- /**
629
- * The fee to pay for the transaction. Default: BASE_FEE
630
- */
631
- fee?: number;
632
- /**
633
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
634
- */
635
- timeoutInSeconds?: number;
636
- /**
637
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
638
- */
639
- simulate?: boolean;
640
- }) => Promise<AssembledTransaction<null>>;
662
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
641
663
  /**
642
664
  * Construct and simulate a nilify 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.
643
665
  * Marks a packet as verified, but disallows execution until it is re-verified.
@@ -651,20 +673,7 @@ export interface Client {
651
673
  sender: Buffer;
652
674
  nonce: u64;
653
675
  payload_hash: Option<Buffer>;
654
- }, txnOptions?: {
655
- /**
656
- * The fee to pay for the transaction. Default: BASE_FEE
657
- */
658
- fee?: number;
659
- /**
660
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
661
- */
662
- timeoutInSeconds?: number;
663
- /**
664
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
665
- */
666
- simulate?: boolean;
667
- }) => Promise<AssembledTransaction<null>>;
676
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
668
677
  /**
669
678
  * Construct and simulate a burn 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.
670
679
  * Marks a nonce as unexecutable and un-verifiable. The nonce can never be re-verified or executed.
@@ -676,20 +685,7 @@ export interface Client {
676
685
  sender: Buffer;
677
686
  nonce: u64;
678
687
  payload_hash: Buffer;
679
- }, txnOptions?: {
680
- /**
681
- * The fee to pay for the transaction. Default: BASE_FEE
682
- */
683
- fee?: number;
684
- /**
685
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
686
- */
687
- timeoutInSeconds?: number;
688
- /**
689
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
690
- */
691
- simulate?: boolean;
692
- }) => Promise<AssembledTransaction<null>>;
688
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
693
689
  /**
694
690
  * Construct and simulate a next_guid 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.
695
691
  * Generates the next GUID for an outbound packet.
@@ -698,20 +694,7 @@ export interface Client {
698
694
  sender: string;
699
695
  dst_eid: u32;
700
696
  receiver: Buffer;
701
- }, txnOptions?: {
702
- /**
703
- * The fee to pay for the transaction. Default: BASE_FEE
704
- */
705
- fee?: number;
706
- /**
707
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
708
- */
709
- timeoutInSeconds?: number;
710
- /**
711
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
712
- */
713
- simulate?: boolean;
714
- }) => Promise<AssembledTransaction<Buffer>>;
697
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>;
715
698
  /**
716
699
  * Construct and simulate a outbound_nonce 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.
717
700
  * Returns the current outbound nonce for a specific destination.
@@ -720,20 +703,7 @@ export interface Client {
720
703
  sender: string;
721
704
  dst_eid: u32;
722
705
  receiver: Buffer;
723
- }, txnOptions?: {
724
- /**
725
- * The fee to pay for the transaction. Default: BASE_FEE
726
- */
727
- fee?: number;
728
- /**
729
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
730
- */
731
- timeoutInSeconds?: number;
732
- /**
733
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
734
- */
735
- simulate?: boolean;
736
- }) => Promise<AssembledTransaction<u64>>;
706
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<u64>>;
737
707
  /**
738
708
  * Construct and simulate a inbound_nonce 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.
739
709
  * Returns the max index of the longest gapless sequence of verified message nonces.
@@ -750,20 +720,7 @@ export interface Client {
750
720
  receiver: string;
751
721
  src_eid: u32;
752
722
  sender: Buffer;
753
- }, txnOptions?: {
754
- /**
755
- * The fee to pay for the transaction. Default: BASE_FEE
756
- */
757
- fee?: number;
758
- /**
759
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
760
- */
761
- timeoutInSeconds?: number;
762
- /**
763
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
764
- */
765
- simulate?: boolean;
766
- }) => Promise<AssembledTransaction<u64>>;
723
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<u64>>;
767
724
  /**
768
725
  * Construct and simulate a lazy_inbound_nonce 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.
769
726
  * Returns the lazy inbound nonce (last checkpoint) for a specific path.
@@ -772,20 +729,7 @@ export interface Client {
772
729
  receiver: string;
773
730
  src_eid: u32;
774
731
  sender: Buffer;
775
- }, txnOptions?: {
776
- /**
777
- * The fee to pay for the transaction. Default: BASE_FEE
778
- */
779
- fee?: number;
780
- /**
781
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
782
- */
783
- timeoutInSeconds?: number;
784
- /**
785
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
786
- */
787
- simulate?: boolean;
788
- }) => Promise<AssembledTransaction<u64>>;
732
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<u64>>;
789
733
  /**
790
734
  * Construct and simulate a inbound_payload_hash 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.
791
735
  * Returns the payload hash for a specific inbound nonce.
@@ -795,40 +739,14 @@ export interface Client {
795
739
  src_eid: u32;
796
740
  sender: Buffer;
797
741
  nonce: u64;
798
- }, txnOptions?: {
799
- /**
800
- * The fee to pay for the transaction. Default: BASE_FEE
801
- */
802
- fee?: number;
803
- /**
804
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
805
- */
806
- timeoutInSeconds?: number;
807
- /**
808
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
809
- */
810
- simulate?: boolean;
811
- }) => Promise<AssembledTransaction<Option<Buffer>>>;
742
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Buffer>>>;
812
743
  /**
813
744
  * Construct and simulate a register_library 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.
814
745
  * Registers a new message library with the endpoint.
815
746
  */
816
747
  register_library: ({ new_lib }: {
817
748
  new_lib: string;
818
- }, txnOptions?: {
819
- /**
820
- * The fee to pay for the transaction. Default: BASE_FEE
821
- */
822
- fee?: number;
823
- /**
824
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
825
- */
826
- timeoutInSeconds?: number;
827
- /**
828
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
829
- */
830
- simulate?: boolean;
831
- }) => Promise<AssembledTransaction<null>>;
749
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
832
750
  /**
833
751
  * Construct and simulate a set_default_send_library 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.
834
752
  * Sets the default send library for a destination endpoint.
@@ -836,20 +754,7 @@ export interface Client {
836
754
  set_default_send_library: ({ dst_eid, new_lib }: {
837
755
  dst_eid: u32;
838
756
  new_lib: string;
839
- }, txnOptions?: {
840
- /**
841
- * The fee to pay for the transaction. Default: BASE_FEE
842
- */
843
- fee?: number;
844
- /**
845
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
846
- */
847
- timeoutInSeconds?: number;
848
- /**
849
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
850
- */
851
- simulate?: boolean;
852
- }) => Promise<AssembledTransaction<null>>;
757
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
853
758
  /**
854
759
  * Construct and simulate a set_default_receive_library 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.
855
760
  * Sets the default receive library for a source endpoint.
@@ -861,20 +766,7 @@ export interface Client {
861
766
  src_eid: u32;
862
767
  new_lib: string;
863
768
  grace_period: u64;
864
- }, txnOptions?: {
865
- /**
866
- * The fee to pay for the transaction. Default: BASE_FEE
867
- */
868
- fee?: number;
869
- /**
870
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
871
- */
872
- timeoutInSeconds?: number;
873
- /**
874
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
875
- */
876
- simulate?: boolean;
877
- }) => Promise<AssembledTransaction<null>>;
769
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
878
770
  /**
879
771
  * Construct and simulate a set_default_receive_lib_timeout transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
880
772
  * Sets or removes the default receive library timeout for a source endpoint.
@@ -885,20 +777,7 @@ export interface Client {
885
777
  set_default_receive_lib_timeout: ({ src_eid, timeout }: {
886
778
  src_eid: u32;
887
779
  timeout: Option<Timeout>;
888
- }, txnOptions?: {
889
- /**
890
- * The fee to pay for the transaction. Default: BASE_FEE
891
- */
892
- fee?: number;
893
- /**
894
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
895
- */
896
- timeoutInSeconds?: number;
897
- /**
898
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
899
- */
900
- simulate?: boolean;
901
- }) => Promise<AssembledTransaction<null>>;
780
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
902
781
  /**
903
782
  * Construct and simulate a set_send_library 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.
904
783
  * Sets or removes a custom send library for an OApp to a specific destination endpoint.
@@ -908,20 +787,7 @@ export interface Client {
908
787
  sender: string;
909
788
  dst_eid: u32;
910
789
  new_lib: Option<string>;
911
- }, txnOptions?: {
912
- /**
913
- * The fee to pay for the transaction. Default: BASE_FEE
914
- */
915
- fee?: number;
916
- /**
917
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
918
- */
919
- timeoutInSeconds?: number;
920
- /**
921
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
922
- */
923
- simulate?: boolean;
924
- }) => Promise<AssembledTransaction<null>>;
790
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
925
791
  /**
926
792
  * Construct and simulate a set_receive_library 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.
927
793
  * Sets or removes a custom receive library for an OApp to a specific source endpoint.
@@ -935,20 +801,7 @@ export interface Client {
935
801
  src_eid: u32;
936
802
  new_lib: Option<string>;
937
803
  grace_period: u64;
938
- }, txnOptions?: {
939
- /**
940
- * The fee to pay for the transaction. Default: BASE_FEE
941
- */
942
- fee?: number;
943
- /**
944
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
945
- */
946
- timeoutInSeconds?: number;
947
- /**
948
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
949
- */
950
- simulate?: boolean;
951
- }) => Promise<AssembledTransaction<null>>;
804
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
952
805
  /**
953
806
  * Construct and simulate a set_receive_library_timeout 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.
954
807
  * Sets or removes the custom receive library timeout for an OApp.
@@ -961,20 +814,7 @@ export interface Client {
961
814
  receiver: string;
962
815
  src_eid: u32;
963
816
  timeout: Option<Timeout>;
964
- }, txnOptions?: {
965
- /**
966
- * The fee to pay for the transaction. Default: BASE_FEE
967
- */
968
- fee?: number;
969
- /**
970
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
971
- */
972
- timeoutInSeconds?: number;
973
- /**
974
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
975
- */
976
- simulate?: boolean;
977
- }) => Promise<AssembledTransaction<null>>;
817
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
978
818
  /**
979
819
  * Construct and simulate a set_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
980
820
  * Sets the configuration for a message library.
@@ -986,78 +826,26 @@ export interface Client {
986
826
  oapp: string;
987
827
  lib: string;
988
828
  params: Array<SetConfigParam>;
989
- }, txnOptions?: {
990
- /**
991
- * The fee to pay for the transaction. Default: BASE_FEE
992
- */
993
- fee?: number;
994
- /**
995
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
996
- */
997
- timeoutInSeconds?: number;
998
- /**
999
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1000
- */
1001
- simulate?: boolean;
1002
- }) => Promise<AssembledTransaction<null>>;
829
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1003
830
  /**
1004
831
  * Construct and simulate a is_registered_library transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1005
832
  * Checks if a message library is registered.
1006
833
  */
1007
834
  is_registered_library: ({ lib }: {
1008
835
  lib: string;
1009
- }, txnOptions?: {
1010
- /**
1011
- * The fee to pay for the transaction. Default: BASE_FEE
1012
- */
1013
- fee?: number;
1014
- /**
1015
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1016
- */
1017
- timeoutInSeconds?: number;
1018
- /**
1019
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1020
- */
1021
- simulate?: boolean;
1022
- }) => Promise<AssembledTransaction<boolean>>;
836
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1023
837
  /**
1024
838
  * Construct and simulate a get_library_index 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.
1025
839
  * Returns the index of a message library.
1026
840
  */
1027
841
  get_library_index: ({ lib }: {
1028
842
  lib: string;
1029
- }, txnOptions?: {
1030
- /**
1031
- * The fee to pay for the transaction. Default: BASE_FEE
1032
- */
1033
- fee?: number;
1034
- /**
1035
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1036
- */
1037
- timeoutInSeconds?: number;
1038
- /**
1039
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1040
- */
1041
- simulate?: boolean;
1042
- }) => Promise<AssembledTransaction<Option<u32>>>;
843
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<u32>>>;
1043
844
  /**
1044
845
  * Construct and simulate a registered_libraries_count 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.
1045
846
  * Returns the number of registered message libraries.
1046
847
  */
1047
- registered_libraries_count: (txnOptions?: {
1048
- /**
1049
- * The fee to pay for the transaction. Default: BASE_FEE
1050
- */
1051
- fee?: number;
1052
- /**
1053
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1054
- */
1055
- timeoutInSeconds?: number;
1056
- /**
1057
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1058
- */
1059
- simulate?: boolean;
1060
- }) => Promise<AssembledTransaction<u32>>;
848
+ registered_libraries_count: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>;
1061
849
  /**
1062
850
  * Construct and simulate a get_registered_libraries transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1063
851
  * Returns a list of registered message libraries within the specified range.
@@ -1065,20 +853,7 @@ export interface Client {
1065
853
  get_registered_libraries: ({ start, max_count }: {
1066
854
  start: u32;
1067
855
  max_count: u32;
1068
- }, txnOptions?: {
1069
- /**
1070
- * The fee to pay for the transaction. Default: BASE_FEE
1071
- */
1072
- fee?: number;
1073
- /**
1074
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1075
- */
1076
- timeoutInSeconds?: number;
1077
- /**
1078
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1079
- */
1080
- simulate?: boolean;
1081
- }) => Promise<AssembledTransaction<Array<string>>>;
856
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
1082
857
  /**
1083
858
  * Construct and simulate a is_supported_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.
1084
859
  * Checks if an endpoint ID is supported.
@@ -1086,80 +861,28 @@ export interface Client {
1086
861
  */
1087
862
  is_supported_eid: ({ eid }: {
1088
863
  eid: u32;
1089
- }, txnOptions?: {
1090
- /**
1091
- * The fee to pay for the transaction. Default: BASE_FEE
1092
- */
1093
- fee?: number;
1094
- /**
1095
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1096
- */
1097
- timeoutInSeconds?: number;
1098
- /**
1099
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1100
- */
1101
- simulate?: boolean;
1102
- }) => Promise<AssembledTransaction<boolean>>;
864
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1103
865
  /**
1104
866
  * Construct and simulate a default_send_library transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1105
867
  * Returns the default send library for a destination endpoint.
1106
868
  */
1107
869
  default_send_library: ({ dst_eid }: {
1108
870
  dst_eid: u32;
1109
- }, txnOptions?: {
1110
- /**
1111
- * The fee to pay for the transaction. Default: BASE_FEE
1112
- */
1113
- fee?: number;
1114
- /**
1115
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1116
- */
1117
- timeoutInSeconds?: number;
1118
- /**
1119
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1120
- */
1121
- simulate?: boolean;
1122
- }) => Promise<AssembledTransaction<Option<string>>>;
871
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1123
872
  /**
1124
873
  * Construct and simulate a default_receive_library 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.
1125
874
  * Returns the default receive library for a source endpoint.
1126
875
  */
1127
876
  default_receive_library: ({ src_eid }: {
1128
877
  src_eid: u32;
1129
- }, txnOptions?: {
1130
- /**
1131
- * The fee to pay for the transaction. Default: BASE_FEE
1132
- */
1133
- fee?: number;
1134
- /**
1135
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1136
- */
1137
- timeoutInSeconds?: number;
1138
- /**
1139
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1140
- */
1141
- simulate?: boolean;
1142
- }) => Promise<AssembledTransaction<Option<string>>>;
878
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1143
879
  /**
1144
880
  * Construct and simulate a default_receive_library_timeout 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.
1145
881
  * Returns the default receive library timeout for a source endpoint.
1146
882
  */
1147
883
  default_receive_library_timeout: ({ src_eid }: {
1148
884
  src_eid: u32;
1149
- }, txnOptions?: {
1150
- /**
1151
- * The fee to pay for the transaction. Default: BASE_FEE
1152
- */
1153
- fee?: number;
1154
- /**
1155
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1156
- */
1157
- timeoutInSeconds?: number;
1158
- /**
1159
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1160
- */
1161
- simulate?: boolean;
1162
- }) => Promise<AssembledTransaction<Option<Timeout>>>;
885
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Timeout>>>;
1163
886
  /**
1164
887
  * Construct and simulate a get_send_library 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.
1165
888
  * Returns the effective send library for an OApp and destination endpoint.
@@ -1167,20 +890,7 @@ export interface Client {
1167
890
  get_send_library: ({ sender, dst_eid }: {
1168
891
  sender: string;
1169
892
  dst_eid: u32;
1170
- }, txnOptions?: {
1171
- /**
1172
- * The fee to pay for the transaction. Default: BASE_FEE
1173
- */
1174
- fee?: number;
1175
- /**
1176
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1177
- */
1178
- timeoutInSeconds?: number;
1179
- /**
1180
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1181
- */
1182
- simulate?: boolean;
1183
- }) => Promise<AssembledTransaction<ResolvedLibrary>>;
893
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<ResolvedLibrary>>;
1184
894
  /**
1185
895
  * Construct and simulate a get_receive_library 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.
1186
896
  * Returns the effective receive library for an OApp and source endpoint.
@@ -1188,20 +898,7 @@ export interface Client {
1188
898
  get_receive_library: ({ receiver, src_eid }: {
1189
899
  receiver: string;
1190
900
  src_eid: u32;
1191
- }, txnOptions?: {
1192
- /**
1193
- * The fee to pay for the transaction. Default: BASE_FEE
1194
- */
1195
- fee?: number;
1196
- /**
1197
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1198
- */
1199
- timeoutInSeconds?: number;
1200
- /**
1201
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1202
- */
1203
- simulate?: boolean;
1204
- }) => Promise<AssembledTransaction<ResolvedLibrary>>;
901
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<ResolvedLibrary>>;
1205
902
  /**
1206
903
  * Construct and simulate a receive_library_timeout 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.
1207
904
  * Returns the receive library timeout for an OApp and source endpoint.
@@ -1209,20 +906,7 @@ export interface Client {
1209
906
  receive_library_timeout: ({ receiver, src_eid }: {
1210
907
  receiver: string;
1211
908
  src_eid: u32;
1212
- }, txnOptions?: {
1213
- /**
1214
- * The fee to pay for the transaction. Default: BASE_FEE
1215
- */
1216
- fee?: number;
1217
- /**
1218
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1219
- */
1220
- timeoutInSeconds?: number;
1221
- /**
1222
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1223
- */
1224
- simulate?: boolean;
1225
- }) => Promise<AssembledTransaction<Option<Timeout>>>;
909
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Timeout>>>;
1226
910
  /**
1227
911
  * Construct and simulate a is_valid_receive_library 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.
1228
912
  * Checks if a receive library is valid for an OApp and source endpoint.
@@ -1231,20 +915,7 @@ export interface Client {
1231
915
  receiver: string;
1232
916
  src_eid: u32;
1233
917
  actual_lib: string;
1234
- }, txnOptions?: {
1235
- /**
1236
- * The fee to pay for the transaction. Default: BASE_FEE
1237
- */
1238
- fee?: number;
1239
- /**
1240
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1241
- */
1242
- timeoutInSeconds?: number;
1243
- /**
1244
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1245
- */
1246
- simulate?: boolean;
1247
- }) => Promise<AssembledTransaction<boolean>>;
918
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1248
919
  /**
1249
920
  * Construct and simulate a get_config transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1250
921
  * Returns the configuration for a message library for a specific endpoint ID and configuration type.
@@ -1254,20 +925,7 @@ export interface Client {
1254
925
  lib: string;
1255
926
  eid: u32;
1256
927
  config_type: u32;
1257
- }, txnOptions?: {
1258
- /**
1259
- * The fee to pay for the transaction. Default: BASE_FEE
1260
- */
1261
- fee?: number;
1262
- /**
1263
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1264
- */
1265
- timeoutInSeconds?: number;
1266
- /**
1267
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1268
- */
1269
- simulate?: boolean;
1270
- }) => Promise<AssembledTransaction<Buffer>>;
928
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>;
1271
929
  /**
1272
930
  * Construct and simulate a quote 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.
1273
931
  * Quotes the messaging fee for sending a cross-chain message.
@@ -1275,20 +933,7 @@ export interface Client {
1275
933
  quote: ({ sender, params }: {
1276
934
  sender: string;
1277
935
  params: MessagingParams;
1278
- }, txnOptions?: {
1279
- /**
1280
- * The fee to pay for the transaction. Default: BASE_FEE
1281
- */
1282
- fee?: number;
1283
- /**
1284
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1285
- */
1286
- timeoutInSeconds?: number;
1287
- /**
1288
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1289
- */
1290
- simulate?: boolean;
1291
- }) => Promise<AssembledTransaction<MessagingFee>>;
936
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<MessagingFee>>;
1292
937
  /**
1293
938
  * Construct and simulate a send 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.
1294
939
  * Sends a cross-chain message to a destination endpoint.
@@ -1299,20 +944,7 @@ export interface Client {
1299
944
  sender: string;
1300
945
  params: MessagingParams;
1301
946
  refund_address: string;
1302
- }, txnOptions?: {
1303
- /**
1304
- * The fee to pay for the transaction. Default: BASE_FEE
1305
- */
1306
- fee?: number;
1307
- /**
1308
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1309
- */
1310
- timeoutInSeconds?: number;
1311
- /**
1312
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1313
- */
1314
- simulate?: boolean;
1315
- }) => Promise<AssembledTransaction<MessagingReceipt>>;
947
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<MessagingReceipt>>;
1316
948
  /**
1317
949
  * Construct and simulate a verify 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.
1318
950
  * Verifies an inbound cross-chain message from a configured receive library.
@@ -1322,20 +954,7 @@ export interface Client {
1322
954
  origin: Origin;
1323
955
  receiver: string;
1324
956
  payload_hash: Buffer;
1325
- }, txnOptions?: {
1326
- /**
1327
- * The fee to pay for the transaction. Default: BASE_FEE
1328
- */
1329
- fee?: number;
1330
- /**
1331
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1332
- */
1333
- timeoutInSeconds?: number;
1334
- /**
1335
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1336
- */
1337
- simulate?: boolean;
1338
- }) => Promise<AssembledTransaction<null>>;
957
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1339
958
  /**
1340
959
  * Construct and simulate a clear 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.
1341
960
  * Clears a verified message from the endpoint.
@@ -1348,20 +967,7 @@ export interface Client {
1348
967
  receiver: string;
1349
968
  guid: Buffer;
1350
969
  message: Buffer;
1351
- }, txnOptions?: {
1352
- /**
1353
- * The fee to pay for the transaction. Default: BASE_FEE
1354
- */
1355
- fee?: number;
1356
- /**
1357
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1358
- */
1359
- timeoutInSeconds?: number;
1360
- /**
1361
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1362
- */
1363
- simulate?: boolean;
1364
- }) => Promise<AssembledTransaction<null>>;
970
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1365
971
  /**
1366
972
  * Construct and simulate a lz_receive_alert 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.
1367
973
  * Emits an alert event when `lz_receive` execution fails.
@@ -1378,40 +984,14 @@ export interface Client {
1378
984
  message: Buffer;
1379
985
  extra_data: Buffer;
1380
986
  reason: Buffer;
1381
- }, txnOptions?: {
1382
- /**
1383
- * The fee to pay for the transaction. Default: BASE_FEE
1384
- */
1385
- fee?: number;
1386
- /**
1387
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1388
- */
1389
- timeoutInSeconds?: number;
1390
- /**
1391
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1392
- */
1393
- simulate?: boolean;
1394
- }) => Promise<AssembledTransaction<null>>;
987
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1395
988
  /**
1396
989
  * Construct and simulate a set_zro 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.
1397
990
  * Sets the ZRO token address for fee payments.
1398
991
  */
1399
992
  set_zro: ({ zro }: {
1400
993
  zro: string;
1401
- }, txnOptions?: {
1402
- /**
1403
- * The fee to pay for the transaction. Default: BASE_FEE
1404
- */
1405
- fee?: number;
1406
- /**
1407
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1408
- */
1409
- timeoutInSeconds?: number;
1410
- /**
1411
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1412
- */
1413
- simulate?: boolean;
1414
- }) => Promise<AssembledTransaction<null>>;
994
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1415
995
  /**
1416
996
  * Construct and simulate a set_delegate 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.
1417
997
  * Sets or removes a delegate address that can act on behalf of the OApp.
@@ -1419,38 +999,12 @@ export interface Client {
1419
999
  set_delegate: ({ oapp, new_delegate }: {
1420
1000
  oapp: string;
1421
1001
  new_delegate: Option<string>;
1422
- }, txnOptions?: {
1423
- /**
1424
- * The fee to pay for the transaction. Default: BASE_FEE
1425
- */
1426
- fee?: number;
1427
- /**
1428
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1429
- */
1430
- timeoutInSeconds?: number;
1431
- /**
1432
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1433
- */
1434
- simulate?: boolean;
1435
- }) => Promise<AssembledTransaction<null>>;
1002
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1436
1003
  /**
1437
1004
  * Construct and simulate a 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.
1438
1005
  * Returns the endpoint ID.
1439
1006
  */
1440
- eid: (txnOptions?: {
1441
- /**
1442
- * The fee to pay for the transaction. Default: BASE_FEE
1443
- */
1444
- fee?: number;
1445
- /**
1446
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1447
- */
1448
- timeoutInSeconds?: number;
1449
- /**
1450
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1451
- */
1452
- simulate?: boolean;
1453
- }) => Promise<AssembledTransaction<u32>>;
1007
+ eid: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>;
1454
1008
  /**
1455
1009
  * Construct and simulate a initializable 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.
1456
1010
  * Checks if a messaging path can be/has been initialized for the given origin and receiver.
@@ -1458,20 +1012,7 @@ export interface Client {
1458
1012
  initializable: ({ origin, receiver }: {
1459
1013
  origin: Origin;
1460
1014
  receiver: string;
1461
- }, txnOptions?: {
1462
- /**
1463
- * The fee to pay for the transaction. Default: BASE_FEE
1464
- */
1465
- fee?: number;
1466
- /**
1467
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1468
- */
1469
- timeoutInSeconds?: number;
1470
- /**
1471
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1472
- */
1473
- simulate?: boolean;
1474
- }) => Promise<AssembledTransaction<boolean>>;
1015
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1475
1016
  /**
1476
1017
  * Construct and simulate a verifiable 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.
1477
1018
  * Checks if a message can be verified for the given origin and receiver.
@@ -1479,76 +1020,24 @@ export interface Client {
1479
1020
  verifiable: ({ origin, receiver }: {
1480
1021
  origin: Origin;
1481
1022
  receiver: string;
1482
- }, txnOptions?: {
1483
- /**
1484
- * The fee to pay for the transaction. Default: BASE_FEE
1485
- */
1486
- fee?: number;
1487
- /**
1488
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1489
- */
1490
- timeoutInSeconds?: number;
1491
- /**
1492
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1493
- */
1494
- simulate?: boolean;
1495
- }) => Promise<AssembledTransaction<boolean>>;
1023
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1496
1024
  /**
1497
1025
  * Construct and simulate a native_token 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.
1498
1026
  * Returns the native token address used for fee payments.
1499
1027
  */
1500
- native_token: (txnOptions?: {
1501
- /**
1502
- * The fee to pay for the transaction. Default: BASE_FEE
1503
- */
1504
- fee?: number;
1505
- /**
1506
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1507
- */
1508
- timeoutInSeconds?: number;
1509
- /**
1510
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1511
- */
1512
- simulate?: boolean;
1513
- }) => Promise<AssembledTransaction<string>>;
1028
+ native_token: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1514
1029
  /**
1515
1030
  * Construct and simulate a zro 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.
1516
1031
  * Returns the ZRO token address if set.
1517
1032
  */
1518
- zro: (txnOptions?: {
1519
- /**
1520
- * The fee to pay for the transaction. Default: BASE_FEE
1521
- */
1522
- fee?: number;
1523
- /**
1524
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1525
- */
1526
- timeoutInSeconds?: number;
1527
- /**
1528
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1529
- */
1530
- simulate?: boolean;
1531
- }) => Promise<AssembledTransaction<Option<string>>>;
1033
+ zro: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1532
1034
  /**
1533
1035
  * Construct and simulate a delegate 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.
1534
1036
  * Returns the delegate address for an OApp if set.
1535
1037
  */
1536
1038
  delegate: ({ oapp }: {
1537
1039
  oapp: string;
1538
- }, txnOptions?: {
1539
- /**
1540
- * The fee to pay for the transaction. Default: BASE_FEE
1541
- */
1542
- fee?: number;
1543
- /**
1544
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1545
- */
1546
- timeoutInSeconds?: number;
1547
- /**
1548
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1549
- */
1550
- simulate?: boolean;
1551
- }) => Promise<AssembledTransaction<Option<string>>>;
1040
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1552
1041
  /**
1553
1042
  * Construct and simulate a recover_token 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.
1554
1043
  * Recovers tokens sent to this contract by mistake.
@@ -1562,73 +1051,21 @@ export interface Client {
1562
1051
  token: string;
1563
1052
  to: string;
1564
1053
  amount: i128;
1565
- }, txnOptions?: {
1566
- /**
1567
- * The fee to pay for the transaction. Default: BASE_FEE
1568
- */
1569
- fee?: number;
1570
- /**
1571
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1572
- */
1573
- timeoutInSeconds?: number;
1574
- /**
1575
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1576
- */
1577
- simulate?: boolean;
1578
- }) => Promise<AssembledTransaction<null>>;
1054
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1579
1055
  /**
1580
1056
  * 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.
1581
1057
  */
1582
- authorizer: (txnOptions?: {
1583
- /**
1584
- * The fee to pay for the transaction. Default: BASE_FEE
1585
- */
1586
- fee?: number;
1587
- /**
1588
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1589
- */
1590
- timeoutInSeconds?: number;
1591
- /**
1592
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1593
- */
1594
- simulate?: boolean;
1595
- }) => Promise<AssembledTransaction<string>>;
1058
+ authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1596
1059
  /**
1597
1060
  * 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.
1598
1061
  * Returns the current owner address, or None if no owner is set.
1599
1062
  */
1600
- owner: (txnOptions?: {
1601
- /**
1602
- * The fee to pay for the transaction. Default: BASE_FEE
1603
- */
1604
- fee?: number;
1605
- /**
1606
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1607
- */
1608
- timeoutInSeconds?: number;
1609
- /**
1610
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1611
- */
1612
- simulate?: boolean;
1613
- }) => Promise<AssembledTransaction<Option<string>>>;
1063
+ owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1614
1064
  /**
1615
1065
  * 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.
1616
1066
  * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
1617
1067
  */
1618
- pending_owner: (txnOptions?: {
1619
- /**
1620
- * The fee to pay for the transaction. Default: BASE_FEE
1621
- */
1622
- fee?: number;
1623
- /**
1624
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1625
- */
1626
- timeoutInSeconds?: number;
1627
- /**
1628
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1629
- */
1630
- simulate?: boolean;
1631
- }) => Promise<AssembledTransaction<Option<string>>>;
1068
+ pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1632
1069
  /**
1633
1070
  * 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.
1634
1071
  * Transfers ownership immediately to a new address.
@@ -1642,20 +1079,7 @@ export interface Client {
1642
1079
  */
1643
1080
  transfer_ownership: ({ new_owner }: {
1644
1081
  new_owner: string;
1645
- }, txnOptions?: {
1646
- /**
1647
- * The fee to pay for the transaction. Default: BASE_FEE
1648
- */
1649
- fee?: number;
1650
- /**
1651
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1652
- */
1653
- timeoutInSeconds?: number;
1654
- /**
1655
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1656
- */
1657
- simulate?: boolean;
1658
- }) => Promise<AssembledTransaction<null>>;
1082
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1659
1083
  /**
1660
1084
  * 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.
1661
1085
  * Proposes an ownership transfer to a new address.
@@ -1677,20 +1101,7 @@ export interface Client {
1677
1101
  propose_ownership_transfer: ({ new_owner, ttl }: {
1678
1102
  new_owner: string;
1679
1103
  ttl: u32;
1680
- }, txnOptions?: {
1681
- /**
1682
- * The fee to pay for the transaction. Default: BASE_FEE
1683
- */
1684
- fee?: number;
1685
- /**
1686
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1687
- */
1688
- timeoutInSeconds?: number;
1689
- /**
1690
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1691
- */
1692
- simulate?: boolean;
1693
- }) => Promise<AssembledTransaction<null>>;
1104
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1694
1105
  /**
1695
1106
  * 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.
1696
1107
  * Accepts a pending 2-step ownership transfer.
@@ -1700,20 +1111,7 @@ export interface Client {
1700
1111
  * # Panics
1701
1112
  * - `NoPendingTransfer` if there is no pending transfer (or it expired)
1702
1113
  */
1703
- accept_ownership: (txnOptions?: {
1704
- /**
1705
- * The fee to pay for the transaction. Default: BASE_FEE
1706
- */
1707
- fee?: number;
1708
- /**
1709
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1710
- */
1711
- timeoutInSeconds?: number;
1712
- /**
1713
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1714
- */
1715
- simulate?: boolean;
1716
- }) => Promise<AssembledTransaction<null>>;
1114
+ accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1717
1115
  /**
1718
1116
  * 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.
1719
1117
  * Permanently renounces ownership.
@@ -1722,20 +1120,7 @@ export interface Client {
1722
1120
  * - `OwnerNotSet` if no owner is currently set
1723
1121
  * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
1724
1122
  */
1725
- renounce_ownership: (txnOptions?: {
1726
- /**
1727
- * The fee to pay for the transaction. Default: BASE_FEE
1728
- */
1729
- fee?: number;
1730
- /**
1731
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1732
- */
1733
- timeoutInSeconds?: number;
1734
- /**
1735
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1736
- */
1737
- simulate?: boolean;
1738
- }) => Promise<AssembledTransaction<null>>;
1123
+ renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1739
1124
  /**
1740
1125
  * 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.
1741
1126
  * Extends the instance TTL.
@@ -1748,20 +1133,7 @@ export interface Client {
1748
1133
  extend_instance_ttl: ({ threshold, extend_to }: {
1749
1134
  threshold: u32;
1750
1135
  extend_to: u32;
1751
- }, txnOptions?: {
1752
- /**
1753
- * The fee to pay for the transaction. Default: BASE_FEE
1754
- */
1755
- fee?: number;
1756
- /**
1757
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1758
- */
1759
- timeoutInSeconds?: number;
1760
- /**
1761
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1762
- */
1763
- simulate?: boolean;
1764
- }) => Promise<AssembledTransaction<null>>;
1136
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1765
1137
  /**
1766
1138
  * 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.
1767
1139
  * Sets TTL configs for instance and persistent storage.
@@ -1780,38 +1152,12 @@ export interface Client {
1780
1152
  set_ttl_configs: ({ instance, persistent }: {
1781
1153
  instance: Option<TtlConfig>;
1782
1154
  persistent: Option<TtlConfig>;
1783
- }, txnOptions?: {
1784
- /**
1785
- * The fee to pay for the transaction. Default: BASE_FEE
1786
- */
1787
- fee?: number;
1788
- /**
1789
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1790
- */
1791
- timeoutInSeconds?: number;
1792
- /**
1793
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1794
- */
1795
- simulate?: boolean;
1796
- }) => Promise<AssembledTransaction<null>>;
1155
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1797
1156
  /**
1798
1157
  * 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.
1799
1158
  * Returns the current TTL configs as (instance_config, persistent_config).
1800
1159
  */
1801
- ttl_configs: (txnOptions?: {
1802
- /**
1803
- * The fee to pay for the transaction. Default: BASE_FEE
1804
- */
1805
- fee?: number;
1806
- /**
1807
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1808
- */
1809
- timeoutInSeconds?: number;
1810
- /**
1811
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1812
- */
1813
- simulate?: boolean;
1814
- }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1160
+ ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1815
1161
  /**
1816
1162
  * 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.
1817
1163
  * Permanently freezes TTL configs, preventing any future modifications.
@@ -1822,45 +1168,21 @@ export interface Client {
1822
1168
  * # Panics
1823
1169
  * - `TtlConfigAlreadyFrozen` if already frozen
1824
1170
  */
1825
- freeze_ttl_configs: (txnOptions?: {
1826
- /**
1827
- * The fee to pay for the transaction. Default: BASE_FEE
1828
- */
1829
- fee?: number;
1830
- /**
1831
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1832
- */
1833
- timeoutInSeconds?: number;
1834
- /**
1835
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1836
- */
1837
- simulate?: boolean;
1838
- }) => Promise<AssembledTransaction<null>>;
1171
+ freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1839
1172
  /**
1840
1173
  * 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.
1841
1174
  * Returns whether TTL configs are frozen.
1842
1175
  */
1843
- is_ttl_configs_frozen: (txnOptions?: {
1844
- /**
1845
- * The fee to pay for the transaction. Default: BASE_FEE
1846
- */
1847
- fee?: number;
1848
- /**
1849
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1850
- */
1851
- timeoutInSeconds?: number;
1852
- /**
1853
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1854
- */
1855
- simulate?: boolean;
1856
- }) => Promise<AssembledTransaction<boolean>>;
1176
+ is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1857
1177
  }
1858
1178
  export declare class Client extends ContractClient {
1859
1179
  readonly options: ContractClientOptions;
1860
1180
  static deploy<T = Client>(
1861
1181
  /** Constructor/Initialization Args for the contract's `__constructor` method */
1862
- { owner }: {
1182
+ { owner, eid, native_token }: {
1863
1183
  owner: string;
1184
+ eid: u32;
1185
+ native_token: string;
1864
1186
  },
1865
1187
  /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
1866
1188
  options: MethodOptions & Omit<ContractClientOptions, "contractId"> & {