@layerzerolabs/protocol-stellar-v2 0.2.15 → 0.2.19

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 (262) hide show
  1. package/.turbo/turbo-build.log +365 -297
  2. package/.turbo/turbo-lint.log +142 -110
  3. package/.turbo/turbo-test.log +1273 -1222
  4. package/Cargo.lock +20 -5
  5. package/Cargo.toml +4 -1
  6. package/contracts/ERROR_SPEC.md +44 -0
  7. package/contracts/common-macros/src/auth.rs +113 -0
  8. package/contracts/common-macros/src/contract_ttl.rs +84 -0
  9. package/contracts/common-macros/src/lib.rs +181 -30
  10. package/contracts/common-macros/src/lz_contract.rs +83 -0
  11. package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
  12. package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
  13. package/contracts/common-macros/src/tests/mod.rs +2 -2
  14. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
  16. package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
  17. package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +3 -3
  18. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
  21. package/contracts/common-macros/src/ttl_configurable.rs +19 -34
  22. package/contracts/common-macros/src/ttl_extendable.rs +36 -0
  23. package/contracts/common-macros/src/upgradeable.rs +5 -5
  24. package/contracts/common-macros/src/utils.rs +9 -0
  25. package/contracts/endpoint-v2/src/constants.rs +4 -4
  26. package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
  27. package/contracts/endpoint-v2/src/errors.rs +4 -3
  28. package/contracts/endpoint-v2/src/events.rs +1 -1
  29. package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
  30. package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
  31. package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
  32. package/contracts/endpoint-v2/src/storage.rs +1 -1
  33. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
  34. package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
  35. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
  36. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
  37. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
  38. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
  39. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
  40. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
  41. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
  42. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
  43. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
  44. package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
  45. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
  46. package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
  47. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
  48. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
  49. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
  50. package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
  51. package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
  52. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
  53. package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
  54. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
  55. package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
  56. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
  57. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
  58. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
  59. package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
  60. package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
  61. package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
  62. package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
  63. package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
  64. package/contracts/message-libs/treasury/src/errors.rs +2 -2
  65. package/contracts/message-libs/treasury/src/events.rs +1 -1
  66. package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
  67. package/contracts/message-libs/treasury/src/storage.rs +1 -1
  68. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
  69. package/contracts/message-libs/treasury/src/treasury.rs +14 -16
  70. package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
  71. package/contracts/message-libs/uln-302/src/send_uln.rs +24 -4
  72. package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
  73. package/contracts/oapps/counter/Cargo.toml +14 -1
  74. package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
  75. package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
  76. package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
  77. package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
  78. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
  79. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
  80. package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
  81. package/contracts/oapps/counter/src/counter.rs +67 -43
  82. package/contracts/oapps/counter/src/tests/mod.rs +0 -13
  83. package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
  84. package/contracts/oapps/oapp/src/errors.rs +5 -1
  85. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
  86. package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
  87. package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
  88. package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
  89. package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
  90. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
  91. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
  92. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
  93. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
  94. package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
  95. package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
  96. package/contracts/oapps/oft/Cargo.toml +10 -7
  97. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
  98. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
  99. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
  100. package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
  101. package/contracts/oapps/oft/integration-tests/setup.rs +29 -110
  102. package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
  103. package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -14
  104. package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
  105. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
  106. package/contracts/oapps/oft/src/lib.rs +11 -13
  107. package/contracts/oapps/oft/src/oft.rs +147 -225
  108. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -13
  109. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +31 -14
  110. package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
  111. package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
  112. package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
  113. package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +129 -30
  114. package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
  115. package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
  116. package/contracts/oapps/oft-core/src/errors.rs +13 -0
  117. package/contracts/oapps/oft-core/src/lib.rs +18 -0
  118. package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
  119. package/contracts/oapps/{oft → oft-core}/src/storage.rs +2 -0
  120. package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
  121. package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +2 -2
  122. package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
  123. package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -5
  124. package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
  125. package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +78 -37
  126. package/contracts/oapps/oft-core/src/types.rs +58 -0
  127. package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
  128. package/contracts/upgrader/src/lib.rs +4 -4
  129. package/contracts/utils/src/auth.rs +44 -0
  130. package/contracts/utils/src/errors.rs +31 -5
  131. package/contracts/utils/src/lib.rs +3 -0
  132. package/contracts/utils/src/multisig.rs +211 -0
  133. package/contracts/utils/src/ownable.rs +137 -13
  134. package/contracts/utils/src/tests/buffer_reader.rs +6 -6
  135. package/contracts/utils/src/tests/buffer_writer.rs +6 -6
  136. package/contracts/utils/src/tests/bytes_ext.rs +2 -4
  137. package/contracts/utils/src/tests/mod.rs +1 -0
  138. package/contracts/utils/src/tests/multisig.rs +731 -0
  139. package/contracts/utils/src/tests/option_ext.rs +2 -5
  140. package/contracts/utils/src/tests/ownable.rs +456 -7
  141. package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
  142. package/contracts/utils/src/tests/upgradeable.rs +4 -2
  143. package/contracts/utils/src/ttl_configurable.rs +23 -8
  144. package/contracts/utils/src/ttl_extendable.rs +27 -0
  145. package/contracts/utils/src/upgradeable.rs +2 -0
  146. package/contracts/workers/dvn/Cargo.toml +1 -1
  147. package/contracts/workers/dvn/src/auth.rs +7 -7
  148. package/contracts/workers/dvn/src/dvn.rs +10 -38
  149. package/contracts/workers/dvn/src/errors.rs +0 -7
  150. package/contracts/workers/dvn/src/events.rs +1 -14
  151. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  152. package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
  153. package/contracts/workers/dvn/src/storage.rs +3 -13
  154. package/contracts/workers/dvn/src/tests/auth.rs +4 -4
  155. package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
  156. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
  157. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
  158. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
  159. package/contracts/workers/dvn/src/tests/setup.rs +5 -5
  160. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  161. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
  162. package/contracts/workers/executor/src/auth.rs +80 -16
  163. package/contracts/workers/executor/src/executor.rs +5 -31
  164. package/contracts/workers/executor/src/storage.rs +2 -9
  165. package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
  166. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
  167. package/contracts/workers/executor-helper/Cargo.toml +1 -1
  168. package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
  169. package/contracts/workers/price-feed/Cargo.toml +1 -1
  170. package/contracts/workers/price-feed/src/price_feed.rs +7 -10
  171. package/contracts/workers/worker/src/errors.rs +4 -0
  172. package/contracts/workers/worker/src/tests/worker.rs +7 -6
  173. package/contracts/workers/worker/src/worker.rs +20 -16
  174. package/package.json +7 -5
  175. package/sdk/.turbo/turbo-build.log +1 -0
  176. package/sdk/.turbo/turbo-test.log +1019 -0
  177. package/sdk/dist/generated/bml.d.ts +95 -8
  178. package/sdk/dist/generated/bml.js +95 -36
  179. package/sdk/dist/generated/counter.d.ts +289 -44
  180. package/sdk/dist/generated/counter.js +119 -49
  181. package/sdk/dist/generated/dvn.d.ts +312 -229
  182. package/sdk/dist/generated/dvn.js +144 -83
  183. package/sdk/dist/generated/dvn_fee_lib.d.ts +258 -63
  184. package/sdk/dist/generated/dvn_fee_lib.js +95 -26
  185. package/sdk/dist/generated/endpoint.d.ts +219 -24
  186. package/sdk/dist/generated/endpoint.js +108 -41
  187. package/sdk/dist/generated/executor.d.ts +239 -87
  188. package/sdk/dist/generated/executor.js +135 -63
  189. package/sdk/dist/generated/executor_fee_lib.d.ts +278 -74
  190. package/sdk/dist/generated/executor_fee_lib.js +135 -59
  191. package/sdk/dist/generated/executor_helper.d.ts +163 -21
  192. package/sdk/dist/generated/executor_helper.js +124 -52
  193. package/sdk/dist/generated/oft.d.ts +1842 -0
  194. package/sdk/dist/generated/oft.js +345 -0
  195. package/sdk/dist/generated/price_feed.d.ts +258 -63
  196. package/sdk/dist/generated/price_feed.js +95 -26
  197. package/sdk/dist/generated/sml.d.ts +235 -34
  198. package/sdk/dist/generated/sml.js +126 -53
  199. package/sdk/dist/generated/treasury.d.ts +1016 -0
  200. package/sdk/dist/generated/treasury.js +248 -0
  201. package/sdk/dist/generated/uln302.d.ts +235 -34
  202. package/sdk/dist/generated/uln302.js +126 -53
  203. package/sdk/dist/generated/upgrader.d.ts +17 -2
  204. package/sdk/dist/generated/upgrader.js +19 -1
  205. package/sdk/dist/index.d.ts +2 -1
  206. package/sdk/dist/index.js +2 -1
  207. package/sdk/package.json +6 -3
  208. package/sdk/src/index.ts +2 -1
  209. package/sdk/test/counter-sml.test.ts +376 -0
  210. package/sdk/test/counter-uln.test.ts +493 -0
  211. package/sdk/test/{oft.test.ts → oft-sml.test.ts} +196 -321
  212. package/sdk/test/suites/constants.ts +22 -2
  213. package/sdk/test/suites/globalSetup.ts +450 -0
  214. package/sdk/test/suites/localnet.ts +23 -6
  215. package/sdk/test/upgrader.test.ts +7 -16
  216. package/sdk/test/utils.ts +558 -85
  217. package/sdk/turbo.json +8 -0
  218. package/sdk/vitest.config.ts +21 -0
  219. package/tools/ts-bindings-gen/Cargo.toml +2 -0
  220. package/tools/ts-bindings-gen/src/main.rs +52 -4
  221. package/contracts/common-macros/src/contract_impl.rs +0 -52
  222. package/contracts/common-macros/src/ownable.rs +0 -41
  223. package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
  224. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
  225. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
  226. package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
  227. package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
  228. package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
  229. package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
  230. package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
  231. package/contracts/oapps/oapp-macros/src/util.rs +0 -107
  232. package/contracts/oapps/oft/src/constants.rs +0 -5
  233. package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
  234. package/contracts/oapps/oft/src/errors.rs +0 -8
  235. package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
  236. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  237. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
  238. package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -903
  239. package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -749
  240. package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -432
  241. package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1078
  242. package/contracts/oapps/oft/src/types.rs +0 -38
  243. package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
  244. package/contracts/oapps/oft-std/src/lib.rs +0 -16
  245. package/contracts/oapps/oft-std/src/oft.rs +0 -156
  246. package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
  247. package/contracts/workers/dvn/src/multisig.rs +0 -157
  248. package/sdk/dist/generated/oft_std.d.ts +0 -1544
  249. package/sdk/dist/generated/oft_std.js +0 -271
  250. package/sdk/test/index.test.ts +0 -375
  251. /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
  252. /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
  253. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
  254. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
  255. /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
  256. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
  257. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
  258. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
  259. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
  260. /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
  261. /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
  262. /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
@@ -1,7 +1,25 @@
1
+ import { Buffer } from "buffer";
1
2
  import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
2
3
  export * from '@stellar/stellar-sdk';
3
4
  export * as contract from '@stellar/stellar-sdk/contract';
4
5
  export * as rpc from '@stellar/stellar-sdk/rpc';
6
+ /**
7
+ * Embedded WASM bytecode (base64-encoded)
8
+ * Size: 34996 bytes (34.18 KB)
9
+ */
10
+ export const WASM_BASE64 = "AGFzbQEAAAABlgEaYAR+fn5+AX5gAn5+AX5gA35+fgF+YAF+AX5gAAF+YAN/f38AYAF/AX5gAn9/AGACfn4Bf2ACf34AYAN/fn4AYAABf2ABfwBgAABgAn5/AGABfgBgAn5/AX5gBH9/f38BfmAFf39/fn4AYAF/AX9gAn9/AX5gBX5/f39/AGABfgF/YAJ+fgBgBH9+fn8AYAV/fn5+fgACnQEaAWwBNwAAAWwBMQABAWwBXwACAWEBMAADAWIBOAADAWwBNgADAWkBNgABAWwBMgABAXgBMQABAXYBMwADAXYBMQABAXYBZwABAWIBagABAW0BOQACAW0BYQAAAXgBMAABAXgBMwAEAXgBOAAEAWwBMAABAWwBOAABAXgBNQADAWkBXwADAWkBMAADAWkBMwABAWkBNQADAWkBNAADA2ppBQYHCAkKAQsMBwYNBAQMDg0MDwYMBQkKEAkRBgcBDwwDDAMEBAEPABISEwcMDQwKBAMECQEUAwMDAxUBDwcBCQEDFgQMBAwDCAkBCQsFBgQHFAQEAQQEAxcBDQoEDQQNBQkFBxgYGRkZBQMBABEGIQR/AUGAgMAAC38AQZiDwAALfwBB0IbAAAt/AEHQhsAACweSBSIGbWVtb3J5AgAHdXBncmFkZQA6B21pZ3JhdGUAPAphdXRob3JpemVyAD4NX19jb25zdHJ1Y3RvcgA/E2VzdGltYXRlX2ZlZV9ieV9laWQAQRZuYXRpdmVfdG9rZW5fcHJpY2VfdXNkAEoJZ2V0X3ByaWNlAEsbZ2V0X3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAEwRc2V0X3ByaWNlX3VwZGF0ZXIAThtzZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAUSBzZXRfYXJiaXRydW1fY29tcHJlc3Npb25fcGVyY2VudABSFXNldF9laWRfdG9fbW9kZWxfdHlwZQBTCXNldF9wcmljZQBVFnNldF9wcmljZV9mb3JfYXJiaXRydW0AWBpzZXRfbmF0aXZlX3Rva2VuX3ByaWNlX3VzZABaEGlzX3ByaWNlX3VwZGF0ZXIAWxxhcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AF0SYXJiaXRydW1fcHJpY2VfZXh0AF8RZWlkX3RvX21vZGVsX3R5cGUAYQ9zZXRfdHRsX2NvbmZpZ3MAZAt0dGxfY29uZmlncwBpEmZyZWV6ZV90dGxfY29uZmlncwBsFWlzX3R0bF9jb25maWdzX2Zyb3plbgBtE2V4dGVuZF9pbnN0YW5jZV90dGwAbgVvd25lcgBvDXBlbmRpbmdfb3duZXIAcBJ0cmFuc2Zlcl9vd25lcnNoaXAAcRpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgBzEGFjY2VwdF9vd25lcnNoaXAAdhJyZW5vdW5jZV9vd25lcnNoaXAAeAFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKkX5pJQAgABCbgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEICAgIAAGguEAwIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgcAAQIDBAUGAAsgAUGAgMCAAEEVEK+AgIAAIAEoAgANByABIAEpAwgQsICAgAAMBgsgAUGVgMCAAEEMEK+AgIAAIAEoAgANBiABIAEpAwggACkDCBCxgICAAAwFCyABQaGAwIAAQREQr4CAgAAgASgCAA0FIAEgASkDCCAANQIEQiCGQgSEELGAgIAADAQLIAFBsoDAgABBEBCvgICAACABKAIADQQgASABKQMIELCAgIAADAMLIAFBwoDAgABBDhCvgICAACABKAIADQMgASABKQMIELCAgIAADAILIAFB0IDAgABBGhCvgICAACABKAIADQIgASABKQMIELCAgIAADAELIAFB6oDAgABBDhCvgICAACABKAIADQEgASABKQMIIAA1AgRCIIZCBIQQsYCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAguNAQIBfwF+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgARCbgICAACIDQgIQnYCAgAANAEIAIQMMAQsgAiADQgIQgYCAgAAQnoCAgAAgAigCAEEBRg0BIAIpAxAhAyAAIAIpAxg3AxggACADNwMQQgEhAwsgACADNwMAIABCADcDCCACQSBqJICAgIAADwsACw8AIAAgARCSgICAAEIBUQt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQmICAgAAhAyABEJmAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALHQAgABCbgICAACABIAIQoICAgABCAhCCgICAABoLQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABEMmAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEBIAJBEGokgICAgAAgAQuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahCigICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQo4CAgAALQQAhAQJAQQAQpICAgAAiAkICEJ2AgIAARQ0AQQEhAQJAAkAgAkICEIGAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQsMACAAQQEQ/YCAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQk4CAgAAaC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUGahcCAAEEGEK+AgIAAIAEoAgANAyABIAEpAwgQsICAgAAMAgsgAUGghcCAAEEIEK+AgIAAIAEoAgANAiABIAEpAwgQsICAgAAMAQsgAUGohcCAAEEKEK+AgIAAIAEoAgANASABIAEpAwgQsICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABCmgICAABCDgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCigICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQo4CAgAALIAAQqICAgAAgACkDCCEBIAApAwBBiggQqYCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQqICAgAAgACkDCCEBIAApAwBBiggQqYCAgAAgARCDgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqEKKAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCjgICAAAsgABCugICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQrICAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEKuAgIAAAkAgACkDAFANAEKDgICAsIEBEKyAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahCigICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQo4CAgAALQgAhAgJAAkBBARCtgICAACIDQgAQnYCAgABFDQAgA0IAEIGAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsACwsAIAAQlICAgAAaC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUGthMCAAEEMEK+AgIAAIAEoAgANAiABIAEpAwgQsICAgAAMAQsgAUGohMCAAEEFEK+AgIAAIAEoAgANASABIAEpAwgQsICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABCtgICAACICQgIQnYCAgABFDQAgAkICEIGAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhD6gICAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQ64CAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEOuAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC2kBAX8jgICAgABBIGsiAiSAgICAACACQRBqIAAQs4CAgAACQCACKAIQQQFHDQAACyACIAIpAxg3AwggAiABrUIghkIEhDcDAEG4gsCAAEECIAJBAhC0gICAACEAIAJBIGokgICAgAAgAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQlYCAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEI2AgIAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABC2gICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILrQEC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AAALIAAgBDcDECAAIAo3AwAgACADNwMYIAAgCTcDCCAFQYACaiSAgICAAAvPAQIBfwF+I4CAgIAAQSBrIgEkgICAgAAgARCigICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQo4CAgAALIAFBBjYCACABIAA2AgRBACEAAkAgARCbgICAACICQgEQnYCAgABFDQACQAJAAkAgAkIBEIGAgIAAIgJC/wGDQgRSDQAgAkKAgICAMFoNACACQiCIIQIgAUEUahC5gICAACABKAIUDQEMAgsACyABIAEoAhggASgCHBCagICAAAsgAqchAAsgAUEgaiSAgICAACAAC6ECAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkEQahCigICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQo4CAgAALIAJBAjYCACACIAE2AgQCQAJAAkAgAhCbgICAACIDQgEQnYCAgABFDQAgAkEQaiADQgEQgYCAgAAQzYCAgAAgAigCEEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgACACKQMgNwMQIABBKGogAkEQakEoaikDADcDACAAQSBqIAJBEGpBIGopAwA3AwAgAEEYaiACQRBqQRhqKQMANwMAIABCADcDCCAAQgE3AwAgAkEQahC5gICAACACKAIQQQFHDQAgAiACKAIUIAIoAhgQmoCAgAALIAJBwABqJICAgIAAC/oDBAF/BX4BfwJ+I4CAgIAAQaABayIBJICAgIAAIAFBgAFqEKKAgIAAAkAgASgCgAFBAUcNACABKAKEASABKAKIARCjgICAAAsgAUEANgJwIAFBgAFqIAFB8ABqEJyAgIAAIAEpA5gBIQIgASkDkAEhAyABKQOAASEEQgohBUIBIQZBFCEHQgAhCEIAIQkCQAJAA0ACQCAHQQFLDQAgAUHAAGogCEIAIAVCABCCgYCAACABQdAAaiAJQgAgBkIAEIKBgIAAIAFB4ABqIAZCACAFQgAQgoGAgAAgCEIAUiAJQgBScSABKQNIQgBSciABKQNYQgBSciABKQNoIgUgASkDQCABKQNQfHwiCSAFVHJFDQIMAwsCQCAHQQFxRQ0AIAFBEGogCEIAIAVCABCCgYCAACABQSBqIAlCACAGQgAQgoGAgAAgAUEwaiAGQgAgBUIAEIKBgIAAIAhCAFIgCUIAUnEgASkDGEIAUnIgASkDKEIAUnIgASkDOCIGIAEpAxAgASkDIHx8IgggBlRyDQMgASkDMCEGCyABIAUgCSAFIAkQgoGAgAAgB0EBdiEHIAEpAwghCSABKQMAIQUMAAsLIAEpA2AhBSAAIAIgCSAEp0EBcSIHGzcDCCAAIAMgBSAHGzcDACABQaABaiSAgICAAA8LEMeAgIAAAAsJABD5gICAAAALigEDAX8BfgF/I4CAgIAAQTBrIgEkgICAgAAgAUEQahCigICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQo4CAgAALIAFBBDYCACABQRBqIAEQnICAgAAgASkDICECIAAgASkDKEIAIAEoAhBBAXEiAxs3AwggACACQgAgAxs3AwAgAUEwaiSAgICAAAtGAAJAAkAgAUL//////////wBWIAJCAFIgAlAbDQAgAUIIhkIKhCECDAELIAIgARCXgICAACECCyAAQgA3AwAgACACNwMICz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyICAgAAgACkDACAAKQMIEKCAgIAAIQEgAEEQaiSAgICAACABC3kBAX8jgICAgABBwABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQxYCAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUEwaiABQRBqELaAgIAAIAEoAjBBAXENASABKQM4IQALIAFBwABqJICAgIAAIAAPCwALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAACAAKQMAIAApAwgQoICAgAAhASAAQRBqJICAgIAAIAELgQICAn8DfiOAgICAAEHAAGsiAiSAgICAAEEAIQMCQANAIANBGEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHkhcCAAEEDIAJBCGpBAxDUgICAACACKQMIIgFC/wGDQgRSDQAgAkEgaiACKQMQEOOAgIAAIAIoAiANACACKQMoIQYgAkEgaiACKQMYEJ6AgIAAIAIoAiBBAUYNACACKQMwIQQgACACKQM4NwMYIAAgBDcDECAAIAFCIIinNgIoIAAgBjcDIEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJBwABqJICAgIAAC/IBAQJ/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNABClgICAACACEKKAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBCjgICAAAsCQAJAIANBAXENACACQQE2AgAgAiAANwMIIAIQm4CAgABCARCHgICAABoMAQsgABC4gICAAAtB+IDAgABBERDPgICAABDQgICAACEBIAIgADcDCCACIAOtNwMAIAFBmIHAgABBAiACQQIQtICAgAAQiICAgAAaIAJBEGokgICAgABCAg8LAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARD6gICAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEOuAgIAAIQAgAUEQaiSAgICAACAAC6MBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQnoCAgAACQAJAIAEoAgBBAUYNACABKQMYIQAgASkDECECEKWAgIAAIAEQooCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEKOAgIAACyACIACEQgBRDQEgAUEANgIAIAEgAiAAEJ+AgIAAIAFBIGokgICAgABCAg8LAAtCg4CAgBAQrICAgAAAC4kBAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQnoCAgAACQCABKAIAQQFGDQAgASkDGCEAIAEpAxAhAhClgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgAUEFNgIAIAEgAiAAEJ+AgIAAIAFBIGokgICAgABCAg8LAAuXAwUBfwN+AX8BfgF/I4CAgIAAQSBrIgEkgICAgAACQCAAQv8Bg0LLAFINABClgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgABCJgICAAEIgiCECQgAhAwNAAkACQAJAIAMgAlENACAAIANCIIZCBIQQioCAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALC0EDIQUgBEL/AYNCzABSDQEgBEGIg8CAAEECIAFBAhDUgICAACABKQMAIgRC/wGDQgRSDQEgASkDCCIGQv8Bg0IEUg0CIARCIIinIQcgBkIgiKciBUEDIAVBA0kbIQUMAgsgAUEgaiSAgICAAEICDwsLAkAgA0L/////D1ENACAFQQNGDQAgAUEGNgIAIAEgBzYCBCABEJuAgIAAIAWtQiCGQgSEQgEQgoCAgAAaIAFBFGoQuYCAgAACQCABKAIUQQFHDQAgASABKAIYIAEoAhwQmoCAgAALIANCAXwhAwwBCwsQx4CAgAAACwALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEI6AgIAAGguoBAUBfwF+An8BfgR/I4CAgIAAQYABayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdAAahCigICAAAJAIAIoAlBBAUcNACACKAJUIAIoAlgQo4CAgAALIAAQ1oCAgAAgARCJgICAAEIgiCEDQgAhACACQdAAakEQaiIEQQhqIQUCQANAIAAgA1ENASABIABCIIZCBIQQioCAgAAhBkEAIQcCQANAIAdBEEYNASACQcAAaiAHakICNwMAIAdBCGohBwwACwtBASEIAkACQCAGQv8Bg0LMAFENAAwBCyAGQcyCwIAAQQIgAkHAAGpBAhDUgICAACACKQNAIgZC/wGDQgRSDQAgAkHQAGogAikDSBDNgICAACACKAJQIghBAXENACAGQiCIpyEHIAJBIGpBGGogBEEYaikDADcDACACQSBqQRBqIARBEGopAwA3AwAgAiAEKQMANwMgIAIgBSkDADcDKAsgAEL/////D1ENAyACQRhqIgkgAkEgakEYaikDADcDACACQRBqIgogAkEgakEQaikDADcDACACIAIpAyg3AwggAiACKQMgNwMAIAhBAXENAyACQdAAakEYaiAJKQMANwMAIAQgCikDADcDACACIAIpAwg3A1ggAiACKQMANwNQIAIgBzYCcCAHIAJB0ABqENeAgIAAIABCAXwhAAwACwsgAkGAAWokgICAgABCAg8LAAsQx4CAgAAAC20BAX8jgICAgABBEGsiASSAgICAACAAEIOAgIAAGiABEKiAgIAAAkACQAJAIAEoAgBBAUcNACABKQMIIAAQ4oCAgAANAQsgABDcgICAAEUNAQsgAUEQaiSAgICAAA8LQoOAgIDAABCsgICAAAALggICAX8BfiOAgICAAEHAAGsiAiSAgICAACACQQI2AgAgAiAANgIEIAIQm4CAgAAgARC1gICAAEIBEIKAgIAAGiACQTBqELmAgIAAAkAgAigCMEEBRw0AIAIgAigCNCACKAI4EJqAgIAACyACQRBqIAFBEGopAwA3AwAgAkEYaiABQRhqKQMANwMAIAIgASkDADcDACACIAFBCGopAwA3AwggAiAANgIgQaiBwIAAQQ0Qz4CAgAAQ0ICAgAAhAyACIAIQtYCAgAA3AzggAiAArUIghkIEhDcDMCADQcSBwIAAQQIgAkEwakECELSAgIAAEIiAgIAAGiACQcAAaiSAgICAAAvkAwMCfwF+AX8jgICAgABBkAFrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEAIQMCQANAIANBGEYNASACQcgAaiADakICNwMAIANBCGohAwwACwsgAUL/AYNCzABSDQAgAUHkgsCAAEEDIAJByABqQQMQ1ICAgAAgAikDSCIEQv8Bg0IEUg0AIAIgAikDUBDZgICAACACKAIAQQFGDQAgAigCECEDIAIpAwghASACQeAAaiACKQNYEM2AgIAAIAIoAmBBAXENACACQRhqIAJBiAFqKQMANwMAIAJBEGogAkGAAWopAwA3AwAgAiACKQNwNwMAIAIgAkHgAGpBGGopAwA3AwggAiAEQiCIpyIFNgIwIAIgAzYCKCACIAE3AyAgAkHgAGoQooCAgAACQCACKAJgQQFHDQAgAigCZCACKAJoEKOAgIAACyAAENaAgIAAIAUgAhDXgICAACACQQM2AmAgAkHgAGoQm4CAgAAgASADELKAgIAAQgIQgoCAgAAaQdSBwIAAQRoQz4CAgAAQ0ICAgAAhACABIAMQsoCAgAAhASACIAWtQiCGQgSENwNoIAIgATcDYCAAQYCCwIAAQQIgAkHgAGpBAhC0gICAABCIgICAABogAkGQAWokgICAgABCAg8LAAu4AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUG4gsCAAEECIAJBAhDUgICAACACKQMAIgFC/wGDQgRSDQAgAkEQaiACKQMIEOOAgIAAIAIoAhANACACKQMYIQQgACABQiCIpzYCECAAIAQ3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAuXAQIBfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQnoCAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMgAhCigICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQo4CAgAALIAAQ1oCAgAAgAkEENgIAIAIgAyABEJ+AgIAAIAJBIGokgICAgABCAg8LAAsbAAJAIABC/wGDQs0AUQ0AAAsgABDcgICAAK0LlAEBAn8jgICAgABBIGsiASSAgICAACABEKKAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCjgICAAAsgAUEBNgIAIAEgADcDCAJAIAEQm4CAgABCARCdgICAACICRQ0AIAFBFGoQuYCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEJqAgIAACyABQSBqJICAgIAAIAILPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDegICAACAAKQMAIAApAwgQoICAgAAhASAAQRBqJICAgIAAIAELigEDAX8BfgF/I4CAgIAAQTBrIgEkgICAgAAgAUEQahCigICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQo4CAgAALIAFBBTYCACABQRBqIAEQnICAgAAgASkDICECIAAgASkDKEIAIAEoAhBBAXEiAxs3AwggACACQi8gAxs3AwAgAUEwaiSAgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEOCAgIAAIAApAwAgACgCCBCygICAACEBIABBEGokgICAgAAgAQu6AQMBfwF+AX8jgICAgABBMGsiASSAgICAACABQRhqEKKAgIAAAkAgASgCGEEBRw0AIAEoAhwgASgCIBCjgICAAAsgAUEDNgIIAkACQAJAIAFBCGoQm4CAgAAiAkICEJ2AgIAADQBCACECQQAhAwwBCyABQRhqIAJCAhCBgICAABDZgICAACABKAIYQQFGDQEgASgCKCEDIAEpAyAhAgsgACADNgIIIAAgAjcDACABQTBqJICAgIAADwsACyQAAkAgAEL/AYNCBFENAAALIABCIIinEMSAgIAArUIghkIEhAsNACAAIAEQj4CAgABQC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQloCAgAAhAQsgACADNwMAIAAgATcDCAviBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ5YCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDlgICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqEKKAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBCjgICAAAsQpYCAgAACQAJAAkAQoYCAgAANABDmgICAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABCsgICAAAALQoOAgIDA/wAQrICAgAAACwJAAkAgAigCCEEBRw0AQQEgAigCDCACKAIQEOeAgIAADAELQQEQpICAgABCAhCHgICAABoLAkACQCACKAIYQQFHDQBBAiACKAIcIAIoAiAQ54CAgAAMAQtBAhCkgICAAEICEIeAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QdSEwIAAQQ8Qz4CAgAAQ0ICAgAAhACACQShqEOiAgIAAIQEgAiACQTRqEOiAgIAANwNIIAIgATcDQCAAQfiEwIAAQQIgAkHAAGpBAhC0gICAABCIgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQ+4CAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAszAQJ+EJCAgIAAIQACQBCRgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxDHgICAAAALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABCkgICAACEEIAMgASACEPyAgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgoCAgAAaIANBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEOqAgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQooCAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQEKOAgIAACyAAQQhqEKKAgIAAIABBFGoiARC5gICAACAAQTBqIABBCGoQ6oCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEOqAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhDrgICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ/ICAgAAPCyAAQgA3AwAgAEICNwMICxoAIACtQiCGQgSEIAGtQiCGQgSEEIuAgIAAC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCigICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQo4CAgAALEKWAgIAAAkAQoYCAgABFDQBCg4CAgOD/ABCsgICAAAALQQAQpICAgABCAUICEIKAgIAAGkGIhcCAAEESEM+AgIAAENCAgIAAQQRBACAAQRhqQQAQtICAgAAQiICAgAAaIABBIGokgICAgABCAgsJABChgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQo4CAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKiAgIAAIAApAwAgACkDCBC3gICAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKuAgIAAIAApAwAgACkDCBC3gICAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQooCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKOAgIAACxCngICAACECEKqAgIAAIAAQwICAgAAgAiAAEPKAgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEGhg8CAAEEVEM+AgIAA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gICAAEEgayIFJICAgIAAIAUgASACIAMgBBCAgYCAACAFKQMAIQQgACAFKQMINwMIIAAgBDcDACAFQSBqJICAgIAAC24BBn4gACADQv////8PgyIFIAFC/////w+DIgZ+IgcgA0IgiCIIIAZ+IgYgBSABQiCIIgl+fCIFQiCGfCIKNwMAIAAgCCAJfiAFIAZUrUIghiAFQiCIhHwgCiAHVK18IAQgAX4gAyACfnx8NwMICwvaBgEAQYCAwAAL0AZQcmljZVJhdGlvRGVub21pbmF0b3JQcmljZVVwZGF0ZXJEZWZhdWx0TW9kZWxQcmljZUFyYml0cnVtUHJpY2VFeHROYXRpdmVQcmljZVVTREFyYml0cnVtQ29tcHJlc3Npb25QZXJjZW50RWlkVG9Nb2RlbFR5cGVwcmljZV91cGRhdGVyX3NldGFjdGl2ZXVwZGF0ZXIAAIkAEAAGAAAAjwAQAAcAAABwcmljZV91cGRhdGVkZHN0X2VpZHByaWNlAAAAtQAQAAcAAAC8ABAABQAAAGFyYml0cnVtX3ByaWNlX2V4dF91cGRhdGVkYXJiaXRydW1fcHJpY2VfZXh07gAQABIAAAC1ABAABwAAAGdhc19wZXJfbDFfY2FsbGRhdGFfYnl0ZWdhc19wZXJfbDJfdHgAAAAQARAAGAAAACgBEAANAAAAZWlkAEgBEAADAAAAvAAQAAUAAABleHRlbmQAAEgBEAADAAAAXAEQAAYAAAC8ABAABQAAAG1vZGVsX3R5cGUAALUAEAAHAAAAfAEQAAoAAAB0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXK2ARAACQAAAL8BEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAALYBEAAJAAAAvwEQAAkAAADuARAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAvwEQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAOQIQAAkAAACYARAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAGMCEAAIAAAAawIQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmdnYXNfcGVyX2J5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dXMgKG93bmVyIG9ubHkpAAAAAAAAEXNldF9wcmljZV91cGRhdGVyAAAAAAAAAgAAAAAAAAAHdXBkYXRlcgAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAACxTZXQgdGhlIHByaWNlIHJhdGlvIGRlbm9taW5hdG9yIChvd25lciBvbmx5KQAAABtzZXRfcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAAAQAAAAAAAAALZGVub21pbmF0b3IAAAAACgAAAAAAAAAAAAAANFNldCB0aGUgQXJiaXRydW0gY29tcHJlc3Npb24gcGVyY2VudGFnZSAob3duZXIgb25seSkAAAAgc2V0X2FyYml0cnVtX2NvbXByZXNzaW9uX3BlcmNlbnQAAAABAAAAAAAAABNjb21wcmVzc2lvbl9wZXJjZW50AAAAAAoAAAAAAAAAAAAAADhTZXQgdGhlIGZlZSBtb2RlbCB0eXBlIGZvciBkZXN0aW5hdGlvbiBFSURzIChvd25lciBvbmx5KQAAABVzZXRfZWlkX3RvX21vZGVsX3R5cGUAAAAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAFlNldEVpZFRvTW9kZWxUeXBlUGFyYW0AAAAAAAAAAAAAAAAAPVNldCBwcmljZXMgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAocHJpY2UgdXBkYXRlciBvciBvd25lcikAAAAAAAAJc2V0X3ByaWNlAAAAAAAAAgAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAALVXBkYXRlUHJpY2UAAAAAAAAAAAAAAAByU2V0IHByaWNlIGZvciBBcmJpdHJ1bSB3aXRoIGV4dGVuc2lvbiAocHJpY2UgdXBkYXRlciBvciBvd25lcikKQ29ycmVzcG9uZHMgdG8gc2V0UHJpY2VGb3JBcmJpdHJ1bSBpbiBQcmljZUZlZWQuc29sAAAAAAAWc2V0X3ByaWNlX2Zvcl9hcmJpdHJ1bQAAAAAAAgAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAAAAAABnVwZGF0ZQAAAAAH0AAAAA5VcGRhdGVQcmljZUV4dAAAAAAAAAAAAAAAAACoU2V0IHRoZSBuYXRpdmUgdG9rZW4gcHJpY2UgaW4gVVNEIChwcmljZSB1cGRhdGVyIG9yIG93bmVyKS4KCktlcHQgYXMgYSBzdGFuZGFsb25lIGNvbnRyYWN0IGZ1bmN0aW9uIChub3QgcGFydCBvZiB0aGUgY2Fub25pY2FsIGB3b3JrZXI6OklMYXllclplcm9QcmljZUZlZWRgIGludGVyZmFjZSkuAAAAGnNldF9uYXRpdmVfdG9rZW5fcHJpY2VfdXNkAAAAAAACAAAAAAAAAA1wcmljZV91cGRhdGVyAAAAAAAAEwAAAAAAAAAWbmF0aXZlX3Rva2VuX3ByaWNlX3VzZAAAAAAACgAAAAAAAAAAAAAALkNoZWNrIGlmIGFuIGFkZHJlc3MgaXMgYW4gYWN0aXZlIHByaWNlIHVwZGF0ZXIAAAAAABBpc19wcmljZV91cGRhdGVyAAAAAQAAAAAAAAAHdXBkYXRlcgAAAAATAAAAAQAAAAEAAAAAAAAAJEdldCB0aGUgQXJiaXRydW0gY29tcHJlc3Npb24gcGVyY2VudAAAABxhcmJpdHJ1bV9jb21wcmVzc2lvbl9wZXJjZW50AAAAAAAAAAEAAAAKAAAAAAAAACBHZXQgdGhlIEFyYml0cnVtIHByaWNlIGV4dGVuc2lvbgAAABJhcmJpdHJ1bV9wcmljZV9leHQAAAAAAAAAAAABAAAH0AAAABBBcmJpdHJ1bVByaWNlRXh0AAAAAAAAAChHZXQgdGhlIG1vZGVsIHR5cGUgZm9yIGEgZGVzdGluYXRpb24gRUlEAAAAEWVpZF90b19tb2RlbF90eXBlAAAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAJTW9kZWxUeXBlAAAAAAAAAQAAACFBcmJpdHJ1bS1zcGVjaWZpYyBwcmljZSBleHRlbnNpb24AAAAAAAAAAAAAEEFyYml0cnVtUHJpY2VFeHQAAAACAAAAQUdhcyBjb3N0IHBlciBieXRlIG9mIEwxIGNhbGxkYXRhIChmb3IgQXJiaXRydW0ncyBMMSBkYXRhIHBvc3RpbmcpAAAAAAAAGGdhc19wZXJfbDFfY2FsbGRhdGFfYnl0ZQAAAAQAAAAfR2FzIG92ZXJoZWFkIHBlciBMMiB0cmFuc2FjdGlvbgAAAAANZ2FzX3Blcl9sMl90eAAAAAAAAAYAAAABAAAAJVBhcmFtZXRlciBmb3IgdXBkYXRpbmcgYSBzaW5nbGUgcHJpY2UAAAAAAAAAAAAAC1VwZGF0ZVByaWNlAAAAAAIAAAAXRGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAA2VpZAAAAAAEAAAAJVByaWNlIGluZm9ybWF0aW9uIGZvciB0aGUgZGVzdGluYXRpb24AAAAAAAAFcHJpY2UAAAAAAAfQAAAABVByaWNlAAAAAAAAAQAAADRQYXJhbWV0ZXIgZm9yIHVwZGF0aW5nIEFyYml0cnVtIHByaWNlIHdpdGggZXh0ZW5zaW9uAAAAAAAAAA5VcGRhdGVQcmljZUV4dAAAAAAAAwAAADhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoc2hvdWxkIGJlIGFuIEFyYml0cnVtIGVuZHBvaW50KQAAAANlaWQAAAAABAAAACNBcmJpdHJ1bS1zcGVjaWZpYyBwcmljaW5nIGV4dGVuc2lvbgAAAAAGZXh0ZW5kAAAAAAfQAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAlUHJpY2UgaW5mb3JtYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbgAAAAAAAAVwcmljZQAAAAAAB9AAAAAFUHJpY2UAAAAAAAADAAAAMEZlZSBtb2RlbCB0eXBlIGZvciBkaWZmZXJlbnQgY2hhaW4gYXJjaGl0ZWN0dXJlcwAAAAAAAAAJTW9kZWxUeXBlAAAAAAAAAwAAAAAAAAAHRGVmYXVsdAAAAAAAAAAAAAAAAAhBcmJTdGFjawAAAAEAAAAAAAAAB09wU3RhY2sAAAAAAgAAAAEAAAAvUGFyYW1ldGVyIGZvciBzZXR0aW5nIEVJRCB0byBtb2RlbCB0eXBlIG1hcHBpbmcAAAAAAAAAABZTZXRFaWRUb01vZGVsVHlwZVBhcmFtAAAAAAACAAAAF0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEAAAAAAdkc3RfZWlkAAAAAAQAAAAjRmVlIG1vZGVsIHR5cGUgZm9yIHRoaXMgZGVzdGluYXRpb24AAAAACm1vZGVsX3R5cGUAAAAAB9AAAAAJTW9kZWxUeXBlAAAAAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgb3duZXIgYWRkcmVzcywgb3IgTm9uZSBpZiBubyBvd25lciBpcyBzZXQuAAAAAAAFb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAABAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBoAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAAAABAAAABZXb3JrZXJFcnJvcjogMTIwMC0xMjk5AAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABMAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABtBdHRlbXB0aW5nVG9SZW1vdmVPbmx5QWRtaW4AAAAEtAAAAAAAAAAURGVwb3NpdEFkZHJlc3NOb3RTZXQAAAS1AAAAAAAAABpNZXNzYWdlTGliQWxyZWFkeVN1cHBvcnRlZAAAAAAEtgAAAAAAAAAWTWVzc2FnZUxpYk5vdFN1cHBvcnRlZAAAAAAEtwAAAAAAAAAQTm9BZG1pbnNQcm92aWRlZAAABLgAAAAAAAAACk5vdEFsbG93ZWQAAAAABLkAAAAAAAAADk5vdE9uQWxsb3dsaXN0AAAAAAS6AAAAAAAAAA1Ob3RPbkRlbnlsaXN0AAAAAAAEuwAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAS8AAAAAAAAAA9QcmljZUZlZWROb3RTZXQAAAAEvQAAAAAAAAAMUmVJbml0aWFsaXplAAAEvgAAAAAAAAAMVW5hdXRob3JpemVkAAAEvwAAAAAAAAAVVW5zdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAAEwAAAAAAAAAASV29ya2VyRmVlTGliTm90U2V0AAAAAATBAAAAAAAAAA5Xb3JrZXJJc1BhdXNlZAAAAAAEwgAAAAUAAAAAAAAAAAAAAAhTZXRBZG1pbgAAAAEAAAAJc2V0X2FkbWluAAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAWU2V0U3VwcG9ydGVkTWVzc2FnZUxpYgAAAAAAAQAAABlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAAAAAAAAAgAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAAAAAAAAAAACXN1cHBvcnRlZAAAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAxTZXRBbGxvd2xpc3QAAAABAAAADXNldF9hbGxvd2xpc3QAAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAAB2FsbG93ZWQAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAAC1NldERlbnlsaXN0AAAAAAEAAAAMc2V0X2RlbnlsaXN0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAZQYXVzZWQAAAAAAAEAAAAGcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZXIAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAhVbnBhdXNlZAAAAAEAAAAIdW5wYXVzZWQAAAABAAAAAAAAAAh1bnBhdXNlcgAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXREZWZhdWx0TXVsdGlwbGllckJwcwAAAAABAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAABAAAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEVNldERlcG9zaXRBZGRyZXNzAAAAAAAAAQAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAEAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAMU2V0UHJpY2VGZWVkAAAAAQAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAQAAAAAAAAAKcHJpY2VfZmVlZAAAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAF1NldFN1cHBvcnRlZE9wdGlvblR5cGVzAAAAAAEAAAAac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAADG9wdGlvbl90eXBlcwAAAA4AAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9TZXRXb3JrZXJGZWVMaWIAAAAAAQAAABJzZXRfd29ya2VyX2ZlZV9saWIAAAAAAAEAAAAAAAAAB2ZlZV9saWIAAAAAEwAAAAAAAAACAAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAORGVwb3NpdEFkZHJlc3MAAAAAAAAAAAAAAAAACVByaWNlRmVlZAAAAAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAAFERlZmF1bHRNdWx0aXBsaWVyQnBzAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAAC01lc3NhZ2VMaWJzAAAAAAEAAAAAAAAACUFsbG93bGlzdAAAAAAAAAEAAAATAAAAAQAAAAAAAAAIRGVueWxpc3QAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAAAAAAAAAAAAAZBZG1pbnMAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yMy40LjAjNjczZDZjNGYyMzY4ZDI4MmQyNWRhMjliZGE1NWMyMWI4YmU2OWNhNgAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAA==";
11
+ /**
12
+ * Pre-computed WASM hash (SHA-256)
13
+ * Use this when the WASM is already uploaded on-chain
14
+ */
15
+ export const WASM_HASH = "cfc1615712a9510f7edc8a62ea2a39bf33e6f9d6717342400e93a23775b55abe";
16
+ /**
17
+ * Get the WASM bytecode as a Buffer
18
+ * Use this to upload the WASM to the network
19
+ */
20
+ export function getWasmBuffer() {
21
+ return Buffer.from(WASM_BASE64, 'base64');
22
+ }
5
23
  export const PriceFeedError = {
6
24
  1: { message: "InvalidDenominator" },
7
25
  2: { message: "NoPrice" },
@@ -18,28 +36,66 @@ export var ModelType;
18
36
  ModelType[ModelType["ArbStack"] = 1] = "ArbStack";
19
37
  ModelType[ModelType["OpStack"] = 2] = "OpStack";
20
38
  })(ModelType || (ModelType = {}));
39
+ /**
40
+ * BufferReaderError: 1000-1009
41
+ */
21
42
  export const BufferReaderError = {
22
43
  1000: { message: "InvalidLength" },
23
44
  1001: { message: "InvalidAddressPayload" }
24
45
  };
46
+ /**
47
+ * BufferWriterError: 1010-1019
48
+ */
25
49
  export const BufferWriterError = {
26
- 1100: { message: "InvalidAddressPayload" }
50
+ 1010: { message: "InvalidAddressPayload" }
27
51
  };
52
+ /**
53
+ * TtlConfigurableError: 1020-1029
54
+ */
28
55
  export const TtlConfigurableError = {
29
- 1200: { message: "InvalidTtlConfig" },
30
- 1201: { message: "TtlConfigFrozen" },
31
- 1202: { message: "TtlConfigAlreadyFrozen" }
56
+ 1020: { message: "InvalidTtlConfig" },
57
+ 1021: { message: "TtlConfigFrozen" },
58
+ 1022: { message: "TtlConfigAlreadyFrozen" }
32
59
  };
60
+ /**
61
+ * OwnableError: 1030-1039
62
+ */
33
63
  export const OwnableError = {
34
- 1300: { message: "OwnerAlreadySet" },
35
- 1301: { message: "OwnerNotSet" }
64
+ 1030: { message: "InvalidPendingOwner" },
65
+ 1031: { message: "InvalidTtl" },
66
+ 1032: { message: "NoPendingTransfer" },
67
+ 1033: { message: "OwnerAlreadySet" },
68
+ 1034: { message: "OwnerNotSet" },
69
+ 1035: { message: "TransferInProgress" }
36
70
  };
71
+ /**
72
+ * BytesExtError: 1040-1049
73
+ */
37
74
  export const BytesExtError = {
38
- 1400: { message: "LengthMismatch" }
75
+ 1040: { message: "LengthMismatch" }
39
76
  };
77
+ /**
78
+ * UpgradeableError: 1050-1059
79
+ */
40
80
  export const UpgradeableError = {
41
- 1500: { message: "MigrationNotAllowed" }
81
+ 1050: { message: "MigrationNotAllowed" }
82
+ };
83
+ /**
84
+ * MultisigError: 1060-1069
85
+ */
86
+ export const MultisigError = {
87
+ 1060: { message: "AlreadyInitialized" },
88
+ 1061: { message: "InvalidSigner" },
89
+ 1062: { message: "SignatureError" },
90
+ 1063: { message: "SignerAlreadyExists" },
91
+ 1064: { message: "SignerNotFound" },
92
+ 1065: { message: "TotalSignersLessThanThreshold" },
93
+ 1066: { message: "UnsortedSigners" },
94
+ 1067: { message: "ZeroThreshold" }
42
95
  };
96
+ /**
97
+ * WorkerError: 1200-1299
98
+ */
43
99
  export const WorkerError = {
44
100
  1200: { message: "AdminAlreadyExists" },
45
101
  1201: { message: "AdminNotFound" },
@@ -78,7 +134,7 @@ export class Client extends ContractClient {
78
134
  "AAAABQAAAAAAAAAAAAAAF0FyYml0cnVtUHJpY2VFeHRVcGRhdGVkAAAAAAEAAAAaYXJiaXRydW1fcHJpY2VfZXh0X3VwZGF0ZWQAAAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAAEmFyYml0cnVtX3ByaWNlX2V4dAAAAAAH0AAAABBBcmJpdHJ1bVByaWNlRXh0AAAAAAAAAAI=",
79
135
  "AAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
80
136
  "AAAAAAAAAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAH0AAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAA==",
81
- "AAAAAAAAAH5FeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAA",
137
+ "AAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAAT",
82
138
  "AAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAANcHJpY2VfdXBkYXRlcgAAAAAAABMAAAAA",
83
139
  "AAAAAAAAAGRFc3RpbWF0ZSBmZWUgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24gYnkgZW5kcG9pbnQgSUQKQ29ycmVzcG9uZHMgdG8gZXN0aW1hdGVGZWVCeUVpZCBpbiBQcmljZUZlZWQuc29sAAAAE2VzdGltYXRlX2ZlZV9ieV9laWQAAAAABAAAAAAAAAAHZmVlX2xpYgAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAAAAAAAANnYXMAAAAACgAAAAEAAAfQAAAAC0ZlZUVzdGltYXRlAA==",
84
140
  "AAAAAAAAACFHZXQgdGhlIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QAAAAAAAAWbmF0aXZlX3Rva2VuX3ByaWNlX3VzZAAAAAAAAAAAAAEAAAAK",
@@ -100,28 +156,37 @@ export class Client extends ContractClient {
100
156
  "AAAAAQAAADRQYXJhbWV0ZXIgZm9yIHVwZGF0aW5nIEFyYml0cnVtIHByaWNlIHdpdGggZXh0ZW5zaW9uAAAAAAAAAA5VcGRhdGVQcmljZUV4dAAAAAAAAwAAADhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoc2hvdWxkIGJlIGFuIEFyYml0cnVtIGVuZHBvaW50KQAAAANlaWQAAAAABAAAACNBcmJpdHJ1bS1zcGVjaWZpYyBwcmljaW5nIGV4dGVuc2lvbgAAAAAGZXh0ZW5kAAAAAAfQAAAAEEFyYml0cnVtUHJpY2VFeHQAAAAlUHJpY2UgaW5mb3JtYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbgAAAAAAAAVwcmljZQAAAAAAB9AAAAAFUHJpY2UAAAA=",
101
157
  "AAAAAwAAADBGZWUgbW9kZWwgdHlwZSBmb3IgZGlmZmVyZW50IGNoYWluIGFyY2hpdGVjdHVyZXMAAAAAAAAACU1vZGVsVHlwZQAAAAAAAAMAAAAAAAAAB0RlZmF1bHQAAAAAAAAAAAAAAAAIQXJiU3RhY2sAAAABAAAAAAAAAAdPcFN0YWNrAAAAAAI=",
102
158
  "AAAAAQAAAC9QYXJhbWV0ZXIgZm9yIHNldHRpbmcgRUlEIHRvIG1vZGVsIHR5cGUgbWFwcGluZwAAAAAAAAAAFlNldEVpZFRvTW9kZWxUeXBlUGFyYW0AAAAAAAIAAAAXRGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAB2RzdF9laWQAAAAABAAAACNGZWUgbW9kZWwgdHlwZSBmb3IgdGhpcyBkZXN0aW5hdGlvbgAAAAAKbW9kZWxfdHlwZQAAAAAH0AAAAAlNb2RlbFR5cGUAAAA=",
103
- "AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
104
- "AAAAAAAAAEtUcmFuc2ZlcnMgb3duZXJzaGlwIHRvIGEgbmV3IGFkZHJlc3MuIFJlcXVpcmVzIGN1cnJlbnQgb3duZXIgYXV0aG9yaXphdGlvbi4AAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAA=",
105
- "AAAAAAAAAEZQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLiBSZXF1aXJlcyBjdXJyZW50IG93bmVyIGF1dGhvcml6YXRpb24uAAAAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAA==",
106
159
  "AAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAA==",
107
160
  "AAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAA==",
108
161
  "AAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAA==",
109
162
  "AAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQ==",
110
- "AAAABAAAAAAAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+k=",
111
- "AAAABAAAAAAAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAETA==",
112
- "AAAABAAAAAAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAABLAAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAASxAAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAASy",
113
- "AAAABAAAAAAAAAAAAAAADE93bmFibGVFcnJvcgAAAAIAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAUUAAAAAAAAAAtPd25lck5vdFNldAAAAAUV",
114
- "AAAABAAAAAAAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAFeA==",
115
- "AAAABAAAAAAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAABAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABdw=",
116
- "AAAABQAAACxFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkLgAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAI=",
163
+ "AAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAA==",
164
+ "AAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
165
+ "AAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEw==",
166
+ "AAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAA==",
167
+ "AAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAA=",
168
+ "AAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAA=",
169
+ "AAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAA",
170
+ "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
171
+ "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
172
+ "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
173
+ "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
174
+ "AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
175
+ "AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQa",
176
+ "AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
177
+ "AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
178
+ "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
179
+ "AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
180
+ "AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
181
+ "AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
117
182
  "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
118
- "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAFT3duZXIAAAA=",
183
+ "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
119
184
  "AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
120
185
  "AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
121
186
  "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
122
187
  "AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
123
188
  "AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAA==",
124
- "AAAABAAAAAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABMAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABtBdHRlbXB0aW5nVG9SZW1vdmVPbmx5QWRtaW4AAAAEtAAAAAAAAAAURGVwb3NpdEFkZHJlc3NOb3RTZXQAAAS1AAAAAAAAABpNZXNzYWdlTGliQWxyZWFkeVN1cHBvcnRlZAAAAAAEtgAAAAAAAAAWTWVzc2FnZUxpYk5vdFN1cHBvcnRlZAAAAAAEtwAAAAAAAAAQTm9BZG1pbnNQcm92aWRlZAAABLgAAAAAAAAACk5vdEFsbG93ZWQAAAAABLkAAAAAAAAADk5vdE9uQWxsb3dsaXN0AAAAAAS6AAAAAAAAAA1Ob3RPbkRlbnlsaXN0AAAAAAAEuwAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAS8AAAAAAAAAA9QcmljZUZlZWROb3RTZXQAAAAEvQAAAAAAAAAMUmVJbml0aWFsaXplAAAEvgAAAAAAAAAMVW5hdXRob3JpemVkAAAEvwAAAAAAAAAVVW5zdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAAEwAAAAAAAAAASV29ya2VyRmVlTGliTm90U2V0AAAAAATBAAAAAAAAAA5Xb3JrZXJJc1BhdXNlZAAAAAAEwg==",
189
+ "AAAABAAAABZXb3JrZXJFcnJvcjogMTIwMC0xMjk5AAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABMAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABtBdHRlbXB0aW5nVG9SZW1vdmVPbmx5QWRtaW4AAAAEtAAAAAAAAAAURGVwb3NpdEFkZHJlc3NOb3RTZXQAAAS1AAAAAAAAABpNZXNzYWdlTGliQWxyZWFkeVN1cHBvcnRlZAAAAAAEtgAAAAAAAAAWTWVzc2FnZUxpYk5vdFN1cHBvcnRlZAAAAAAEtwAAAAAAAAAQTm9BZG1pbnNQcm92aWRlZAAABLgAAAAAAAAACk5vdEFsbG93ZWQAAAAABLkAAAAAAAAADk5vdE9uQWxsb3dsaXN0AAAAAAS6AAAAAAAAAA1Ob3RPbkRlbnlsaXN0AAAAAAAEuwAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAS8AAAAAAAAAA9QcmljZUZlZWROb3RTZXQAAAAEvQAAAAAAAAAMUmVJbml0aWFsaXplAAAEvgAAAAAAAAAMVW5hdXRob3JpemVkAAAEvwAAAAAAAAAVVW5zdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAAEwAAAAAAAAAASV29ya2VyRmVlTGliTm90U2V0AAAAAATBAAAAAAAAAA5Xb3JrZXJJc1BhdXNlZAAAAAAEwg==",
125
190
  "AAAABQAAAAAAAAAAAAAACFNldEFkbWluAAAAAQAAAAlzZXRfYWRtaW4AAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAg==",
126
191
  "AAAABQAAAAAAAAAAAAAAFlNldFN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAAEAAAAZc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAAAAAIAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAAAAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAI=",
127
192
  "AAAABQAAAAAAAAAAAAAADFNldEFsbG93bGlzdAAAAAEAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAAHYWxsb3dlZAAAAAABAAAAAAAAAAI=",
@@ -143,7 +208,7 @@ export class Client extends ContractClient {
143
208
  fromJSON = {
144
209
  upgrade: (this.txFromJSON),
145
210
  migrate: (this.txFromJSON),
146
- extend_instance_ttl: (this.txFromJSON),
211
+ authorizer: (this.txFromJSON),
147
212
  estimate_fee_by_eid: (this.txFromJSON),
148
213
  native_token_price_usd: (this.txFromJSON),
149
214
  get_price: (this.txFromJSON),
@@ -159,12 +224,16 @@ export class Client extends ContractClient {
159
224
  arbitrum_compression_percent: (this.txFromJSON),
160
225
  arbitrum_price_ext: (this.txFromJSON),
161
226
  eid_to_model_type: (this.txFromJSON),
162
- owner: (this.txFromJSON),
163
- transfer_ownership: (this.txFromJSON),
164
- renounce_ownership: (this.txFromJSON),
165
227
  set_ttl_configs: (this.txFromJSON),
166
228
  ttl_configs: (this.txFromJSON),
167
229
  freeze_ttl_configs: (this.txFromJSON),
168
- is_ttl_configs_frozen: (this.txFromJSON)
230
+ is_ttl_configs_frozen: (this.txFromJSON),
231
+ extend_instance_ttl: (this.txFromJSON),
232
+ owner: (this.txFromJSON),
233
+ pending_owner: (this.txFromJSON),
234
+ transfer_ownership: (this.txFromJSON),
235
+ propose_ownership_transfer: (this.txFromJSON),
236
+ accept_ownership: (this.txFromJSON),
237
+ renounce_ownership: (this.txFromJSON)
169
238
  };
170
239
  }