From 38e2c231f801034f2aed3479aed62cf7f47a149a Mon Sep 17 00:00:00 2001 From: Eric Zhong Date: Thu, 11 Jul 2024 13:25:23 -0400 Subject: [PATCH 1/2] update old bindings and add new ones --- Cargo.lock | 3 +- crates/bindings-uniswapx/Cargo.toml | 3 +- crates/bindings-uniswapx/src/array_builder.rs | 36 +- crates/bindings-uniswapx/src/base_reactor.rs | 1171 ++++--- crates/bindings-uniswapx/src/bytes_lib.rs | 40 +- .../bindings-uniswapx/src/currency_library.rs | 60 +- crates/bindings-uniswapx/src/deploy_dutch.rs | 177 +- .../bindings-uniswapx/src/deploy_dutch_v2.rs | 371 ++ .../src/deploy_exclusive_dutch.rs | 175 +- .../bindings-uniswapx/src/deploy_permit_2.rs | 82 +- .../src/deploy_swap_router_02_executor.rs | 166 +- .../bindings-uniswapx/src/dutch_decay_lib.rs | 108 +- .../bindings-uniswapx/src/dutch_order_lib.rs | 36 +- .../src/dutch_order_reactor.rs | 1307 ++++--- crates/bindings-uniswapx/src/ecdsa.rs | 40 +- crates/bindings-uniswapx/src/eip712.rs | 290 +- crates/bindings-uniswapx/src/erc20.rs | 974 +++--- .../src/exclusive_dutch_order_lib.rs | 36 +- .../src/exclusive_dutch_order_reactor.rs | 1392 ++++---- .../src/exclusive_filler_validation.rs | 182 +- ...ity_override_lib.rs => exclusivity_lib.rs} | 82 +- .../src/fixed_point_math_lib.rs | 36 +- crates/bindings-uniswapx/src/gas_snapshot.rs | 233 +- .../src/i_allowance_transfer.rs | 286 +- crates/bindings-uniswapx/src/i_permit_2.rs | 375 ++- .../src/i_protocol_fee_controller.rs | 161 +- crates/bindings-uniswapx/src/i_reactor.rs | 361 +- .../src/i_reactor_callback.rs | 49 +- .../src/i_signature_transfer.rs | 190 +- .../bindings-uniswapx/src/i_swap_router_02.rs | 519 ++- .../src/i_uni_v3_swap_router.rs | 142 - .../src/i_validation_callback.rs | 132 +- crates/bindings-uniswapx/src/ieip712.rs | 78 +- crates/bindings-uniswapx/src/ierc165.rs | 143 + crates/bindings-uniswapx/src/ierc20.rs | 1027 ++++++ crates/bindings-uniswapx/src/ierc5267.rs | 207 +- crates/bindings-uniswapx/src/ierc721.rs | 1177 +++++++ .../src/ierc721_enumerable.rs | 1447 ++++++++ .../bindings-uniswapx/src/ierc721_metadata.rs | 1412 ++++++++ .../src/ierc721_token_receiver.rs | 177 + crates/bindings-uniswapx/src/lib.rs | 30 +- .../bindings-uniswapx/src/limit_order_lib.rs | 36 +- .../src/limit_order_reactor.rs | 1194 ++++--- crates/bindings-uniswapx/src/math.rs | 40 +- .../src/mock_direct_filler.rs | 180 - .../src/mock_dutch_order_reactor.rs | 1445 ++++---- crates/bindings-uniswapx/src/mock_erc20.rs | 1237 +++---- crates/bindings-uniswapx/src/mock_erc721.rs | 1529 +++++++++ .../src/mock_exclusivity_lib.rs | 479 +++ .../src/mock_exclusivity_override_lib.rs | 415 --- .../src/mock_expected_balance_lib.rs | 224 -- .../src/mock_fee_controller.rs | 551 +-- .../src/mock_fee_controller_duplicates.rs | 554 +-- ...ck_fee_controller_input_and_output_fees.rs | 735 ++++ .../src/mock_fee_controller_input_fees.rs | 733 ++++ .../src/mock_fee_controller_zero_fee.rs | 551 +-- .../src/mock_fill_contract.rs | 259 +- .../mock_fill_contract_double_execution.rs | 393 +++ ...mock_fill_contract_with_output_override.rs | 248 +- .../src/mock_order_struct.rs | 72 - .../src/mock_protocol_fees.rs | 758 +++-- .../src/mock_resolved_order_lib.rs | 255 +- .../bindings-uniswapx/src/mock_swap_router.rs | 425 ++- crates/bindings-uniswapx/src/mock_swapper.rs | 106 +- .../src/mock_validation_contract.rs | 266 +- .../src/order_info_builder.rs | 36 +- .../bindings-uniswapx/src/order_info_lib.rs | 36 +- crates/bindings-uniswapx/src/order_quoter.rs | 121 +- .../bindings-uniswapx/src/outputs_builder.rs | 36 +- crates/bindings-uniswapx/src/owned.rs | 189 +- crates/bindings-uniswapx/src/path.rs | 40 +- crates/bindings-uniswapx/src/path_builder.rs | 36 +- crates/bindings-uniswapx/src/permit_2_lib.rs | 40 +- .../bindings-uniswapx/src/permit_signature.rs | 1830 ++++++---- ...ted_balance_lib.rs => priority_fee_lib.rs} | 100 +- .../src/priority_order_lib.rs | 125 + .../src/priority_order_reactor.rs | 1669 +++++++++ .../src/priority_order_reactor_integration.rs | 2988 +++++++++++++++++ crates/bindings-uniswapx/src/protocol_fees.rs | 547 +-- .../bindings-uniswapx/src/reactor_events.rs | 91 +- .../bindings-uniswapx/src/reactor_structs.rs | 72 - .../bindings-uniswapx/src/reentrancy_guard.rs | 22 +- .../src/resolved_order_lib.rs | 180 +- crates/bindings-uniswapx/src/safe_cast.rs | 40 +- .../src/safe_transfer_lib.rs | 36 +- crates/bindings-uniswapx/src/shared_types.rs | 130 +- crates/bindings-uniswapx/src/short_strings.rs | 119 +- crates/bindings-uniswapx/src/signed_math.rs | 40 +- .../src/{std_style.rs => solarray.rs} | 60 +- crates/bindings-uniswapx/src/std_invariant.rs | 726 ---- crates/bindings-uniswapx/src/storage_slot.rs | 36 +- crates/bindings-uniswapx/src/strings.rs | 40 +- .../src/swap_router_02_executor.rs | 398 ++- crates/bindings-uniswapx/src/uint_string.rs | 78 +- .../src/v2_dutch_order_lib.rs | 125 + .../src/v2_dutch_order_reactor.rs | 1773 ++++++++++ crates/bindings-uniswapx/src/weth.rs | 1142 ++++--- 97 files changed, 29783 insertions(+), 10716 deletions(-) create mode 100644 crates/bindings-uniswapx/src/deploy_dutch_v2.rs rename crates/bindings-uniswapx/src/{exclusivity_override_lib.rs => exclusivity_lib.rs} (66%) delete mode 100644 crates/bindings-uniswapx/src/i_uni_v3_swap_router.rs create mode 100644 crates/bindings-uniswapx/src/ierc165.rs create mode 100644 crates/bindings-uniswapx/src/ierc20.rs create mode 100644 crates/bindings-uniswapx/src/ierc721.rs create mode 100644 crates/bindings-uniswapx/src/ierc721_enumerable.rs create mode 100644 crates/bindings-uniswapx/src/ierc721_metadata.rs create mode 100644 crates/bindings-uniswapx/src/ierc721_token_receiver.rs delete mode 100644 crates/bindings-uniswapx/src/mock_direct_filler.rs create mode 100644 crates/bindings-uniswapx/src/mock_erc721.rs create mode 100644 crates/bindings-uniswapx/src/mock_exclusivity_lib.rs delete mode 100644 crates/bindings-uniswapx/src/mock_exclusivity_override_lib.rs delete mode 100644 crates/bindings-uniswapx/src/mock_expected_balance_lib.rs create mode 100644 crates/bindings-uniswapx/src/mock_fee_controller_input_and_output_fees.rs create mode 100644 crates/bindings-uniswapx/src/mock_fee_controller_input_fees.rs create mode 100644 crates/bindings-uniswapx/src/mock_fill_contract_double_execution.rs delete mode 100644 crates/bindings-uniswapx/src/mock_order_struct.rs rename crates/bindings-uniswapx/src/{expected_balance_lib.rs => priority_fee_lib.rs} (53%) create mode 100644 crates/bindings-uniswapx/src/priority_order_lib.rs create mode 100644 crates/bindings-uniswapx/src/priority_order_reactor.rs create mode 100644 crates/bindings-uniswapx/src/priority_order_reactor_integration.rs delete mode 100644 crates/bindings-uniswapx/src/reactor_structs.rs rename crates/bindings-uniswapx/src/{std_style.rs => solarray.rs} (72%) delete mode 100644 crates/bindings-uniswapx/src/std_invariant.rs create mode 100644 crates/bindings-uniswapx/src/v2_dutch_order_lib.rs create mode 100644 crates/bindings-uniswapx/src/v2_dutch_order_reactor.rs diff --git a/Cargo.lock b/Cargo.lock index 6e6ecf3..ec8531e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -448,9 +448,10 @@ dependencies = [ [[package]] name = "bindings-uniswapx" -version = "0.1.0" +version = "0.2.0" dependencies = [ "ethers", + "serde", ] [[package]] diff --git a/crates/bindings-uniswapx/Cargo.toml b/crates/bindings-uniswapx/Cargo.toml index 58b04b7..ceb80df 100644 --- a/crates/bindings-uniswapx/Cargo.toml +++ b/crates/bindings-uniswapx/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "bindings-uniswapx" -version = "0.1.0" +version = "0.2.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] ethers = { version = "2", default-features = false, features = ["abigen"] } +serde = "1" diff --git a/crates/bindings-uniswapx/src/array_builder.rs b/crates/bindings-uniswapx/src/array_builder.rs index 75340d6..617aab6 100644 --- a/crates/bindings-uniswapx/src/array_builder.rs +++ b/crates/bindings-uniswapx/src/array_builder.rs @@ -7,7 +7,7 @@ pub use array_builder::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod array_builder { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod array_builder { } } ///The parsed JSON ABI of the contract. - pub static ARRAYBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ARRAYBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB4+\xE9M\x0B,\x9Al\x9F\\\x801t\xF4\x059\x7Ft\x87\x86k\x1D\x06Y\x88\xC7\xD7\x8A\xC55j\xD2dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\"\xC1'Y\x88\xCCC\x85{\xA0\x86\xB8\xB3\xD0/\x9Cf%G[?\xAA2OH@\xAD\x01\xE5\xB8|dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static ARRAYBUILDER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ARRAYBUILDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB4+\xE9M\x0B,\x9Al\x9F\\\x801t\xF4\x059\x7Ft\x87\x86k\x1D\x06Y\x88\xC7\xD7\x8A\xC55j\xD2dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\"\xC1'Y\x88\xCCC\x85{\xA0\x86\xB8\xB3\xD0/\x9Cf%G[?\xAA2OH@\xAD\x01\xE5\xB8|dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static ARRAYBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ARRAYBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ArrayBuilder(::ethers::contract::Contract); impl ::core::clone::Clone for ArrayBuilder { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod array_builder { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ARRAYBUILDER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ARRAYBUILDER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +116,8 @@ pub mod array_builder { Ok(deployer) } } - impl From<::ethers::contract::Contract> for ArrayBuilder { + impl From<::ethers::contract::Contract> + for ArrayBuilder { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/base_reactor.rs b/crates/bindings-uniswapx/src/base_reactor.rs index 1cbb1ae..3cc012e 100644 --- a/crates/bindings-uniswapx/src/base_reactor.rs +++ b/crates/bindings-uniswapx/src/base_reactor.rs @@ -7,7 +7,7 @@ pub use base_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod base_reactor { pub use super::super::shared_types::*; @@ -16,360 +16,426 @@ pub mod base_reactor { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IPermit2"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], - ), ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientEth"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientEth"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], ), ]), - receive: false, + receive: true, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static BASEREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static BASEREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct BaseReactor(::ethers::contract::Contract); impl ::core::clone::Clone for BaseReactor { fn clone(&self) -> Self { @@ -401,46 +467,59 @@ pub mod base_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - BASEREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + BASEREACTOR_ABI.clone(), + client, + ), + ) } - ///Calls the contract's `DIRECT_FILL` (0xfccbcaaf) function - pub fn direct_fill( + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( &self, - ) -> ::ethers::contract::builders::ContractCall { + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([252, 203, 202, 175], ()) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `execute` (0x05afc977) function - pub fn execute( + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( &self, - order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + orders: ::std::vec::Vec, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function - pub fn execute_batch( + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -448,7 +527,10 @@ pub mod base_reactor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -456,7 +538,10 @@ pub mod base_reactor { ///Calls the contract's `permit2` (0x12261ee7) function pub fn permit_2( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([18, 38, 30, 231], ()) .expect("method not found (this should never happen)") @@ -488,8 +573,11 @@ pub mod base_reactor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -505,40 +593,32 @@ pub mod base_reactor { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, BaseReactorEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + BaseReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for BaseReactor { + impl From<::ethers::contract::Contract> + for BaseReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -549,11 +629,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -561,48 +643,33 @@ pub mod base_reactor { pub amount: ::ethers::core::types::U256, pub recipient: ::ethers::core::types::Address, } - ///Custom Error type `InsufficientEth` with signature `InsufficientEth()` and selector `0xa01a9df6` + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[etherror(name = "InsufficientEth", abi = "InsufficientEth()")] - pub struct InsufficientEth; - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { @@ -613,11 +680,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; @@ -626,22 +695,31 @@ pub mod base_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum BaseReactorErrors { - DeadlinePassed(DeadlinePassed), DuplicateFeeOutput(DuplicateFeeOutput), FeeTooLarge(FeeTooLarge), - InsufficientEth(InsufficientEth), - InsufficientOutput(InsufficientOutput), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), @@ -654,39 +732,39 @@ pub mod base_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InsufficientEth(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InsufficientOutput(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -695,17 +773,21 @@ pub mod base_reactor { impl ::ethers::core::abi::AbiEncode for BaseReactorErrors { fn encode(self) -> ::std::vec::Vec { match self { - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientEth(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientOutput(element) => { + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -717,32 +799,26 @@ pub mod base_reactor { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => true, + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -752,14 +828,18 @@ pub mod base_reactor { impl ::core::fmt::Display for BaseReactorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientEth(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -769,11 +849,6 @@ pub mod base_reactor { Self::RevertString(value) } } - impl ::core::convert::From for BaseReactorErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } impl ::core::convert::From for BaseReactorErrors { fn from(value: DuplicateFeeOutput) -> Self { Self::DuplicateFeeOutput(value) @@ -784,14 +859,9 @@ pub mod base_reactor { Self::FeeTooLarge(value) } } - impl ::core::convert::From for BaseReactorErrors { - fn from(value: InsufficientEth) -> Self { - Self::InsufficientEth(value) - } - } - impl ::core::convert::From for BaseReactorErrors { - fn from(value: InsufficientOutput) -> Self { - Self::InsufficientOutput(value) + impl ::core::convert::From for BaseReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) } } impl ::core::convert::From for BaseReactorErrors { @@ -813,11 +883,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { @@ -833,11 +905,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -853,11 +927,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -868,7 +944,16 @@ pub mod base_reactor { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum BaseReactorEvents { FillFilter(FillFilter), OwnershipTransferredFilter(OwnershipTransferredFilter), @@ -894,7 +979,9 @@ pub mod base_reactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -916,66 +1003,94 @@ pub mod base_reactor { Self::ProtocolFeeControllerSetFilter(value) } } - ///Container type for all input parameters for the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "DIRECT_FILL", abi = "DIRECT_FILL()")] - pub struct DirectFillCall; - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] - pub struct ExecuteCall { - pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -984,11 +1099,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -997,11 +1114,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "permit2", abi = "permit2()")] pub struct Permit2Call; @@ -1010,11 +1129,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -1028,22 +1149,34 @@ pub mod base_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum BaseReactorCalls { - DirectFill(DirectFillCall), Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), FeeController(FeeControllerCall), Owner(OwnerCall), Permit2(Permit2Call), @@ -1055,34 +1188,49 @@ pub mod base_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DirectFill(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit2(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1091,38 +1239,51 @@ pub mod base_reactor { impl ::ethers::core::abi::AbiEncode for BaseReactorCalls { fn encode(self) -> Vec { match self { - Self::DirectFill(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for BaseReactorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DirectFill(element) => ::core::fmt::Display::fmt(element, f), Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for BaseReactorCalls { - fn from(value: DirectFillCall) -> Self { - Self::DirectFill(value) - } - } impl ::core::convert::From for BaseReactorCalls { fn from(value: ExecuteCall) -> Self { Self::Execute(value) @@ -1133,6 +1294,16 @@ pub mod base_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From for BaseReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for BaseReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } impl ::core::convert::From for BaseReactorCalls { fn from(value: FeeControllerCall) -> Self { Self::FeeController(value) @@ -1158,28 +1329,18 @@ pub mod base_reactor { Self::TransferOwnership(value) } } - ///Container type for all return fields from the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DirectFillReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -1187,11 +1348,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` @@ -1199,11 +1362,13 @@ pub mod base_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Permit2Return(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/bytes_lib.rs b/crates/bindings-uniswapx/src/bytes_lib.rs index 6864601..2998ed5 100644 --- a/crates/bindings-uniswapx/src/bytes_lib.rs +++ b/crates/bindings-uniswapx/src/bytes_lib.rs @@ -7,7 +7,7 @@ pub use bytes_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod bytes_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod bytes_lib { } } ///The parsed JSON ABI of the contract. - pub static BYTESLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static BYTESLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 |<0\x9F\xA1\xE7\x7F\x91\xF9\xC1q\xAE\xAE\xC2\xC1\xE3\x089\xFB'3Kh\xCB\xE4\xE9\xEC\xA3\x1F.\x83\xE5dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \0EZ\xDA\x9A\xBF\x93\xF7\xE4\xE5(\x93\xAE\xCC>\xF6j')\xB9[O{i\xCF\xD0\xD6hs\r\x0C\xA0dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static BYTESLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static BYTESLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 |<0\x9F\xA1\xE7\x7F\x91\xF9\xC1q\xAE\xAE\xC2\xC1\xE3\x089\xFB'3Kh\xCB\xE4\xE9\xEC\xA3\x1F.\x83\xE5dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \0EZ\xDA\x9A\xBF\x93\xF7\xE4\xE5(\x93\xAE\xCC>\xF6j')\xB9[O{i\xCF\xD0\xD6hs\r\x0C\xA0dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static BYTESLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static BYTESLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct BytesLib(::ethers::contract::Contract); impl ::core::clone::Clone for BytesLib { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod bytes_lib { } impl ::core::fmt::Debug for BytesLib { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(BytesLib)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(BytesLib)).field(&self.address()).finish() } } impl BytesLib { @@ -65,11 +66,13 @@ pub mod bytes_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - BYTESLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + BYTESLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod bytes_lib { Ok(deployer) } } - impl From<::ethers::contract::Contract> for BytesLib { + impl From<::ethers::contract::Contract> + for BytesLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/currency_library.rs b/crates/bindings-uniswapx/src/currency_library.rs index 3a8fc40..a6c72c6 100644 --- a/crates/bindings-uniswapx/src/currency_library.rs +++ b/crates/bindings-uniswapx/src/currency_library.rs @@ -7,7 +7,7 @@ pub use currency_library::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod currency_library { #[allow(deprecated)] @@ -16,30 +16,39 @@ pub mod currency_library { constructor: ::core::option::Option::None, functions: ::std::collections::BTreeMap::new(), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], - )]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static CURRENCYLIBRARY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static CURRENCYLIBRARY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 )\x89\x8A\x11{\x17\xA0\xF1Q\xC2\xEB\x03\x81\xF4\xA6\x83V\x91\xEB#R\x8D\x8A\x17\xB1\x10\x0E\t\xE4\xDE\x8CHdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 M1\xEE\xC5q\xFC]\x8D\x0C3\x8Aok\xCENN\x15\xDE\xD1\"\xA4\xBE\t\xCA\xD8\xCE]fX\x1Fg\xB5dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static CURRENCYLIBRARY_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static CURRENCYLIBRARY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 )\x89\x8A\x11{\x17\xA0\xF1Q\xC2\xEB\x03\x81\xF4\xA6\x83V\x91\xEB#R\x8D\x8A\x17\xB1\x10\x0E\t\xE4\xDE\x8CHdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 M1\xEE\xC5q\xFC]\x8D\x0C3\x8Aok\xCENN\x15\xDE\xD1\"\xA4\xBE\t\xCA\xD8\xCE]fX\x1Fg\xB5dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static CURRENCYLIBRARY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static CURRENCYLIBRARY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct CurrencyLibrary(::ethers::contract::Contract); impl ::core::clone::Clone for CurrencyLibrary { fn clone(&self) -> Self { @@ -71,11 +80,13 @@ pub mod currency_library { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - CURRENCYLIBRARY_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + CURRENCYLIBRARY_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -118,8 +129,7 @@ pub mod currency_library { } } impl From<::ethers::contract::Contract> - for CurrencyLibrary - { + for CurrencyLibrary { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -129,11 +139,13 @@ pub mod currency_library { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; diff --git a/crates/bindings-uniswapx/src/deploy_dutch.rs b/crates/bindings-uniswapx/src/deploy_dutch.rs index cc5f764..3eb3a11 100644 --- a/crates/bindings-uniswapx/src/deploy_dutch.rs +++ b/crates/bindings-uniswapx/src/deploy_dutch.rs @@ -7,7 +7,7 @@ pub use deploy_dutch::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod deploy_dutch { #[allow(deprecated)] @@ -17,49 +17,61 @@ pub mod deploy_dutch { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("run"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("run"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deployment"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct DutchDeployment"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deployment"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct DutchDeployment"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setUp"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setUp"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -69,18 +81,21 @@ pub mod deploy_dutch { } } ///The parsed JSON ABI of the contract. - pub static DEPLOYDUTCH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DEPLOYDUTCH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x04\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x0C\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pak\xBE\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB1V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x019W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01MW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01tWa\x01ra\x03\x9BV[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xAB\x90a\x05(V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xEFW=`\0\x80>=`\0\xFD[P\x90Pa\x021`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[`\0\x80`\0\x1B`@Qa\x02C\x90a\x055V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02cW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xA5`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x10W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03$W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aG\xC9a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\x1E\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xA6V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x048W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04LW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xF7\x82\x82`@Q`$\x01a\x04|\x92\x91\x90a\x05\xDDV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04\xFBV[PPV[a\x05\x04\x81a\x05\x07V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a3!\x80a\x06\x16\x839\x01\x90V[a\x0E\x92\x80a97\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05hW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05LV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xD5`@\x83\x01\x84a\x05BV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF0`@\x83\x01\x85a\x05BV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x003!8\x03\x80b\x003!\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa2\x01b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x14]\x01Ra\x186\x01Ra2\x01`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a$\xE9V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a%lV[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a%\x89V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a%lV[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea&jV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xCEV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\x8E\x81a\x1BlV[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xD9W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\x83W`\0[\x81`\x80\x01QQ\x81\x10\x15a\n\x81W\x81`\x80\x01Q\x81\x81Q\x81\x10a\n\x14Wa\n\x14a&jV[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\n6Wa\n6a&jV[` \x02` \x01\x01Q` \x01Q\x14a\nyW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\t\xF1V[P[PV[a\n\xC0`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0B\x02W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0B\x18\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0BvWa\x0Bva&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xDFW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\x94W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C6Wa\x0C\x11\x86\x82\x81Q\x81\x10a\x0C\x02Wa\x0C\x02a&jV[` \x02` \x01\x01Q\x86\x86a\x1C\xC9V[\x83\x82\x81Q\x81\x10a\x0C#Wa\x0C#a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xE5V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\r\xE5\x93\x92\x91\x90a-\xB3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\x08\x83`\0\x01Qa\x1D\x99V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x0E:\x89`\x80\x01Qa\x1E3V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0E\xC9WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0F \x90\x85\x90`\x04\x01a-\xF6V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x83\x91\x90\x81\x01\x90a.\tV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x9B\x82\x84a/\x08V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\xB3Wa\x0F\xB3a&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10\x1CW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F\xD1W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x10mW\x85`@\x01Q\x81\x81Q\x81\x10a\x10@Wa\x10@a&jV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x10ZWa\x10Za&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x10\"V[P`\0[\x82\x81\x10\x15a\x13\x14W`\0\x85\x82\x81Q\x81\x10a\x10\x8DWa\x10\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x11KW\x86\x81\x81Q\x81\x10a\x10\xB4Wa\x10\xB4a&jV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11CW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x10\x9AV[P`\0\x80[\x86\x81\x10\x15a\x11\xD0W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x11pWa\x11pa&jV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\xC7W` \x81\x01Qa\x11\xC4\x90\x84a/\x08V[\x92P[P`\x01\x01a\x11PV[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\rW` \x80\x89\x01Q\x01Qa\x12\n\x90\x82a/\x08V[\x90P[\x80`\0\x03a\x12bW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x12p\x81`\x05a'\x10a\x1E\xD1V[\x82` \x01Q\x11\x15a\x12\xE3W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x12\xEF\x85\x89a/\x08V[\x81Q\x81\x10a\x12\xFFWa\x12\xFFa&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x10qV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13tW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x13\xB3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\x81W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x14/\x90\x84\x90\x86\x90`\x04\x01a/\x1BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x14GW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x15\x1B\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x15%\x85\x85a\x1F\rV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16p\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\x16\xDD\x93\x92\x91\x90a-\xB3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a1\x11` \x83\x019`@Q` \x01a\x170\x92\x91\x90a/JV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x9D\x96\x95\x94\x93\x92`\x04\x01a/\xA5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x18\x93W`\0\x82\x82\x81Q\x81\x10a\x17\xEBWa\x17\xEBa&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x18\x89W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x18\x1DWa\x18\x1Da&jV[` \x02` \x01\x01Q\x90Pa\x18\x80\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1FT\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x17\xF8V[PP`\x01\x01a\x17\xCEV[PG\x15a\n\x83Wa\n\x83`\x003Ga \xD1V[```\0\x80[\x83Q\x81\x10\x15a\x18\xE5W\x83\x81\x81Q\x81\x10a\x18\xC7Wa\x18\xC7a&jV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x18\xACV[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xFFWa\x18\xFFa&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x19hW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x19\x1DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1BdW`\0\x84\x82\x81Q\x81\x10a\x19\x8DWa\x19\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1BZW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xBFWa\x19\xBFa&jV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1A\x9BW`\0\x88\x82\x81Q\x81\x10a\x19\xE9Wa\x19\xE9a&jV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1AiWP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1A\x92W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1A\x88\x91\x90a/\x08V[\x90RPa\x1A\x9B\x90PV[P`\x01\x01a\x19\xCDV[P\x80a\x1BPW`@\x82\x01Q\x82Q`\0\x91a\x1A\xCB\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a!\xACV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1B(\x91\x90a/\x08V[\x81RP\x88\x88\x81Q\x81\x10a\x1B=Wa\x1B=a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x19\x9AV[PP`\x01\x01a\x19pV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\x81W`\0\x82\x82\x81Q\x81\x10a\x1B\x8CWa\x1B\x8Ca&jV[` \x02` \x01\x01Q\x90P`\0a\x1B\xC9\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a!\xAC\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1C\x1AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1C'\x90a0mV[\x91PPa\x1BoV[`\0\x82\x82\x10\x15a\x1CkW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1CyWP\x82a\x1C\xC1V[B\x83\x10a\x1C\x87WP\x83a\x1C\xC1V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xACWa\x1C\xA3\x86\x88\x03\x83\x83a\x1E\xD1V[\x87\x03\x92Pa\x1C\xBEV[a\x1C\xB9\x87\x87\x03\x83\x83a\x1E\xD1V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D(W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D>\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0E\x8C\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1ESWa\x1ESa&;V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E}W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xC2W`\0a\x1E\xB0\x85\x83\x81Q\x81\x10a\x1E\xA3Wa\x1E\xA3a&jV[` \x02` \x01\x01Qa\"~V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x83V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a \x0FW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xC9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xCEV[``\x91P[PP\x90P\x80a \tW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a 6\x86a\"\xF5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a \xB3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a \xC7W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\x86W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a!FW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!KV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a!\xA7s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a#\x9FV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\xE7WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x1FNV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\"SW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\"w\x91\x90a0\xA5V[\x93\x92PPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a0\xBF`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0E\x8C\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#\x9BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\x83W`\0\x80\xFD[\x805a$\x9B\x81a$nV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\xB2W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xCAW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$\xE2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a$\xFFW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\x17W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a%+W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a%=\x82a$nV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a%SW`\0\x80\xFD[Pa%`\x87\x82\x88\x01a$\xA0V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a%~W`\0\x80\xFD[\x815a\"w\x81a$nV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a%\xA1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\xB9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a%\xCDW`\0\x80\xFD[\x815\x81\x81\x11\x15a%\xDCW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a%\xF1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa&\x07` \x89\x01a$\x90V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a&\x1DW`\0\x80\xFD[Pa&*\x88\x82\x89\x01a$\xA0V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&\xCDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a'\x0CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a''W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$\xE2W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\x15Wa(\x15a&;V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a(.W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(HWa(Ha&;V[a(y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'\xCEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a(\xBDW`\0\x80\xFD[a(\xC5a'a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 ^\xBA\x1By\x99Hx\xBB`\x89\xA6\x1FtF \xC5R\xE4\x8E\x96\xB9Q\xC2=\xEAR\x05\xD5GtBJdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[Pag\xE3\x80a\x001`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01?W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01SW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01zWa\x01xa\x03\xA1V[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xB1\x90a\x05.V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xF5W=`\0\x80>=`\0\xFD[P\x90Pa\x027`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[`\0\x80`\0\x1B`@Qa\x02I\x90a\x05;V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02iW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xAB`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x16W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03*W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aC\xEEa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04$\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xACV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x04>W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04RW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xFD\x82\x82`@Q`$\x01a\x04\x82\x92\x91\x90a\x05\xE3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\x01V[PPV[a\x05\n\x81a\x05\rV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a/\xB9\x80a\x06\x1C\x839\x01\x90V[a\x0E\x19\x80a5\xD5\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05nW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05RV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xDB`@\x83\x01\x84a\x05HV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF6`@\x83\x01\x85a\x05HV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0/\xB98\x03\x80b\0/\xB9\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa.\xA0b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x17\xE9\x01Ra.\xA0`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a!xV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\"&V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\"hV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"\xF6V[a\x06\x83V[a\0\xB9a\x01l6`\x04a#\x1AV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"\xF6V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a#~V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x95V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a&GV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BDV[a\x04\xB5\x81a\x0B\x95V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x95V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia#~V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BDV[a\x08\x86\x81a\x0B\x95V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a&\x85V[\x81\x01\x90a\n|\x91\x90a)wV[\x90Pa\n\x87\x81a\x0C\xE8V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xD3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x0E\xA5\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a&\x85V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\x8CV[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0BeWa\x0Bea#~V[` \x02` \x01\x01Q\x90Pa\x0Bx\x81a\x11\xF6V[a\x0B\x82\x813a\x16\xE6V[a\x0B\x8C\x813a\x17\xE7V[P`\x01\x01a\x0BIV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD7W`\0\x83\x82\x81Q\x81\x10a\x0B\xB6Wa\x0B\xB6a#~V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C7W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xEDWa\x0B\xEDa#~V[` \x02` \x01\x01Q\x90Pa\x0C.\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1BW\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xCDV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x80Wa\x0C\x80a#~V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC5\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x9AV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\x9EV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\r+W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\x80\x01QQ\x81\x10\x15a\x04\xC1W\x81`\x80\x01Q\x81\x81Q\x81\x10a\rfWa\rfa#~V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\r\x88Wa\r\x88a#~V[` \x02` \x01\x01Q` \x01Q\x14a\r\xCBW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rCV[a\x0E\r`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EOW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Ee\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xC3Wa\x0E\xC3a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F,W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xE1W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\x83Wa\x0F^\x86\x82\x81Q\x81\x10a\x0FOWa\x0FOa#~V[` \x02` \x01\x01Q\x86\x86a\x1C\xDFV[\x83\x82\x81Q\x81\x10a\x0FpWa\x0Fpa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x112\x93\x92\x91\x90a*\xABV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x11U\x83`\0\x01Qa\x1D\xAFV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x11\x87\x89`\x80\x01Qa\x1EIV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x12\x16WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x12m\x90\x85\x90`\x04\x01a*\xEEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x12\xD0\x91\x90\x81\x01\x90a+\x01V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x12\xE8\x82\x84a+\xD1V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\0Wa\x13\0a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13iW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\x1EW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x13\xBAW\x85`@\x01Q\x81\x81Q\x81\x10a\x13\x8DWa\x13\x8Da#~V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x13\xA7Wa\x13\xA7a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13oV[P`\0\x80`\0[\x84\x81\x10\x15a\x16\xD5W`\0\x87\x82\x81Q\x81\x10a\x13\xDDWa\x13\xDDa#~V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x14\x9BW\x88\x81\x81Q\x81\x10a\x14\x04Wa\x14\x04a#~V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x93W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x13\xEAV[P`\0\x80[\x88\x81\x10\x15a\x15\\W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x14\xC0Wa\x14\xC0a#~V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15SW\x85\x15a\x15=W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x15L\x90\x84a+\xD1V[\x92P`\x01\x96P[P`\x01\x01a\x14\xA0V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x15\xD5W\x84\x15a\x15\xBCW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x15\xCE\x90\x82a+\xD1V[\x90P`\x01\x93P[\x80`\0\x03a\x16*W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x168\x81`\x05a'\x10a\x1E\xE7V[\x82` \x01Q\x11\x15a\x16\xABW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x13\xC1V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x177W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x17\xB3\x90\x84\x90\x86\x90`\x04\x01a,\x0BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x17\xCBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x18\xA7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x18\xB1\x85\x85a\x1F#V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x19\xFC\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x1Ai\x93\x92\x91\x90a*\xABV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a-\xB0` \x83\x019`@Q` \x01a\x1A\xBC\x92\x91\x90a,:V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1B)\x96\x95\x94\x93\x92`\x04\x01a,\x95V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1BCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B|Wa\x03_\x82\x82a\x1B\x9EV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1FjV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1B\xF8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xFDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1CHWP\x83a\x1C\xD7V[\x82\x82\x11a\x1C\x81W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1C\x8FWP\x82a\x1C\xD7V[B\x83\x10a\x1C\x9DWP\x83a\x1C\xD7V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xC2Wa\x1C\xB9\x86\x88\x03\x83\x83a\x1E\xE7V[\x87\x03\x92Pa\x1C\xD4V[a\x1C\xCF\x87\x87\x03\x83\x83a \\V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D>W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1DT\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x11\xD9\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1EiWa\x1Eia#OV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xD8W`\0a\x1E\xC6\x85\x83\x81Q\x81\x10a\x1E\xB9Wa\x1E\xB9a#~V[` \x02` \x01\x01Qa \xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x1CW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \x91W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a-^`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x11\xD9\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a!)W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a!AW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!YW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a!\x8DW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xA5W`\0\x80\xFD[a!\xB1\x87\x83\x88\x01a!\x17V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!\xC7W`\0\x80\xFD[Pa!\xD4\x86\x82\x87\x01a!/V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!\xF3W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\x0BW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\"9W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"PW`\0\x80\xFD[a\"\\\x85\x82\x86\x01a!\xE1V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\"~W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\x96W`\0\x80\xFD[a\"\xA2\x88\x83\x89\x01a!\xE1V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\xBBW`\0\x80\xFD[Pa\"\xC8\x87\x82\x88\x01a!/V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a#\x08W`\0\x80\xFD[\x815a#\x13\x81a\"\xD4V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a#,W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#CW`\0\x80\xFD[a\x1C\xD7\x84\x82\x85\x01a!\x17V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#\xC8W\x81\x81\x01Q\x83\x82\x01R` \x01a#\xB0V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\xE9\x81` \x86\x01` \x86\x01a#\xADV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a${W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a$0V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\xFAa\x01\xA0\x85\x01\x82a#\xD1V[\x90P` \x83\x01Qa%8` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra%P\x82\x82a$\x1BV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%j\x82\x82a#\xD1V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%\xF6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%\xE4\x86\x83Qa$\x86V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%\xAAV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&{W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&\xBAW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&\xD5W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a!qW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\xC3Wa'\xC3a#OV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'\xDCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xF6Wa'\xF6a#OV[a('` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(:pCh\xFE\xB9\x94\x851\xAA\xBC\x1A\x1B\xE1\x1C\xB2\x06z\x90\xEF\x9D\x87>\x91\xD9\xB7\x9E8\x83dsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xAD\x9B\xA9\x99\x06\x95\xA8/*\xBA\xC9U9\x18\xC2\xE34\x84\xE9`\xD7\xB7,a\xBE\xF8 H0\x7F(\xD9dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DEPLOYDUTCH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DEPLOYDUTCH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB1V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x019W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01MW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01tWa\x01ra\x03\x9BV[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xAB\x90a\x05(V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xEFW=`\0\x80>=`\0\xFD[P\x90Pa\x021`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[`\0\x80`\0\x1B`@Qa\x02C\x90a\x055V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02cW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xA5`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x10W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03$W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aG\xC9a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\x1E\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xA6V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x048W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04LW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xF7\x82\x82`@Q`$\x01a\x04|\x92\x91\x90a\x05\xDDV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04\xFBV[PPV[a\x05\x04\x81a\x05\x07V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a3!\x80a\x06\x16\x839\x01\x90V[a\x0E\x92\x80a97\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05hW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05LV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xD5`@\x83\x01\x84a\x05BV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF0`@\x83\x01\x85a\x05BV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x003!8\x03\x80b\x003!\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa2\x01b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x14]\x01Ra\x186\x01Ra2\x01`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a$\xE9V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a%lV[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a%\x89V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a%lV[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea&jV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xCEV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\x8E\x81a\x1BlV[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xD9W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\x83W`\0[\x81`\x80\x01QQ\x81\x10\x15a\n\x81W\x81`\x80\x01Q\x81\x81Q\x81\x10a\n\x14Wa\n\x14a&jV[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\n6Wa\n6a&jV[` \x02` \x01\x01Q` \x01Q\x14a\nyW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\t\xF1V[P[PV[a\n\xC0`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0B\x02W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0B\x18\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0BvWa\x0Bva&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xDFW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\x94W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C6Wa\x0C\x11\x86\x82\x81Q\x81\x10a\x0C\x02Wa\x0C\x02a&jV[` \x02` \x01\x01Q\x86\x86a\x1C\xC9V[\x83\x82\x81Q\x81\x10a\x0C#Wa\x0C#a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xE5V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\r\xE5\x93\x92\x91\x90a-\xB3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\x08\x83`\0\x01Qa\x1D\x99V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x0E:\x89`\x80\x01Qa\x1E3V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0E\xC9WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0F \x90\x85\x90`\x04\x01a-\xF6V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x83\x91\x90\x81\x01\x90a.\tV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x9B\x82\x84a/\x08V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\xB3Wa\x0F\xB3a&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10\x1CW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F\xD1W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x10mW\x85`@\x01Q\x81\x81Q\x81\x10a\x10@Wa\x10@a&jV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x10ZWa\x10Za&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x10\"V[P`\0[\x82\x81\x10\x15a\x13\x14W`\0\x85\x82\x81Q\x81\x10a\x10\x8DWa\x10\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x11KW\x86\x81\x81Q\x81\x10a\x10\xB4Wa\x10\xB4a&jV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11CW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x10\x9AV[P`\0\x80[\x86\x81\x10\x15a\x11\xD0W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x11pWa\x11pa&jV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\xC7W` \x81\x01Qa\x11\xC4\x90\x84a/\x08V[\x92P[P`\x01\x01a\x11PV[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\rW` \x80\x89\x01Q\x01Qa\x12\n\x90\x82a/\x08V[\x90P[\x80`\0\x03a\x12bW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x12p\x81`\x05a'\x10a\x1E\xD1V[\x82` \x01Q\x11\x15a\x12\xE3W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x12\xEF\x85\x89a/\x08V[\x81Q\x81\x10a\x12\xFFWa\x12\xFFa&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x10qV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13tW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x13\xB3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\x81W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x14/\x90\x84\x90\x86\x90`\x04\x01a/\x1BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x14GW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x15\x1B\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x15%\x85\x85a\x1F\rV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16p\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\x16\xDD\x93\x92\x91\x90a-\xB3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a1\x11` \x83\x019`@Q` \x01a\x170\x92\x91\x90a/JV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x9D\x96\x95\x94\x93\x92`\x04\x01a/\xA5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x18\x93W`\0\x82\x82\x81Q\x81\x10a\x17\xEBWa\x17\xEBa&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x18\x89W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x18\x1DWa\x18\x1Da&jV[` \x02` \x01\x01Q\x90Pa\x18\x80\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1FT\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x17\xF8V[PP`\x01\x01a\x17\xCEV[PG\x15a\n\x83Wa\n\x83`\x003Ga \xD1V[```\0\x80[\x83Q\x81\x10\x15a\x18\xE5W\x83\x81\x81Q\x81\x10a\x18\xC7Wa\x18\xC7a&jV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x18\xACV[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xFFWa\x18\xFFa&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x19hW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x19\x1DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1BdW`\0\x84\x82\x81Q\x81\x10a\x19\x8DWa\x19\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1BZW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xBFWa\x19\xBFa&jV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1A\x9BW`\0\x88\x82\x81Q\x81\x10a\x19\xE9Wa\x19\xE9a&jV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1AiWP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1A\x92W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1A\x88\x91\x90a/\x08V[\x90RPa\x1A\x9B\x90PV[P`\x01\x01a\x19\xCDV[P\x80a\x1BPW`@\x82\x01Q\x82Q`\0\x91a\x1A\xCB\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a!\xACV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1B(\x91\x90a/\x08V[\x81RP\x88\x88\x81Q\x81\x10a\x1B=Wa\x1B=a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x19\x9AV[PP`\x01\x01a\x19pV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\x81W`\0\x82\x82\x81Q\x81\x10a\x1B\x8CWa\x1B\x8Ca&jV[` \x02` \x01\x01Q\x90P`\0a\x1B\xC9\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a!\xAC\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1C\x1AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1C'\x90a0mV[\x91PPa\x1BoV[`\0\x82\x82\x10\x15a\x1CkW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1CyWP\x82a\x1C\xC1V[B\x83\x10a\x1C\x87WP\x83a\x1C\xC1V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xACWa\x1C\xA3\x86\x88\x03\x83\x83a\x1E\xD1V[\x87\x03\x92Pa\x1C\xBEV[a\x1C\xB9\x87\x87\x03\x83\x83a\x1E\xD1V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D(W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D>\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0E\x8C\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1ESWa\x1ESa&;V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E}W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xC2W`\0a\x1E\xB0\x85\x83\x81Q\x81\x10a\x1E\xA3Wa\x1E\xA3a&jV[` \x02` \x01\x01Qa\"~V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x83V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a \x0FW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xC9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xCEV[``\x91P[PP\x90P\x80a \tW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a 6\x86a\"\xF5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a \xB3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a \xC7W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\x86W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a!FW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!KV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a!\xA7s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a#\x9FV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\xE7WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x1FNV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\"SW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\"w\x91\x90a0\xA5V[\x93\x92PPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a0\xBF`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0E\x8C\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#\x9BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\x83W`\0\x80\xFD[\x805a$\x9B\x81a$nV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\xB2W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xCAW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$\xE2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a$\xFFW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\x17W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a%+W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a%=\x82a$nV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a%SW`\0\x80\xFD[Pa%`\x87\x82\x88\x01a$\xA0V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a%~W`\0\x80\xFD[\x815a\"w\x81a$nV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a%\xA1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\xB9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a%\xCDW`\0\x80\xFD[\x815\x81\x81\x11\x15a%\xDCW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a%\xF1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa&\x07` \x89\x01a$\x90V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a&\x1DW`\0\x80\xFD[Pa&*\x88\x82\x89\x01a$\xA0V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&\xCDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a'\x0CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a''W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$\xE2W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\x15Wa(\x15a&;V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a(.W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(HWa(Ha&;V[a(y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'\xCEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a(\xBDW`\0\x80\xFD[a(\xC5a'a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 ^\xBA\x1By\x99Hx\xBB`\x89\xA6\x1FtF \xC5R\xE4\x8E\x96\xB9Q\xC2=\xEAR\x05\xD5GtBJdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01?W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01SW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01zWa\x01xa\x03\xA1V[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xB1\x90a\x05.V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xF5W=`\0\x80>=`\0\xFD[P\x90Pa\x027`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[`\0\x80`\0\x1B`@Qa\x02I\x90a\x05;V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02iW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xAB`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x16W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03*W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aC\xEEa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04$\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xACV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x04>W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04RW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xFD\x82\x82`@Q`$\x01a\x04\x82\x92\x91\x90a\x05\xE3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\x01V[PPV[a\x05\n\x81a\x05\rV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a/\xB9\x80a\x06\x1C\x839\x01\x90V[a\x0E\x19\x80a5\xD5\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05nW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05RV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xDB`@\x83\x01\x84a\x05HV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF6`@\x83\x01\x85a\x05HV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0/\xB98\x03\x80b\0/\xB9\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa.\xA0b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x17\xE9\x01Ra.\xA0`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a!xV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\"&V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\"hV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"\xF6V[a\x06\x83V[a\0\xB9a\x01l6`\x04a#\x1AV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"\xF6V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a#~V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x95V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a&GV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BDV[a\x04\xB5\x81a\x0B\x95V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x95V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia#~V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BDV[a\x08\x86\x81a\x0B\x95V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a&\x85V[\x81\x01\x90a\n|\x91\x90a)wV[\x90Pa\n\x87\x81a\x0C\xE8V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xD3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x0E\xA5\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a&\x85V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\x8CV[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0BeWa\x0Bea#~V[` \x02` \x01\x01Q\x90Pa\x0Bx\x81a\x11\xF6V[a\x0B\x82\x813a\x16\xE6V[a\x0B\x8C\x813a\x17\xE7V[P`\x01\x01a\x0BIV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD7W`\0\x83\x82\x81Q\x81\x10a\x0B\xB6Wa\x0B\xB6a#~V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C7W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xEDWa\x0B\xEDa#~V[` \x02` \x01\x01Q\x90Pa\x0C.\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1BW\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xCDV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x80Wa\x0C\x80a#~V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC5\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x9AV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\x9EV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\r+W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\x80\x01QQ\x81\x10\x15a\x04\xC1W\x81`\x80\x01Q\x81\x81Q\x81\x10a\rfWa\rfa#~V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\r\x88Wa\r\x88a#~V[` \x02` \x01\x01Q` \x01Q\x14a\r\xCBW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rCV[a\x0E\r`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EOW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Ee\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xC3Wa\x0E\xC3a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F,W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xE1W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\x83Wa\x0F^\x86\x82\x81Q\x81\x10a\x0FOWa\x0FOa#~V[` \x02` \x01\x01Q\x86\x86a\x1C\xDFV[\x83\x82\x81Q\x81\x10a\x0FpWa\x0Fpa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x112\x93\x92\x91\x90a*\xABV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x11U\x83`\0\x01Qa\x1D\xAFV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x11\x87\x89`\x80\x01Qa\x1EIV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x12\x16WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x12m\x90\x85\x90`\x04\x01a*\xEEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x12\xD0\x91\x90\x81\x01\x90a+\x01V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x12\xE8\x82\x84a+\xD1V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\0Wa\x13\0a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13iW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\x1EW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x13\xBAW\x85`@\x01Q\x81\x81Q\x81\x10a\x13\x8DWa\x13\x8Da#~V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x13\xA7Wa\x13\xA7a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13oV[P`\0\x80`\0[\x84\x81\x10\x15a\x16\xD5W`\0\x87\x82\x81Q\x81\x10a\x13\xDDWa\x13\xDDa#~V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x14\x9BW\x88\x81\x81Q\x81\x10a\x14\x04Wa\x14\x04a#~V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x93W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x13\xEAV[P`\0\x80[\x88\x81\x10\x15a\x15\\W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x14\xC0Wa\x14\xC0a#~V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15SW\x85\x15a\x15=W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x15L\x90\x84a+\xD1V[\x92P`\x01\x96P[P`\x01\x01a\x14\xA0V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x15\xD5W\x84\x15a\x15\xBCW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x15\xCE\x90\x82a+\xD1V[\x90P`\x01\x93P[\x80`\0\x03a\x16*W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x168\x81`\x05a'\x10a\x1E\xE7V[\x82` \x01Q\x11\x15a\x16\xABW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x13\xC1V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x177W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x17\xB3\x90\x84\x90\x86\x90`\x04\x01a,\x0BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x17\xCBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x18\xA7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x18\xB1\x85\x85a\x1F#V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x19\xFC\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x1Ai\x93\x92\x91\x90a*\xABV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a-\xB0` \x83\x019`@Q` \x01a\x1A\xBC\x92\x91\x90a,:V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1B)\x96\x95\x94\x93\x92`\x04\x01a,\x95V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1BCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B|Wa\x03_\x82\x82a\x1B\x9EV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1FjV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1B\xF8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xFDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1CHWP\x83a\x1C\xD7V[\x82\x82\x11a\x1C\x81W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1C\x8FWP\x82a\x1C\xD7V[B\x83\x10a\x1C\x9DWP\x83a\x1C\xD7V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xC2Wa\x1C\xB9\x86\x88\x03\x83\x83a\x1E\xE7V[\x87\x03\x92Pa\x1C\xD4V[a\x1C\xCF\x87\x87\x03\x83\x83a \\V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D>W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1DT\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x11\xD9\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1EiWa\x1Eia#OV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xD8W`\0a\x1E\xC6\x85\x83\x81Q\x81\x10a\x1E\xB9Wa\x1E\xB9a#~V[` \x02` \x01\x01Qa \xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x1CW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \x91W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a-^`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x11\xD9\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a!)W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a!AW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!YW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a!\x8DW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xA5W`\0\x80\xFD[a!\xB1\x87\x83\x88\x01a!\x17V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!\xC7W`\0\x80\xFD[Pa!\xD4\x86\x82\x87\x01a!/V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!\xF3W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\x0BW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\"9W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"PW`\0\x80\xFD[a\"\\\x85\x82\x86\x01a!\xE1V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\"~W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\x96W`\0\x80\xFD[a\"\xA2\x88\x83\x89\x01a!\xE1V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\xBBW`\0\x80\xFD[Pa\"\xC8\x87\x82\x88\x01a!/V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a#\x08W`\0\x80\xFD[\x815a#\x13\x81a\"\xD4V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a#,W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#CW`\0\x80\xFD[a\x1C\xD7\x84\x82\x85\x01a!\x17V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#\xC8W\x81\x81\x01Q\x83\x82\x01R` \x01a#\xB0V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\xE9\x81` \x86\x01` \x86\x01a#\xADV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a${W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a$0V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\xFAa\x01\xA0\x85\x01\x82a#\xD1V[\x90P` \x83\x01Qa%8` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra%P\x82\x82a$\x1BV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%j\x82\x82a#\xD1V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%\xF6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%\xE4\x86\x83Qa$\x86V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%\xAAV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&{W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&\xBAW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&\xD5W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a!qW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\xC3Wa'\xC3a#OV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'\xDCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xF6Wa'\xF6a#OV[a('` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(:pCh\xFE\xB9\x94\x851\xAA\xBC\x1A\x1B\xE1\x1C\xB2\x06z\x90\xEF\x9D\x87>\x91\xD9\xB7\x9E8\x83dsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xAD\x9B\xA9\x99\x06\x95\xA8/*\xBA\xC9U9\x18\xC2\xE34\x84\xE9`\xD7\xB7,a\xBE\xF8 H0\x7F(\xD9dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DEPLOYDUTCH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DEPLOYDUTCH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DeployDutch(::ethers::contract::Contract); impl ::core::clone::Clone for DeployDutch { fn clone(&self) -> Self { @@ -112,11 +127,13 @@ pub mod deploy_dutch { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DEPLOYDUTCH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYDUTCH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -164,7 +181,9 @@ pub mod deploy_dutch { .expect("method not found (this should never happen)") } ///Calls the contract's `run` (0xc0406226) function - pub fn run(&self) -> ::ethers::contract::builders::ContractCall { + pub fn run( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([192, 64, 98, 38], ()) .expect("method not found (this should never happen)") @@ -176,7 +195,8 @@ pub mod deploy_dutch { .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for DeployDutch { + impl From<::ethers::contract::Contract> + for DeployDutch { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -186,11 +206,13 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] pub struct IsScriptCall; @@ -199,11 +221,13 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "run", abi = "run()")] pub struct RunCall; @@ -212,16 +236,27 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setUp", abi = "setUp()")] pub struct SetUpCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DeployDutchCalls { IsScript(IsScriptCall), Run(RunCall), @@ -232,13 +267,19 @@ pub mod deploy_dutch { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IsScript(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Run(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetUp(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -247,7 +288,9 @@ pub mod deploy_dutch { impl ::ethers::core::abi::AbiEncode for DeployDutchCalls { fn encode(self) -> Vec { match self { - Self::IsScript(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), } @@ -282,11 +325,13 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsScriptReturn(pub bool); ///Container type for all return fields from the `run` function with signature `run()` and selector `0xc0406226` @@ -294,11 +339,13 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct RunReturn { pub deployment: DutchDeployment, @@ -308,11 +355,13 @@ pub mod deploy_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DutchDeployment { pub permit_2: ::ethers::core::types::Address, diff --git a/crates/bindings-uniswapx/src/deploy_dutch_v2.rs b/crates/bindings-uniswapx/src/deploy_dutch_v2.rs new file mode 100644 index 0000000..403ff9b --- /dev/null +++ b/crates/bindings-uniswapx/src/deploy_dutch_v2.rs @@ -0,0 +1,371 @@ +pub use deploy_dutch_v2::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod deploy_dutch_v2 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("run"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deployment"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct V2DutchOrderDeployment", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setUp"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static DEPLOYDUTCHV2_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[Pa:L\x80a\x001`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x89W[`\0\x80\xFD[\0[a\0Pa\0\xACV[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x93\x84\x01Q\x16\x92\x81\x01\x92\x90\x92R\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x9C\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x80V[`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01R`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FFOUNDRY_REACTOR_OWNER\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01}\x91\x90a\x04\x93V[\x90Pa\x01\xBE`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7FOwner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x03\xC4V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02)W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02=W=`\0\x80>=`\0\xFD[PPPP`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x83`@Qa\x02d\x90a\x04\x86V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02\xA8W=`\0\x80>=`\0\xFD[P\x90Pa\x02\xEA`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x03\xC4V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03UW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03iW=`\0\x80>=`\0\xFD[PPPP`@Q\x80`@\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[a\x04U\x82\x82`@Q`$\x01a\x03\xDA\x92\x91\x90a\x04\xD0V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04YV[PPV[a\x04b\x81a\x04eV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a4\xBD\x80a\x05Z\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04\xA5W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\xC9W`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x04\xFEW` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x04\xE1V[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004\xBD8\x03\x80b\x004\xBD\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xA4b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x1A\xE7\x01Ra3\xA4`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$NV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xFCV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%>V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xDCV[a\x06\x83V[a\0\xB9a\x01l6`\x04a&\0V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xDCV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&dV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xBEV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)-V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BmV[a\x04\xB5\x81a\x0B\xBEV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xBEV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&dV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BmV[a\x08\x86\x81a\x0B\xBEV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)kV[\x81\x01\x90a\n|\x91\x90a-\xAAV[\x90P`\0a\n\x89\x82a\r\x11V[\x90Pa\n\x95\x81\x83a\x0FCV[a\n\x9E\x82a\x11BV[`@\x80Q`\xA0\x81\x01\x82R\x83Q\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q\x93\x86\x01Q\x92\x93\x91\x84\x01\x92a\n\xCF\x92\x90\x91\x90a\x12\xA2V[\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q``\x87\x01Q\x92\x90\x93\x01\x92a\n\xF3\x92\x91\x90a\x13tV[\x81R` \x01\x85\x80` \x01\x90a\x0B\x08\x91\x90a)kV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x82\x90R`\x80\x83\x01Q`@\x81\x01Q\x81Q``\x90\x92\x01Q\x92\x95Pa\x0Bf\x92\x86\x92\x90a\x14[V[PP\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x8EWa\x0B\x8Ea&dV[` \x02` \x01\x01Q\x90Pa\x0B\xA1\x81a\x14\xFCV[a\x0B\xAB\x813a\x19\xECV[a\x0B\xB5\x813a\x1A\xE5V[P`\x01\x01a\x0BrV[\x80Q`\0[\x81\x81\x10\x15a\r\0W`\0\x83\x82\x81Q\x81\x10a\x0B\xDFWa\x0B\xDFa&dV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C`W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x16Wa\x0C\x16a&dV[` \x02` \x01\x01Q\x90Pa\x0CW\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1E'\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xF6V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\xA9Wa\x0C\xA9a&dV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xC3V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1EnV[`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\0\x90`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2b` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a.\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F\x08V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x0E\xDA\x90a\x1F\xA2V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16``\x87\x01R\x92\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x80\x81\x01Q` \x01Q\x81Q``\x01Q\x10\x15a\x0F\x8AW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82`\xA0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0F\xA5\x91\x90a.\xEAV[\x91P\x91P`\0\x83`\xA0\x01Q`@\x81Q\x81\x10a\x0F\xC2Wa\x0F\xC2a&dV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\x80\x01Q`@Q` \x01a\x0F\xEC\x91\x90a/\x0EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x10(\x92\x91` \x01a/\x9EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xA4W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x11\x03WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x11:W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\x80\x80\x82\x01Q\x01Q\x15a\x11\xABW\x80`@\x01Q` \x01Q\x81`\x80\x01Q`\x80\x01Q\x11\x15a\x11\x99W`@Q\x7F\xAC\x91C\xE7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x80\x82\x01Q\x01Q`@\x82\x01Q` \x01R[\x80``\x01QQ\x81`\x80\x01Q`\xA0\x01QQ\x14a\x11\xF2W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\x12\x1AWa\x12\x1Aa&dV[` \x02` \x01\x01Q\x90P`\0\x83`\x80\x01Q`\xA0\x01Q\x83\x81Q\x81\x10a\x12@Wa\x12@a&dV[` \x02` \x01\x01Q\x90P\x80`\0\x14a\x12\x98W\x81` \x01Q\x81\x10\x15a\x12\x90W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01\x81\x90R[PP`\x01\x01a\x11\xF5V[a\x12\xDC`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x13\x1EW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x134\x85` \x01Q\x86`@\x01Q\x86\x86a @V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\x92Wa\x13\x92a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xFBW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\xB0W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x14RWa\x14-\x86\x82\x81Q\x81\x10a\x14\x1EWa\x14\x1Ea&dV[` \x02` \x01\x01Q\x86\x86a \xE7V[\x83\x82\x81Q\x81\x10a\x14?Wa\x14?a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x01V[PP\x93\x92PPPV[a\x14e\x83\x83a!\xB7V[a\x06}W\x80a\x14\xA0W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x11:W`\0\x82\x82\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a&dV[` \x02` \x01\x01Q\x90Pa\x14\xEE\x84a'\x10a\x14\xE0\x91\x90a/\xC4V[` \x83\x01Q\x90a'\x10a\"\x04V[` \x90\x91\x01R`\x01\x01a\x14\xA8V[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15\x1CWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x15s\x90\x85\x90`\x04\x01a/\xFEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x90W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x15\xD6\x91\x90\x81\x01\x90a0\x11V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x15\xEE\x82\x84a/\xC4V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x06Wa\x16\x06a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16oW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x16$W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xC0W\x85`@\x01Q\x81\x81Q\x81\x10a\x16\x93Wa\x16\x93a&dV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x16\xADWa\x16\xADa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x16uV[P`\0\x80`\0[\x84\x81\x10\x15a\x19\xDBW`\0\x87\x82\x81Q\x81\x10a\x16\xE3Wa\x16\xE3a&dV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x17\xA1W\x88\x81\x81Q\x81\x10a\x17\nWa\x17\na&dV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17\x99W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x16\xF0V[P`\0\x80[\x88\x81\x10\x15a\x18bW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x17\xC6Wa\x17\xC6a&dV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x18YW\x85\x15a\x18CW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x18R\x90\x84a/\xC4V[\x92P`\x01\x96P[P`\x01\x01a\x17\xA6V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x18\xDBW\x84\x15a\x18\xC2W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x18\xD4\x90\x82a/\xC4V[\x90P`\x01\x93P[\x80`\0\x03a\x190W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x19>\x81`\x05a'\x10a\"HV[\x82` \x01Q\x11\x15a\x19\xB1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x19\xC6Wa\x19\xC6a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x16\xC7V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x1A=W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x1A\xB9\x90\x84\x90\x86\x90`\x04\x01a0\xE1V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1A\xD1W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1B\xA5\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\xB4`.\x919`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1D\x8C\x94\x93\x92\x91` \x01a1\x10V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1D\xF9\x96\x95\x94\x93\x92`\x04\x01a1\x99V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\x13W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ELWa\x03_\x82\x82a\x1EnV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"\x84V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1E\xC8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\xCDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0F&\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC2Wa\x1F\xC2a&5V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xECW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a 1W`\0a \x1F\x85\x83\x81Q\x81\x10a \x12Wa \x12a&dV[` \x02` \x01\x01Qa#vV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xF2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x83\x85\x03a PWP\x83a \xDFV[\x82\x82\x11a \x89W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a \x97WP\x82a \xDFV[B\x83\x10a \xA5WP\x83a \xDFV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a \xCAWa \xC1\x86\x88\x03\x83\x83a\"HV[\x87\x03\x92Pa \xDCV[a \xD7\x87\x87\x03\x83\x83a\"\x04V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a!FW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\\\x85` \x01Q\x86`@\x01Q\x86\x86a @V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a!\xDBWP\x81B\x11[\x80a!\xFBWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"9W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"}W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#oW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0F&\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\x17W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$/W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$cW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a${W`\0\x80\xFD[a$\x87\x87\x83\x88\x01a#\xEDV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x9DW`\0\x80\xFD[Pa$\xAA\x86\x82\x87\x01a$\x05V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xC9W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xE1W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x0FW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%&W`\0\x80\xFD[a%2\x85\x82\x86\x01a$\xB7V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%TW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%lW`\0\x80\xFD[a%x\x88\x83\x89\x01a$\xB7V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x91W`\0\x80\xFD[Pa%\x9E\x87\x82\x88\x01a$\x05V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a%\xD7\x81a%\xAAV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a%\xEEW`\0\x80\xFD[\x815a%\xF9\x81a%\xAAV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a&\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&)W`\0\x80\xFD[a \xDF\x84\x82\x85\x01a#\xEDV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xAEW\x81\x81\x01Q\x83\x82\x01R` \x01a&\x96V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xCF\x81` \x86\x01` \x86\x01a&\x93V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'aW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x16V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xE0a\x01\xA0\x85\x01\x82a&\xB7V[\x90P` \x83\x01Qa(\x1E` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(6\x82\x82a'\x01V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(P\x82\x82a&\xB7V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xDCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xCA\x86\x83Qa'lV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x90V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)aW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\xA0W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xBBW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$GW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*\x86Wa*\x86a&5V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x9FW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xB9Wa*\xB9a&5V[a*\xEA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*?V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xFFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+.W`\0\x80\xFD[a+6a)\xD0V[\x90P\x815a+C\x81a%\xAAV[\x81R` \x82\x015a+S\x81a%\xAAV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a+|\x81a%\xAAV[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a+\x9BW`\0\x80\xFD[a+\xA7\x84\x82\x85\x01a*\x8EV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xC5W`\0\x80\xFD[a+\xCDa)\xF9V[\x90P\x815a+\xDA\x81a%\xAAV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,\x12Wa,\x12a&5V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,-W`\0\x80\xFD[\x815` a,Ba,=\x83a+\xF8V[a*?V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,aW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xC6W`\x80\x81\x89\x03\x12\x15a,~W`\0\x80\x81\xFD[a,\x86a*\x1CV[\x815a,\x91\x81a%\xAAV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xB4\x81a%\xAAV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,eV[P\x96\x95PPPPPPV[`\0`\xC0\x82\x84\x03\x12\x15a,\xE3W`\0\x80\xFD[a,\xEBa)\xD0V[\x90P\x815\x81R` \x80\x83\x015\x81\x83\x01R`@\x83\x015a-\t\x81a%\xAAV[\x80`@\x84\x01RP``\x83\x015``\x83\x01R`\x80\x83\x015`\x80\x83\x01R`\xA0\x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a->W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-OW`\0\x80\xFD[\x805a-]a,=\x82a+\xF8V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x83\x01\x90\x83\x81\x01\x90\x87\x83\x11\x15a-|W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a-\x9AW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a-\x81V[`\xA0\x86\x01RP\x92\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a-\xBCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-\xD4W`\0\x80\xFD[\x90\x83\x01\x90a\x01\0\x82\x86\x03\x12\x15a-\xE9W`\0\x80\xFD[a-\xF1a)\xD0V[\x825\x82\x81\x11\x15a.\0W`\0\x80\xFD[a.\x0C\x87\x82\x86\x01a+\x1CV[\x82RPa.\x1B` \x84\x01a%\xCCV[` \x82\x01Ra.-\x86`@\x85\x01a+\xB3V[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a.DW`\0\x80\xFD[a.P\x87\x82\x86\x01a,\x1CV[``\x83\x01RP`\xC0\x83\x015\x82\x81\x11\x15a.hW`\0\x80\xFD[a.t\x87\x82\x86\x01a,\xD1V[`\x80\x83\x01RP`\xE0\x83\x015\x82\x81\x11\x15a.\x8CW`\0\x80\xFD[a.\x98\x87\x82\x86\x01a*\x8EV[`\xA0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa.\xB9\x81\x84` \x89\x01a&\x93V[\x84Q\x90\x83\x01\x90a.\xCD\x81\x83` \x89\x01a&\x93V[\x84Q\x91\x01\x90a.\xE0\x81\x83` \x88\x01a&\x93V[\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a.\xFDW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0` \x80\x83R`\xE0\x83\x01\x84Q\x82\x85\x01R\x81\x85\x01Q`@\x85\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x86\x01Q\x16``\x85\x01R``\x85\x01Q`\x80\x85\x01R`\x80\x85\x01Q`\xA0\x85\x01R`\xA0\x85\x01Q`\xC0\x80\x86\x01R\x81\x81Q\x80\x84Ra\x01\0\x87\x01\x91P\x84\x83\x01\x93P`\0\x92P[\x80\x83\x10\x15a,\xC6W\x83Q\x82R\x92\x84\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x84\x01\x90a/~V[\x82\x81R`\0\x82Qa/\xB6\x81` \x85\x01` \x87\x01a&\x93V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x80\x82\x01\x80\x82\x11\x15a!\xFEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a!\xFB` \x83\x01\x84a'lV[`\0` \x80\x83\x85\x03\x12\x15a0$W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0;W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0LW`\0\x80\xFD[\x80Qa0Za,=\x82a+\xF8V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0yW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD5W\x80\x85\x8A\x03\x12\x15a0\x96W`\0\x80\x81\xFD[a0\x9Ea)\xF9V[\x85Qa0\xA9\x81a%\xAAV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC2\x81a%\xAAV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0~V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a \xDF`@\x83\x01\x84a'lV[\x7FV2DutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x85Qa1H\x81`\x15\x85\x01` \x8A\x01a&\x93V[\x85Q\x90\x83\x01\x90a1_\x81`\x15\x84\x01` \x8A\x01a&\x93V[\x85Q\x91\x01\x90a1u\x81`\x15\x84\x01` \x89\x01a&\x93V[\x84Q\x91\x01\x90a1\x8B\x81`\x15\x84\x01` \x88\x01a&\x93V[\x01`\x15\x01\x96\x95PPPPPPV[`\0a\x01@a1\xC9\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\n`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2?\x81\x84\x01\x86a&\xB7V[\x90P\x82\x81\x03a\x01 \x84\x01Ra2T\x81\x85a&\xB7V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 5\xA2]\x96\x82W\x10\"t\x0F\x8E\xB2\xBB\xFF\xFF\x05\x9F~c\xD5\x9C\x89\xE5}\x981\xCEU\x0C7FZdsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 B\x01\x9A\xBE\x90\xA8\xBEt)\x1D\xC7\xA5CX\xC7\x90\xE3\"{]\xE7\xE5\x7F^\xF1r\xBD\xC0C#\xE0~dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static DEPLOYDUTCHV2_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x89W[`\0\x80\xFD[\0[a\0Pa\0\xACV[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x93\x84\x01Q\x16\x92\x81\x01\x92\x90\x92R\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x9C\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x80V[`@\x80Q\x80\x82\x01\x90\x91R`\0\x80\x82R` \x82\x01R`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FFOUNDRY_REACTOR_OWNER\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01}\x91\x90a\x04\x93V[\x90Pa\x01\xBE`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7FOwner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x03\xC4V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02)W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02=W=`\0\x80>=`\0\xFD[PPPP`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x83`@Qa\x02d\x90a\x04\x86V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02\xA8W=`\0\x80>=`\0\xFD[P\x90Pa\x02\xEA`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x03\xC4V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03UW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03iW=`\0\x80>=`\0\xFD[PPPP`@Q\x80`@\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[a\x04U\x82\x82`@Q`$\x01a\x03\xDA\x92\x91\x90a\x04\xD0V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04YV[PPV[a\x04b\x81a\x04eV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a4\xBD\x80a\x05Z\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04\xA5W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\xC9W`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x04\xFEW` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x04\xE1V[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004\xBD8\x03\x80b\x004\xBD\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xA4b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x1A\xE7\x01Ra3\xA4`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$NV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xFCV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%>V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xDCV[a\x06\x83V[a\0\xB9a\x01l6`\x04a&\0V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xDCV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&dV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xBEV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)-V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BmV[a\x04\xB5\x81a\x0B\xBEV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xBEV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&dV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BmV[a\x08\x86\x81a\x0B\xBEV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)kV[\x81\x01\x90a\n|\x91\x90a-\xAAV[\x90P`\0a\n\x89\x82a\r\x11V[\x90Pa\n\x95\x81\x83a\x0FCV[a\n\x9E\x82a\x11BV[`@\x80Q`\xA0\x81\x01\x82R\x83Q\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q\x93\x86\x01Q\x92\x93\x91\x84\x01\x92a\n\xCF\x92\x90\x91\x90a\x12\xA2V[\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q``\x87\x01Q\x92\x90\x93\x01\x92a\n\xF3\x92\x91\x90a\x13tV[\x81R` \x01\x85\x80` \x01\x90a\x0B\x08\x91\x90a)kV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x82\x90R`\x80\x83\x01Q`@\x81\x01Q\x81Q``\x90\x92\x01Q\x92\x95Pa\x0Bf\x92\x86\x92\x90a\x14[V[PP\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x8EWa\x0B\x8Ea&dV[` \x02` \x01\x01Q\x90Pa\x0B\xA1\x81a\x14\xFCV[a\x0B\xAB\x813a\x19\xECV[a\x0B\xB5\x813a\x1A\xE5V[P`\x01\x01a\x0BrV[\x80Q`\0[\x81\x81\x10\x15a\r\0W`\0\x83\x82\x81Q\x81\x10a\x0B\xDFWa\x0B\xDFa&dV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C`W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x16Wa\x0C\x16a&dV[` \x02` \x01\x01Q\x90Pa\x0CW\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1E'\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xF6V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\xA9Wa\x0C\xA9a&dV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xC3V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1EnV[`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\0\x90`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2b` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a.\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F\x08V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x0E\xDA\x90a\x1F\xA2V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16``\x87\x01R\x92\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x80\x81\x01Q` \x01Q\x81Q``\x01Q\x10\x15a\x0F\x8AW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82`\xA0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0F\xA5\x91\x90a.\xEAV[\x91P\x91P`\0\x83`\xA0\x01Q`@\x81Q\x81\x10a\x0F\xC2Wa\x0F\xC2a&dV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\x80\x01Q`@Q` \x01a\x0F\xEC\x91\x90a/\x0EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x10(\x92\x91` \x01a/\x9EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xA4W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x11\x03WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x11:W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\x80\x80\x82\x01Q\x01Q\x15a\x11\xABW\x80`@\x01Q` \x01Q\x81`\x80\x01Q`\x80\x01Q\x11\x15a\x11\x99W`@Q\x7F\xAC\x91C\xE7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x80\x82\x01Q\x01Q`@\x82\x01Q` \x01R[\x80``\x01QQ\x81`\x80\x01Q`\xA0\x01QQ\x14a\x11\xF2W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\x12\x1AWa\x12\x1Aa&dV[` \x02` \x01\x01Q\x90P`\0\x83`\x80\x01Q`\xA0\x01Q\x83\x81Q\x81\x10a\x12@Wa\x12@a&dV[` \x02` \x01\x01Q\x90P\x80`\0\x14a\x12\x98W\x81` \x01Q\x81\x10\x15a\x12\x90W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01\x81\x90R[PP`\x01\x01a\x11\xF5V[a\x12\xDC`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x13\x1EW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x134\x85` \x01Q\x86`@\x01Q\x86\x86a @V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\x92Wa\x13\x92a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xFBW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\xB0W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x14RWa\x14-\x86\x82\x81Q\x81\x10a\x14\x1EWa\x14\x1Ea&dV[` \x02` \x01\x01Q\x86\x86a \xE7V[\x83\x82\x81Q\x81\x10a\x14?Wa\x14?a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x01V[PP\x93\x92PPPV[a\x14e\x83\x83a!\xB7V[a\x06}W\x80a\x14\xA0W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x11:W`\0\x82\x82\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a&dV[` \x02` \x01\x01Q\x90Pa\x14\xEE\x84a'\x10a\x14\xE0\x91\x90a/\xC4V[` \x83\x01Q\x90a'\x10a\"\x04V[` \x90\x91\x01R`\x01\x01a\x14\xA8V[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15\x1CWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x15s\x90\x85\x90`\x04\x01a/\xFEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x90W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x15\xD6\x91\x90\x81\x01\x90a0\x11V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x15\xEE\x82\x84a/\xC4V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x06Wa\x16\x06a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16oW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x16$W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xC0W\x85`@\x01Q\x81\x81Q\x81\x10a\x16\x93Wa\x16\x93a&dV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x16\xADWa\x16\xADa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x16uV[P`\0\x80`\0[\x84\x81\x10\x15a\x19\xDBW`\0\x87\x82\x81Q\x81\x10a\x16\xE3Wa\x16\xE3a&dV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x17\xA1W\x88\x81\x81Q\x81\x10a\x17\nWa\x17\na&dV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17\x99W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x16\xF0V[P`\0\x80[\x88\x81\x10\x15a\x18bW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x17\xC6Wa\x17\xC6a&dV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x18YW\x85\x15a\x18CW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x18R\x90\x84a/\xC4V[\x92P`\x01\x96P[P`\x01\x01a\x17\xA6V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x18\xDBW\x84\x15a\x18\xC2W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x18\xD4\x90\x82a/\xC4V[\x90P`\x01\x93P[\x80`\0\x03a\x190W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x19>\x81`\x05a'\x10a\"HV[\x82` \x01Q\x11\x15a\x19\xB1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x19\xC6Wa\x19\xC6a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x16\xC7V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x1A=W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x1A\xB9\x90\x84\x90\x86\x90`\x04\x01a0\xE1V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1A\xD1W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1B\xA5\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\xB4`.\x919`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1D\x8C\x94\x93\x92\x91` \x01a1\x10V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1D\xF9\x96\x95\x94\x93\x92`\x04\x01a1\x99V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\x13W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ELWa\x03_\x82\x82a\x1EnV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"\x84V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1E\xC8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\xCDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0F&\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC2Wa\x1F\xC2a&5V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xECW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a 1W`\0a \x1F\x85\x83\x81Q\x81\x10a \x12Wa \x12a&dV[` \x02` \x01\x01Qa#vV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xF2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x83\x85\x03a PWP\x83a \xDFV[\x82\x82\x11a \x89W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a \x97WP\x82a \xDFV[B\x83\x10a \xA5WP\x83a \xDFV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a \xCAWa \xC1\x86\x88\x03\x83\x83a\"HV[\x87\x03\x92Pa \xDCV[a \xD7\x87\x87\x03\x83\x83a\"\x04V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a!FW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\\\x85` \x01Q\x86`@\x01Q\x86\x86a @V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a!\xDBWP\x81B\x11[\x80a!\xFBWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"9W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"}W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#oW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0F&\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\x17W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$/W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$cW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a${W`\0\x80\xFD[a$\x87\x87\x83\x88\x01a#\xEDV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x9DW`\0\x80\xFD[Pa$\xAA\x86\x82\x87\x01a$\x05V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xC9W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xE1W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x0FW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%&W`\0\x80\xFD[a%2\x85\x82\x86\x01a$\xB7V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%TW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%lW`\0\x80\xFD[a%x\x88\x83\x89\x01a$\xB7V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x91W`\0\x80\xFD[Pa%\x9E\x87\x82\x88\x01a$\x05V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a%\xD7\x81a%\xAAV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a%\xEEW`\0\x80\xFD[\x815a%\xF9\x81a%\xAAV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a&\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&)W`\0\x80\xFD[a \xDF\x84\x82\x85\x01a#\xEDV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xAEW\x81\x81\x01Q\x83\x82\x01R` \x01a&\x96V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xCF\x81` \x86\x01` \x86\x01a&\x93V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'aW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x16V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xE0a\x01\xA0\x85\x01\x82a&\xB7V[\x90P` \x83\x01Qa(\x1E` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(6\x82\x82a'\x01V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(P\x82\x82a&\xB7V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xDCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xCA\x86\x83Qa'lV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x90V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)aW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\xA0W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xBBW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$GW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*\x86Wa*\x86a&5V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x9FW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xB9Wa*\xB9a&5V[a*\xEA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*?V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xFFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+.W`\0\x80\xFD[a+6a)\xD0V[\x90P\x815a+C\x81a%\xAAV[\x81R` \x82\x015a+S\x81a%\xAAV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a+|\x81a%\xAAV[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a+\x9BW`\0\x80\xFD[a+\xA7\x84\x82\x85\x01a*\x8EV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xC5W`\0\x80\xFD[a+\xCDa)\xF9V[\x90P\x815a+\xDA\x81a%\xAAV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,\x12Wa,\x12a&5V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,-W`\0\x80\xFD[\x815` a,Ba,=\x83a+\xF8V[a*?V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,aW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xC6W`\x80\x81\x89\x03\x12\x15a,~W`\0\x80\x81\xFD[a,\x86a*\x1CV[\x815a,\x91\x81a%\xAAV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xB4\x81a%\xAAV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,eV[P\x96\x95PPPPPPV[`\0`\xC0\x82\x84\x03\x12\x15a,\xE3W`\0\x80\xFD[a,\xEBa)\xD0V[\x90P\x815\x81R` \x80\x83\x015\x81\x83\x01R`@\x83\x015a-\t\x81a%\xAAV[\x80`@\x84\x01RP``\x83\x015``\x83\x01R`\x80\x83\x015`\x80\x83\x01R`\xA0\x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a->W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-OW`\0\x80\xFD[\x805a-]a,=\x82a+\xF8V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x83\x01\x90\x83\x81\x01\x90\x87\x83\x11\x15a-|W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a-\x9AW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a-\x81V[`\xA0\x86\x01RP\x92\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a-\xBCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-\xD4W`\0\x80\xFD[\x90\x83\x01\x90a\x01\0\x82\x86\x03\x12\x15a-\xE9W`\0\x80\xFD[a-\xF1a)\xD0V[\x825\x82\x81\x11\x15a.\0W`\0\x80\xFD[a.\x0C\x87\x82\x86\x01a+\x1CV[\x82RPa.\x1B` \x84\x01a%\xCCV[` \x82\x01Ra.-\x86`@\x85\x01a+\xB3V[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a.DW`\0\x80\xFD[a.P\x87\x82\x86\x01a,\x1CV[``\x83\x01RP`\xC0\x83\x015\x82\x81\x11\x15a.hW`\0\x80\xFD[a.t\x87\x82\x86\x01a,\xD1V[`\x80\x83\x01RP`\xE0\x83\x015\x82\x81\x11\x15a.\x8CW`\0\x80\xFD[a.\x98\x87\x82\x86\x01a*\x8EV[`\xA0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa.\xB9\x81\x84` \x89\x01a&\x93V[\x84Q\x90\x83\x01\x90a.\xCD\x81\x83` \x89\x01a&\x93V[\x84Q\x91\x01\x90a.\xE0\x81\x83` \x88\x01a&\x93V[\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a.\xFDW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0` \x80\x83R`\xE0\x83\x01\x84Q\x82\x85\x01R\x81\x85\x01Q`@\x85\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x86\x01Q\x16``\x85\x01R``\x85\x01Q`\x80\x85\x01R`\x80\x85\x01Q`\xA0\x85\x01R`\xA0\x85\x01Q`\xC0\x80\x86\x01R\x81\x81Q\x80\x84Ra\x01\0\x87\x01\x91P\x84\x83\x01\x93P`\0\x92P[\x80\x83\x10\x15a,\xC6W\x83Q\x82R\x92\x84\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x84\x01\x90a/~V[\x82\x81R`\0\x82Qa/\xB6\x81` \x85\x01` \x87\x01a&\x93V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x80\x82\x01\x80\x82\x11\x15a!\xFEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a!\xFB` \x83\x01\x84a'lV[`\0` \x80\x83\x85\x03\x12\x15a0$W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0;W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0LW`\0\x80\xFD[\x80Qa0Za,=\x82a+\xF8V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0yW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD5W\x80\x85\x8A\x03\x12\x15a0\x96W`\0\x80\x81\xFD[a0\x9Ea)\xF9V[\x85Qa0\xA9\x81a%\xAAV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC2\x81a%\xAAV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0~V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a \xDF`@\x83\x01\x84a'lV[\x7FV2DutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x85Qa1H\x81`\x15\x85\x01` \x8A\x01a&\x93V[\x85Q\x90\x83\x01\x90a1_\x81`\x15\x84\x01` \x8A\x01a&\x93V[\x85Q\x91\x01\x90a1u\x81`\x15\x84\x01` \x89\x01a&\x93V[\x84Q\x91\x01\x90a1\x8B\x81`\x15\x84\x01` \x88\x01a&\x93V[\x01`\x15\x01\x96\x95PPPPPPV[`\0a\x01@a1\xC9\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\n`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2?\x81\x84\x01\x86a&\xB7V[\x90P\x82\x81\x03a\x01 \x84\x01Ra2T\x81\x85a&\xB7V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 5\xA2]\x96\x82W\x10\"t\x0F\x8E\xB2\xBB\xFF\xFF\x05\x9F~c\xD5\x9C\x89\xE5}\x981\xCEU\x0C7FZdsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 B\x01\x9A\xBE\x90\xA8\xBEt)\x1D\xC7\xA5CX\xC7\x90\xE3\"{]\xE7\xE5\x7F^\xF1r\xBD\xC0C#\xE0~dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static DEPLOYDUTCHV2_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct DeployDutchV2(::ethers::contract::Contract); + impl ::core::clone::Clone for DeployDutchV2 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for DeployDutchV2 { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for DeployDutchV2 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for DeployDutchV2 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(DeployDutchV2)) + .field(&self.address()) + .finish() + } + } + impl DeployDutchV2 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYDUTCHV2_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + DEPLOYDUTCHV2_ABI.clone(), + DEPLOYDUTCHV2_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `IS_SCRIPT` (0xf8ccbf47) function + pub fn is_script(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([248, 204, 191, 71], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `run` (0xc0406226) function + pub fn run( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([192, 64, 98, 38], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setUp` (0x0a9254e4) function + pub fn set_up(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([10, 146, 84, 228], ()) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for DeployDutchV2 { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Container type for all input parameters for the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] + pub struct IsScriptCall; + ///Container type for all input parameters for the `run` function with signature `run()` and selector `0xc0406226` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "run", abi = "run()")] + pub struct RunCall; + ///Container type for all input parameters for the `setUp` function with signature `setUp()` and selector `0x0a9254e4` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setUp", abi = "setUp()")] + pub struct SetUpCall; + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum DeployDutchV2Calls { + IsScript(IsScriptCall), + Run(RunCall), + SetUp(SetUpCall), + } + impl ::ethers::core::abi::AbiDecode for DeployDutchV2Calls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsScript(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Run(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetUp(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for DeployDutchV2Calls { + fn encode(self) -> Vec { + match self { + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), + } + } + } + impl ::core::fmt::Display for DeployDutchV2Calls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::IsScript(element) => ::core::fmt::Display::fmt(element, f), + Self::Run(element) => ::core::fmt::Display::fmt(element, f), + Self::SetUp(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for DeployDutchV2Calls { + fn from(value: IsScriptCall) -> Self { + Self::IsScript(value) + } + } + impl ::core::convert::From for DeployDutchV2Calls { + fn from(value: RunCall) -> Self { + Self::Run(value) + } + } + impl ::core::convert::From for DeployDutchV2Calls { + fn from(value: SetUpCall) -> Self { + Self::SetUp(value) + } + } + ///Container type for all return fields from the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsScriptReturn(pub bool); + ///Container type for all return fields from the `run` function with signature `run()` and selector `0xc0406226` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct RunReturn { + pub deployment: V2DutchOrderDeployment, + } + ///`V2DutchOrderDeployment(address,address)` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct V2DutchOrderDeployment { + pub permit_2: ::ethers::core::types::Address, + pub reactor: ::ethers::core::types::Address, + } +} diff --git a/crates/bindings-uniswapx/src/deploy_exclusive_dutch.rs b/crates/bindings-uniswapx/src/deploy_exclusive_dutch.rs index 140a1eb..47f0f77 100644 --- a/crates/bindings-uniswapx/src/deploy_exclusive_dutch.rs +++ b/crates/bindings-uniswapx/src/deploy_exclusive_dutch.rs @@ -7,7 +7,7 @@ pub use deploy_exclusive_dutch::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod deploy_exclusive_dutch { #[allow(deprecated)] @@ -17,49 +17,63 @@ pub mod deploy_exclusive_dutch { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("run"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("run"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deployment"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ExclusiveDutchDeployment",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deployment"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct ExclusiveDutchDeployment", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setUp"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setUp"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -69,18 +83,21 @@ pub mod deploy_exclusive_dutch { } } ///The parsed JSON ABI of the contract. - pub static DEPLOYEXCLUSIVEDUTCH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DEPLOYEXCLUSIVEDUTCH_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x04\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x0C\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pam\xB5\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB1V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x019W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01MW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01tWa\x01ra\x03\x9BV[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xAB\x90a\x05(V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xEFW=`\0\x80>=`\0\xFD[P\x90Pa\x021`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[`\0\x80`\0\x1B`@Qa\x02C\x90a\x055V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02cW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xA5`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x10W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03$W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aI\xC0a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\x1E\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xA6V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x048W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04LW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xF7\x82\x82`@Q`$\x01a\x04|\x92\x91\x90a\x05\xDDV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04\xFBV[PPV[a\x05\x04\x81a\x05\x07V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a5\x18\x80a\x06\x16\x839\x01\x90V[a\x0E\x92\x80a;.\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05hW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05LV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xD5`@\x83\x01\x84a\x05BV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF0`@\x83\x01\x85a\x05BV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x005\x188\x03\x80b\x005\x18\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xF8b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x15\xC6\x01Ra\x19\xC2\x01Ra3\xF8`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a&tV[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a&\xF7V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a'\x1BV[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a&\xF7V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea'\xFCV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xECV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\xAC\x81a\x1C\xF8V[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xF7W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80` \x01Q\x81`@\x01Q\x10\x15a\n9W`@Q\x7FH\xFE\xE6\x9C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\xE3W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\n\xE1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\ntWa\nta'\xFCV[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\n\x96Wa\n\x96a'\xFCV[` \x02` \x01\x01Q` \x01Q\x14a\n\xD9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\nQV[P[PV[a\x0B `@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0BbW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Bx\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xD6Wa\x0B\xD6a'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0C?W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xF4W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C\x96Wa\x0Cq\x86\x82\x81Q\x81\x10a\x0CbWa\x0Cba'\xFCV[` \x02` \x01\x01Q\x86\x86a\x1EUV[\x83\x82\x81Q\x81\x10a\x0C\x83Wa\x0C\x83a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CEV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2\xB6` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a/|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F%V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q\x86`\x80\x01Q\x87`\xA0\x01Q`\0\x01Q\x88`\xA0\x01Q` \x01Q\x89`\xA0\x01Q`@\x01Qa\x0E\xF0\x8B`\xC0\x01Qa\x1F\xBFV[`@\x80Q` \x81\x01\x9B\x90\x9BR\x8A\x01\x98\x90\x98R``\x89\x01\x96\x90\x96R`\x80\x88\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\xA0\x88\x01R`\xC0\x87\x01\x91\x90\x91R\x16`\xE0\x85\x01Ra\x01\0\x84\x01Ra\x01 \x83\x01Ra\x01@\x82\x01Ra\x01`\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[a\x0F{\x83\x83a ]V[a\x02\xB0W\x80a\x0F\xB6W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\t\xACW`\0\x82\x82\x81Q\x81\x10a\x0F\xDBWa\x0F\xDBa'\xFCV[` \x02` \x01\x01Q\x90Pa\x10\x04\x84a'\x10a\x0F\xF6\x91\x90a/\xEEV[` \x83\x01Q\x90a'\x10a \xAAV[` \x90\x91\x01R`\x01\x01a\x0F\xBEV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x102WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x10\x89\x90\x85\x90`\x04\x01a0\x01V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\xA6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x10\xEC\x91\x90\x81\x01\x90a0\x14V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\x04\x82\x84a/\xEEV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\x1CWa\x11\x1Ca'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x11\x85W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11:W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x11\xD6W\x85`@\x01Q\x81\x81Q\x81\x10a\x11\xA9Wa\x11\xA9a'\xFCV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x11\xC3Wa\x11\xC3a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x11\x8BV[P`\0[\x82\x81\x10\x15a\x14}W`\0\x85\x82\x81Q\x81\x10a\x11\xF6Wa\x11\xF6a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x12\xB4W\x86\x81\x81Q\x81\x10a\x12\x1DWa\x12\x1Da'\xFCV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x12\xACW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x12\x03V[P`\0\x80[\x86\x81\x10\x15a\x139W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x12\xD9Wa\x12\xD9a'\xFCV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x130W` \x81\x01Qa\x13-\x90\x84a/\xEEV[\x92P[P`\x01\x01a\x12\xB9V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x13vW` \x80\x89\x01Q\x01Qa\x13s\x90\x82a/\xEEV[\x90P[\x80`\0\x03a\x13\xCBW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x13\xD9\x81`\x05a'\x10a \xAAV[\x82` \x01Q\x11\x15a\x14LW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x14X\x85\x89a/\xEEV[\x81Q\x81\x10a\x14hWa\x14ha'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x11\xDAV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x14\xDDW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x15\x1CW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\xE1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x15\x98\x90\x84\x90\x86\x90`\x04\x01a0\xE4V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15\xB0W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x16\x84\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a36\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a3\x08`.\x919`@Q` \x01a\x18\xBC\x94\x93\x92\x91\x90a1\x13V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x19)\x96\x95\x94\x93\x92`\x04\x01a1\x9CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x1A\x1FW`\0\x82\x82\x81Q\x81\x10a\x19wWa\x19wa'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1A\x15W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xA9Wa\x19\xA9a'\xFCV[` \x02` \x01\x01Q\x90Pa\x1A\x0C\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a \xE6\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x19\x84V[PP`\x01\x01a\x19ZV[PG\x15a\n\xE3Wa\n\xE3`\x003Ga\"cV[```\0\x80[\x83Q\x81\x10\x15a\x1AqW\x83\x81\x81Q\x81\x10a\x1ASWa\x1ASa'\xFCV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x1A8V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\x8BWa\x1A\x8Ba'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xF4W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\xA9W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1C\xF0W`\0\x84\x82\x81Q\x81\x10a\x1B\x19Wa\x1B\x19a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1C\xE6W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x1BKWa\x1BKa'\xFCV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1C'W`\0\x88\x82\x81Q\x81\x10a\x1BuWa\x1Bua'\xFCV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1B\xF5WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1C\x1EW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1C\x14\x91\x90a/\xEEV[\x90RPa\x1C'\x90PV[P`\x01\x01a\x1BYV[P\x80a\x1C\xDCW`@\x82\x01Q\x82Q`\0\x91a\x1CW\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a#>V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1C\xB4\x91\x90a/\xEEV[\x81RP\x88\x88\x81Q\x81\x10a\x1C\xC9Wa\x1C\xC9a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x1B&V[PP`\x01\x01a\x1A\xFCV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\xE1W`\0\x82\x82\x81Q\x81\x10a\x1D\x18Wa\x1D\x18a'\xFCV[` \x02` \x01\x01Q\x90P`\0a\x1DU\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a#>\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1D\xA6W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1D\xB3\x90a2dV[\x91PPa\x1C\xFBV[`\0\x82\x82\x10\x15a\x1D\xF7W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1E\x05WP\x82a\x1EMV[B\x83\x10a\x1E\x13WP\x83a\x1EMV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E8Wa\x1E/\x86\x88\x03\x83\x83a \xAAV[\x87\x03\x92Pa\x1EJV[a\x1EE\x87\x87\x03\x83\x83a \xAAV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\xB4W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\xCA\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0FT\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xDFWa\x1F\xDFa'\xCDV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \tW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a NW`\0a <\x85\x83\x81Q\x81\x10a /Wa /a'\xFCV[` \x02` \x01\x01Qa$\tV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a \x0FV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a \x81WP\x81B\x11[\x80a \xA1WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xDFW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a!\xA1W`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a![W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!`V[``\x91P[PP\x90P\x80a!\x9BW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a!\xC8\x86a$\x80V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\"EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"YW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#\x18W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xD8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xDDV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a#9s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a%*V[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#yWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a \xA4V[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a#\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a \xA1\x91\x90a2\x9CV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0FT\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xE3W`\0\x80\xFD[\x805a&&\x81a%\xF9V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&mW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&\x8AW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xA2W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a&\xB6W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a&\xC8\x82a%\xF9V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\xDEW`\0\x80\xFD[Pa&\xEB\x87\x82\x88\x01a&+V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a'\tW`\0\x80\xFD[\x815a'\x14\x81a%\xF9V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a'3W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'KW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'_W`\0\x80\xFD[\x815\x81\x81\x11\x15a'nW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x83W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'\x99` \x89\x01a&\x1BV[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a'\xAFW`\0\x80\xFD[Pa'\xBC\x88\x82\x89\x01a&+V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a(_W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x9EW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xB9W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&mW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\x84Wa)\x84a'\xCDV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)\xB7Wa)\xB7a'\xCDV[a)\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a)=V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a*,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a*PWa*Pa'\xCDV[\x81`@R\x82\x93P\x845\x91Pa*d\x82a%\xF9V[\x90\x82R` \x84\x015\x90a*v\x82a%\xF9V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\xA0\x82a%\xF9V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*\xBAW`\0\x80\xFD[Pa*\xC7\x85\x82\x86\x01a)\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\xE6W`\0\x80\xFD[a*\xEEa(\xCEV[\x90P\x815a*\xFB\x81a%\xF9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+3Wa+3a'\xCDV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a+NW`\0\x80\xFD[\x815` a+ca+^\x83a+\x19V[a)=V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a+\x82W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+\xE7W`\x80\x81\x89\x03\x12\x15a+\x9FW`\0\x80\x81\xFD[a+\xA7a(\xF7V[\x815a+\xB2\x81a%\xF9V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+\xD5\x81a%\xF9V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a+\x86V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\x04W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,\x1CW`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a,1W`\0\x80\xFD[a,9a)\x1AV[\x825\x82\x81\x11\x15a,HW`\0\x80\xFD[a,T\x87\x82\x86\x01a*\x1AV[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra,w``\x84\x01a&\x1BV[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\x93\x86`\xA0\x85\x01a*\xD4V[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,\xABW`\0\x80\xFD[a,\xB7\x87\x82\x86\x01a+=V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a,\xE1W\x81\x81\x01Q\x83\x82\x01R` \x01a,\xC9V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra-\x02\x81` \x86\x01` \x86\x01a,\xC6V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a-\x93W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a-HV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra.\x12a\x01\xA0\x85\x01\x82a,\xEAV[\x90P` \x83\x01Qa.P` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra.h\x82\x82a-4V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra.\x82\x82\x82a,\xEAV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a/\x0EW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra.\xFC\x86\x83Qa-\x9EV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a.\xC2V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x84Qa/\x8E\x81\x84` \x89\x01a,\xC6V[\x84Q\x90\x83\x01\x90a/\xA2\x81\x83` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a/\xB5\x81\x83` \x88\x01a,\xC6V[\x01\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a \xA4Wa \xA4a/\xBFV[` \x81R`\0a \xA1` \x83\x01\x84a-\x9EV[`\0` \x80\x83\x85\x03\x12\x15a0'W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0>W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0OW`\0\x80\xFD[\x80Qa0]a+^\x82a+\x19V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0|W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD8W\x80\x85\x8A\x03\x12\x15a0\x99W`\0\x80\x81\xFD[a0\xA1a(\xCEV[\x85Qa0\xAC\x81a%\xF9V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC5\x81a%\xF9V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0\x81V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1EM`@\x83\x01\x84a-\x9EV[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa1K\x81`\x1C\x85\x01` \x8A\x01a,\xC6V[\x85Q\x90\x83\x01\x90a1b\x81`\x1C\x84\x01` \x8A\x01a,\xC6V[\x85Q\x91\x01\x90a1x\x81`\x1C\x84\x01` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a1\x8E\x81`\x1C\x84\x01` \x88\x01a,\xC6V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a1\xCC\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\r`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2B\x81\x84\x01\x86a,\xEAV[\x90P\x82\x81\x03a\x01 \x84\x01Ra2W\x81\x85a,\xEAV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x95Wa2\x95a/\xBFV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2\xAEW`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \x902Q\xD0\x0Ex({\x8D\xA3\xD9`\xDA\xA9\xF7v\xC1\xFA\xEC\\\xA8o\x1D\x90R\xF5\xEF\xA1\x02\xC9S0dsolcC\0\x08\x13\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x0Er\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cvq\xD0{\x14a\0oW\x80c\x99C\xFA\x89\x14a\0\xB0W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xE2V[a\0\xC5V[`@Qa\0f\x91\x90a\x06\x1EV[`@Q\x80\x91\x03\x90\xF3[a\0\x8Ba\0}6`\x04a\x07HV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[a\0\xC3a\0\xBE6`\x04a\t[V[a\x02!V[\0[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x83\x81\x01Q\x84\x01\x81\x01Q\x81Q\x80\x83\x01\x83R\x85\x81R` \x80\x82\x01\x86\x90R\x83Q\x90\x81\x01\x84R`\0\x81R\x92Q\x7F\x05\xAF\xC9w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x92c\x05\xAF\xC9w\x92a\x01\xAF\x92\x910\x91`\x04\x01a\n\xFBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \r[e\xE3\xCC\xBBa\x9Br<\x19\xF9L/}\xBE_L;\xCA\xAFa\xC5\x15\x10\xEFQ%\x19:v\x89dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[Pai\xA2\x80a\x001`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01?W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01SW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01zWa\x01xa\x03\xA1V[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xB1\x90a\x05.V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xF5W=`\0\x80>=`\0\xFD[P\x90Pa\x027`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[`\0\x80`\0\x1B`@Qa\x02I\x90a\x05;V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02iW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xAB`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x16W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03*W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aE\xADa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04$\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xACV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x04>W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04RW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xFD\x82\x82`@Q`$\x01a\x04\x82\x92\x91\x90a\x05\xE3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\x01V[PPV[a\x05\n\x81a\x05\rV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a1x\x80a\x06\x1C\x839\x01\x90V[a\x0E\x19\x80a7\x94\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05nW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05RV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xDB`@\x83\x01\x84a\x05HV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF6`@\x83\x01\x85a\x05HV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x001x8\x03\x80b\x001x\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa0_b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x19\x10\x01Ra0_`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\"\xC2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a#pV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a#\xB2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a$PV[a\x06\x83V[a\0\xB9a\x01l6`\x04a$tV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a$PV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a$\xD8V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB3V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a'\xA1V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BbV[a\x04\xB5\x81a\x0B\xB3V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB3V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia$\xD8V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BbV[a\x08\x86\x81a\x0B\xB3V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a'\xDFV[\x81\x01\x90a\n|\x91\x90a+hV[\x90Pa\n\x87\x81a\r\x06V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85`\xA0\x01Qa\r\xF1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\xC0\x01Qa\x0E\xC3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a'\xDFV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\xAAV[\x90R``\x82\x01Q` \x83\x01Q`\x80\x84\x01Q\x92\x94Pa\x0B\\\x92\x85\x92\x91\x90a\x12|V[P\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x83Wa\x0B\x83a$\xD8V[` \x02` \x01\x01Q\x90Pa\x0B\x96\x81a\x13%V[a\x0B\xA0\x813a\x18\x15V[a\x0B\xAA\x813a\x19\x0EV[P`\x01\x01a\x0BgV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF5W`\0\x83\x82\x81Q\x81\x10a\x0B\xD4Wa\x0B\xD4a$\xD8V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CUW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x0BWa\x0C\x0Ba$\xD8V[` \x02` \x01\x01Q\x90Pa\x0CL\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1C\xA1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xEBV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9EWa\x0C\x9Ea$\xD8V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE3\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB8V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1C\xE8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\rIW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\x04\xC1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\r\x84Wa\r\x84a$\xD8V[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\r\xA6Wa\r\xA6a$\xD8V[` \x02` \x01\x01Q` \x01Q\x14a\r\xE9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\raV[a\x0E+`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EmW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0E\x83\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xE1Wa\x0E\xE1a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FJW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xFFW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xA1Wa\x0F|\x86\x82\x81Q\x81\x10a\x0FmWa\x0Fma$\xD8V[` \x02` \x01\x01Q\x86\x86a\x1E)V[\x83\x82\x81Q\x81\x10a\x0F\x8EWa\x0F\x8Ea$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FPV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a/\x1D` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919`@Q` \x01a\x11\x9C\x93\x92\x91\x90a,=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x13\xFF\x91\x90\x81\x01\x90a,\xCCV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\x17\x82\x84a,\x7FV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14/Wa\x14/a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\x98W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14MW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xE9W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xBCWa\x14\xBCa$\xD8V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xD6Wa\x14\xD6a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x9EV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\x04W`\0\x87\x82\x81Q\x81\x10a\x15\x0CWa\x15\x0Ca$\xD8V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xCAW\x88\x81\x81Q\x81\x10a\x153Wa\x153a$\xD8V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15\xC2W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\x19V[P`\0\x80[\x88\x81\x10\x15a\x16\x8BW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x15\xEFWa\x15\xEFa$\xD8V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x82W\x85\x15a\x16lW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x16{\x90\x84a,\x7FV[\x92P`\x01\x96P[P`\x01\x01a\x15\xCFV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\x04W\x84\x15a\x16\xEBW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x16\xFD\x90\x82a,\x7FV[\x90P`\x01\x93P[\x80`\0\x03a\x17YW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x17g\x81`\x05a'\x10a \xC2V[\x82` \x01Q\x11\x15a\x17\xDAW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x17\xEFWa\x17\xEFa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x14\xF0V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x18fW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x18\xE2\x90\x84\x90\x86\x90`\x04\x01a-\x9CV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x18\xFAW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xCE\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a/\x9D\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a/o`.\x919`@Q` \x01a\x1C\x06\x94\x93\x92\x91\x90a-\xCBV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1Cs\x96\x95\x94\x93\x92`\x04\x01a.TV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1C\x8DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1C\xC6Wa\x03_\x82\x82a\x1C\xE8V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a \xFEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1DBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1DGV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1D\x92WP\x83a\x1E!V[\x82\x82\x11a\x1D\xCBW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1D\xD9WP\x82a\x1E!V[B\x83\x10a\x1D\xE7WP\x83a\x1E!V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E\x0CWa\x1E\x03\x86\x88\x03\x83\x83a \xC2V[\x87\x03\x92Pa\x1E\x1EV[a\x1E\x19\x87\x87\x03\x83\x83a ~V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\x88W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\x9E\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x12_\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xB3Wa\x1F\xB3a$\xA9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xDDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a \"W`\0a \x10\x85\x83\x81Q\x81\x10a \x03Wa \x03a$\xD8V[` \x02` \x01\x01Qa!\xF0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xE3V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a UWP\x81B\x11[\x80a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xB3W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xF7W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a!\xE9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x12_\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\"\x8BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xA3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\"\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xEFW`\0\x80\xFD[a\"\xFB\x87\x83\x88\x01a\"gV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a#\x11W`\0\x80\xFD[Pa#\x1E\x86\x82\x87\x01a\"yV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a#=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a#\x83W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x9AW`\0\x80\xFD[a#\xA6\x85\x82\x86\x01a#+V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a#\xC8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#\xE0W`\0\x80\xFD[a#\xEC\x88\x83\x89\x01a#+V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a$\x05W`\0\x80\xFD[Pa$\x12\x87\x82\x88\x01a\"yV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a$K\x81a$\x1EV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$bW`\0\x80\xFD[\x815a$m\x81a$\x1EV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a$\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\x9DW`\0\x80\xFD[a\x1E!\x84\x82\x85\x01a\"gV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a%\"W\x81\x81\x01Q\x83\x82\x01R` \x01a%\nV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra%C\x81` \x86\x01` \x86\x01a%\x07V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a%\xD5W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a%\x8AV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra&Ta\x01\xA0\x85\x01\x82a%+V[\x90P` \x83\x01Qa&\x92` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra&\xAA\x82\x82a%uV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra&\xC4\x82\x82a%+V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a'PW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra'>\x86\x83Qa%\xE0V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a'\x04V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a'\xD5W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x14W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(/W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\"\xBBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xFAWa(\xFAa$\xA9V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x13W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)-Wa)-a$\xA9V[a)^` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a(\xB3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)sW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a)\xA2W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a)\xC6Wa)\xC6a$\xA9V[\x81`@R\x82\x93P\x845\x91Pa)\xDA\x82a$\x1EV[\x90\x82R` \x84\x015\x90a)\xEC\x82a$\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\x16\x82a$\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*0W`\0\x80\xFD[Pa*=\x85\x82\x86\x01a)\x02V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\\W`\0\x80\xFD[a*da(DV[\x90P\x815a*q\x81a$\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a*\xA9Wa*\xA9a$\xA9V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a*\xC4W`\0\x80\xFD[\x815` a*\xD9a*\xD4\x83a*\x8FV[a(\xB3V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a*\xF8W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+]W`\x80\x81\x89\x03\x12\x15a+\x15W`\0\x80\x81\xFD[a+\x1Da(mV[\x815a+(\x81a$\x1EV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+K\x81a$\x1EV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a*\xFCV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a+zW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a+\x92W`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a+\xA7W`\0\x80\xFD[a+\xAFa(\x90V[\x825\x82\x81\x11\x15a+\xBEW`\0\x80\xFD[a+\xCA\x87\x82\x86\x01a)\x90V[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra+\xED``\x84\x01a$@V[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\t\x86`\xA0\x85\x01a*JV[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,!W`\0\x80\xFD[a,-\x87\x82\x86\x01a*\xB3V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa,N\x81\x84` \x89\x01a%\x07V[\x84Q\x90\x83\x01\x90a,b\x81\x83` \x89\x01a%\x07V[\x84Q\x91\x01\x90a,u\x81\x83` \x88\x01a%\x07V[\x01\x95\x94PPPPPV[\x80\x82\x01\x80\x82\x11\x15a xW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a u` \x83\x01\x84a%\xE0V[`\0` \x80\x83\x85\x03\x12\x15a,\xDFW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xF6W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x07W`\0\x80\xFD[\x80Qa-\x15a*\xD4\x82a*\x8FV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-4W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x90W\x80\x85\x8A\x03\x12\x15a-QW`\0\x80\x81\xFD[a-Ya(DV[\x85Qa-d\x81a$\x1EV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-}\x81a$\x1EV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-9V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1E!`@\x83\x01\x84a%\xE0V[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa.\x03\x81`\x1C\x85\x01` \x8A\x01a%\x07V[\x85Q\x90\x83\x01\x90a.\x1A\x81`\x1C\x84\x01` \x8A\x01a%\x07V[\x85Q\x91\x01\x90a.0\x81`\x1C\x84\x01` \x89\x01a%\x07V[\x84Q\x91\x01\x90a.F\x81`\x1C\x84\x01` \x88\x01a%\x07V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a.\x84\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xC5`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xFA\x81\x84\x01\x86a%+V[\x90P\x82\x81\x03a\x01 \x84\x01Ra/\x0F\x81\x85a%+V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xE1n\xF4'\xD4\x9B\xC9z\x86\xF1R%\xBD\xEB\x99q;\xB6`\xC0\xCEo\xDC_\xBF\x86\xB8d\xF9T.tdsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xF3\xBC3|%\xF0\xA4=\x9C\x08\xB4\xBA\x967\xADX\x16\xAB\x1B\xD4}bH\xE4\x84\xEF\x13eE=\xC9\xC0dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DEPLOYEXCLUSIVEDUTCH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DEPLOYEXCLUSIVEDUTCH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB1V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x019W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01MW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01tWa\x01ra\x03\x9BV[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xAB\x90a\x05(V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xEFW=`\0\x80>=`\0\xFD[P\x90Pa\x021`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[`\0\x80`\0\x1B`@Qa\x02C\x90a\x055V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02cW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xA5`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04fV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x10W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03$W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aI\xC0a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\x1E\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xA6V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x048W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04LW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xF7\x82\x82`@Q`$\x01a\x04|\x92\x91\x90a\x05\xDDV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x04\xFBV[PPV[a\x05\x04\x81a\x05\x07V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a5\x18\x80a\x06\x16\x839\x01\x90V[a\x0E\x92\x80a;.\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05hW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05LV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xD5`@\x83\x01\x84a\x05BV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF0`@\x83\x01\x85a\x05BV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x005\x188\x03\x80b\x005\x18\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xF8b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x15\xC6\x01Ra\x19\xC2\x01Ra3\xF8`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a&tV[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a&\xF7V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a'\x1BV[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a&\xF7V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea'\xFCV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xECV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\xAC\x81a\x1C\xF8V[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xF7W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80` \x01Q\x81`@\x01Q\x10\x15a\n9W`@Q\x7FH\xFE\xE6\x9C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\xE3W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\n\xE1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\ntWa\nta'\xFCV[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\n\x96Wa\n\x96a'\xFCV[` \x02` \x01\x01Q` \x01Q\x14a\n\xD9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\nQV[P[PV[a\x0B `@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0BbW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Bx\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xD6Wa\x0B\xD6a'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0C?W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xF4W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C\x96Wa\x0Cq\x86\x82\x81Q\x81\x10a\x0CbWa\x0Cba'\xFCV[` \x02` \x01\x01Q\x86\x86a\x1EUV[\x83\x82\x81Q\x81\x10a\x0C\x83Wa\x0C\x83a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CEV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2\xB6` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a/|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F%V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q\x86`\x80\x01Q\x87`\xA0\x01Q`\0\x01Q\x88`\xA0\x01Q` \x01Q\x89`\xA0\x01Q`@\x01Qa\x0E\xF0\x8B`\xC0\x01Qa\x1F\xBFV[`@\x80Q` \x81\x01\x9B\x90\x9BR\x8A\x01\x98\x90\x98R``\x89\x01\x96\x90\x96R`\x80\x88\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\xA0\x88\x01R`\xC0\x87\x01\x91\x90\x91R\x16`\xE0\x85\x01Ra\x01\0\x84\x01Ra\x01 \x83\x01Ra\x01@\x82\x01Ra\x01`\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[a\x0F{\x83\x83a ]V[a\x02\xB0W\x80a\x0F\xB6W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\t\xACW`\0\x82\x82\x81Q\x81\x10a\x0F\xDBWa\x0F\xDBa'\xFCV[` \x02` \x01\x01Q\x90Pa\x10\x04\x84a'\x10a\x0F\xF6\x91\x90a/\xEEV[` \x83\x01Q\x90a'\x10a \xAAV[` \x90\x91\x01R`\x01\x01a\x0F\xBEV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x102WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x10\x89\x90\x85\x90`\x04\x01a0\x01V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\xA6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x10\xEC\x91\x90\x81\x01\x90a0\x14V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\x04\x82\x84a/\xEEV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\x1CWa\x11\x1Ca'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x11\x85W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11:W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x11\xD6W\x85`@\x01Q\x81\x81Q\x81\x10a\x11\xA9Wa\x11\xA9a'\xFCV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x11\xC3Wa\x11\xC3a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x11\x8BV[P`\0[\x82\x81\x10\x15a\x14}W`\0\x85\x82\x81Q\x81\x10a\x11\xF6Wa\x11\xF6a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x12\xB4W\x86\x81\x81Q\x81\x10a\x12\x1DWa\x12\x1Da'\xFCV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x12\xACW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x12\x03V[P`\0\x80[\x86\x81\x10\x15a\x139W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x12\xD9Wa\x12\xD9a'\xFCV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x130W` \x81\x01Qa\x13-\x90\x84a/\xEEV[\x92P[P`\x01\x01a\x12\xB9V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x13vW` \x80\x89\x01Q\x01Qa\x13s\x90\x82a/\xEEV[\x90P[\x80`\0\x03a\x13\xCBW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x13\xD9\x81`\x05a'\x10a \xAAV[\x82` \x01Q\x11\x15a\x14LW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x14X\x85\x89a/\xEEV[\x81Q\x81\x10a\x14hWa\x14ha'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x11\xDAV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x14\xDDW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x15\x1CW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\xE1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x15\x98\x90\x84\x90\x86\x90`\x04\x01a0\xE4V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15\xB0W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x16\x84\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a36\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a3\x08`.\x919`@Q` \x01a\x18\xBC\x94\x93\x92\x91\x90a1\x13V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x19)\x96\x95\x94\x93\x92`\x04\x01a1\x9CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x1A\x1FW`\0\x82\x82\x81Q\x81\x10a\x19wWa\x19wa'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1A\x15W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xA9Wa\x19\xA9a'\xFCV[` \x02` \x01\x01Q\x90Pa\x1A\x0C\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a \xE6\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x19\x84V[PP`\x01\x01a\x19ZV[PG\x15a\n\xE3Wa\n\xE3`\x003Ga\"cV[```\0\x80[\x83Q\x81\x10\x15a\x1AqW\x83\x81\x81Q\x81\x10a\x1ASWa\x1ASa'\xFCV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x1A8V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\x8BWa\x1A\x8Ba'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xF4W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\xA9W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1C\xF0W`\0\x84\x82\x81Q\x81\x10a\x1B\x19Wa\x1B\x19a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1C\xE6W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x1BKWa\x1BKa'\xFCV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1C'W`\0\x88\x82\x81Q\x81\x10a\x1BuWa\x1Bua'\xFCV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1B\xF5WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1C\x1EW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1C\x14\x91\x90a/\xEEV[\x90RPa\x1C'\x90PV[P`\x01\x01a\x1BYV[P\x80a\x1C\xDCW`@\x82\x01Q\x82Q`\0\x91a\x1CW\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a#>V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1C\xB4\x91\x90a/\xEEV[\x81RP\x88\x88\x81Q\x81\x10a\x1C\xC9Wa\x1C\xC9a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x1B&V[PP`\x01\x01a\x1A\xFCV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\xE1W`\0\x82\x82\x81Q\x81\x10a\x1D\x18Wa\x1D\x18a'\xFCV[` \x02` \x01\x01Q\x90P`\0a\x1DU\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a#>\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1D\xA6W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1D\xB3\x90a2dV[\x91PPa\x1C\xFBV[`\0\x82\x82\x10\x15a\x1D\xF7W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1E\x05WP\x82a\x1EMV[B\x83\x10a\x1E\x13WP\x83a\x1EMV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E8Wa\x1E/\x86\x88\x03\x83\x83a \xAAV[\x87\x03\x92Pa\x1EJV[a\x1EE\x87\x87\x03\x83\x83a \xAAV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\xB4W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\xCA\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0FT\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xDFWa\x1F\xDFa'\xCDV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \tW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a NW`\0a <\x85\x83\x81Q\x81\x10a /Wa /a'\xFCV[` \x02` \x01\x01Qa$\tV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a \x0FV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a \x81WP\x81B\x11[\x80a \xA1WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xDFW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a!\xA1W`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a![W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!`V[``\x91P[PP\x90P\x80a!\x9BW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a!\xC8\x86a$\x80V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\"EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"YW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#\x18W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xD8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xDDV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a#9s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a%*V[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#yWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a \xA4V[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a#\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a \xA1\x91\x90a2\x9CV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0FT\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xE3W`\0\x80\xFD[\x805a&&\x81a%\xF9V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&mW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&\x8AW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xA2W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a&\xB6W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a&\xC8\x82a%\xF9V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\xDEW`\0\x80\xFD[Pa&\xEB\x87\x82\x88\x01a&+V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a'\tW`\0\x80\xFD[\x815a'\x14\x81a%\xF9V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a'3W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'KW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'_W`\0\x80\xFD[\x815\x81\x81\x11\x15a'nW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x83W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'\x99` \x89\x01a&\x1BV[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a'\xAFW`\0\x80\xFD[Pa'\xBC\x88\x82\x89\x01a&+V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a(_W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x9EW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xB9W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&mW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\x84Wa)\x84a'\xCDV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)\xB7Wa)\xB7a'\xCDV[a)\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a)=V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a*,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a*PWa*Pa'\xCDV[\x81`@R\x82\x93P\x845\x91Pa*d\x82a%\xF9V[\x90\x82R` \x84\x015\x90a*v\x82a%\xF9V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\xA0\x82a%\xF9V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*\xBAW`\0\x80\xFD[Pa*\xC7\x85\x82\x86\x01a)\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\xE6W`\0\x80\xFD[a*\xEEa(\xCEV[\x90P\x815a*\xFB\x81a%\xF9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+3Wa+3a'\xCDV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a+NW`\0\x80\xFD[\x815` a+ca+^\x83a+\x19V[a)=V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a+\x82W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+\xE7W`\x80\x81\x89\x03\x12\x15a+\x9FW`\0\x80\x81\xFD[a+\xA7a(\xF7V[\x815a+\xB2\x81a%\xF9V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+\xD5\x81a%\xF9V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a+\x86V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\x04W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,\x1CW`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a,1W`\0\x80\xFD[a,9a)\x1AV[\x825\x82\x81\x11\x15a,HW`\0\x80\xFD[a,T\x87\x82\x86\x01a*\x1AV[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra,w``\x84\x01a&\x1BV[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\x93\x86`\xA0\x85\x01a*\xD4V[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,\xABW`\0\x80\xFD[a,\xB7\x87\x82\x86\x01a+=V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a,\xE1W\x81\x81\x01Q\x83\x82\x01R` \x01a,\xC9V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra-\x02\x81` \x86\x01` \x86\x01a,\xC6V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a-\x93W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a-HV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra.\x12a\x01\xA0\x85\x01\x82a,\xEAV[\x90P` \x83\x01Qa.P` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra.h\x82\x82a-4V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra.\x82\x82\x82a,\xEAV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a/\x0EW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra.\xFC\x86\x83Qa-\x9EV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a.\xC2V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x84Qa/\x8E\x81\x84` \x89\x01a,\xC6V[\x84Q\x90\x83\x01\x90a/\xA2\x81\x83` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a/\xB5\x81\x83` \x88\x01a,\xC6V[\x01\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a \xA4Wa \xA4a/\xBFV[` \x81R`\0a \xA1` \x83\x01\x84a-\x9EV[`\0` \x80\x83\x85\x03\x12\x15a0'W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0>W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0OW`\0\x80\xFD[\x80Qa0]a+^\x82a+\x19V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0|W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD8W\x80\x85\x8A\x03\x12\x15a0\x99W`\0\x80\x81\xFD[a0\xA1a(\xCEV[\x85Qa0\xAC\x81a%\xF9V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC5\x81a%\xF9V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0\x81V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1EM`@\x83\x01\x84a-\x9EV[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa1K\x81`\x1C\x85\x01` \x8A\x01a,\xC6V[\x85Q\x90\x83\x01\x90a1b\x81`\x1C\x84\x01` \x8A\x01a,\xC6V[\x85Q\x91\x01\x90a1x\x81`\x1C\x84\x01` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a1\x8E\x81`\x1C\x84\x01` \x88\x01a,\xC6V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a1\xCC\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\r`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2B\x81\x84\x01\x86a,\xEAV[\x90P\x82\x81\x03a\x01 \x84\x01Ra2W\x81\x85a,\xEAV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x95Wa2\x95a/\xBFV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2\xAEW`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \x902Q\xD0\x0Ex({\x8D\xA3\xD9`\xDA\xA9\xF7v\xC1\xFA\xEC\\\xA8o\x1D\x90R\xF5\xEF\xA1\x02\xC9S0dsolcC\0\x08\x13\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x0Er\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cvq\xD0{\x14a\0oW\x80c\x99C\xFA\x89\x14a\0\xB0W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xE2V[a\0\xC5V[`@Qa\0f\x91\x90a\x06\x1EV[`@Q\x80\x91\x03\x90\xF3[a\0\x8Ba\0}6`\x04a\x07HV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[a\0\xC3a\0\xBE6`\x04a\t[V[a\x02!V[\0[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x83\x81\x01Q\x84\x01\x81\x01Q\x81Q\x80\x83\x01\x83R\x85\x81R` \x80\x82\x01\x86\x90R\x83Q\x90\x81\x01\x84R`\0\x81R\x92Q\x7F\x05\xAF\xC9w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x92c\x05\xAF\xC9w\x92a\x01\xAF\x92\x910\x91`\x04\x01a\n\xFBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \r[e\xE3\xCC\xBBa\x9Br<\x19\xF9L/}\xBE_L;\xCA\xAFa\xC5\x15\x10\xEFQ%\x19:v\x89dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01?W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01SW=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x01zWa\x01xa\x03\xA1V[P[`\0\x80`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\x1A\x9C\x81\x82\xC0\x9FP\xC81\x8Dv\x92E\xBE\xA5,2\xBE5\xBC`@Qa\x01\xB1\x90a\x05.V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x01\xF5W=`\0\x80>=`\0\xFD[P\x90Pa\x027`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[`\0\x80`\0\x1B`@Qa\x02I\x90a\x05;V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02iW=`\0\x80>=`\0\xFD[P\x90Pa\x02\xAB`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x04lV[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\x16W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03*W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x92PPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aE\xADa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04$\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x05\xACV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x04>W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04RW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x04\xFD\x82\x82`@Q`$\x01a\x04\x82\x92\x91\x90a\x05\xE3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\x01V[PPV[a\x05\n\x81a\x05\rV[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a1x\x80a\x06\x1C\x839\x01\x90V[a\x0E\x19\x80a7\x94\x839\x01\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05nW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05RV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x05\xDB`@\x83\x01\x84a\x05HV[\x94\x93PPPPV[`@\x81R`\0a\x05\xF6`@\x83\x01\x85a\x05HV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x001x8\x03\x80b\x001x\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa0_b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x19\x10\x01Ra0_`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\"\xC2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a#pV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a#\xB2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a$PV[a\x06\x83V[a\0\xB9a\x01l6`\x04a$tV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a$PV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a$\xD8V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB3V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a'\xA1V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BbV[a\x04\xB5\x81a\x0B\xB3V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB3V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia$\xD8V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BbV[a\x08\x86\x81a\x0B\xB3V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a'\xDFV[\x81\x01\x90a\n|\x91\x90a+hV[\x90Pa\n\x87\x81a\r\x06V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85`\xA0\x01Qa\r\xF1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\xC0\x01Qa\x0E\xC3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a'\xDFV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\xAAV[\x90R``\x82\x01Q` \x83\x01Q`\x80\x84\x01Q\x92\x94Pa\x0B\\\x92\x85\x92\x91\x90a\x12|V[P\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x83Wa\x0B\x83a$\xD8V[` \x02` \x01\x01Q\x90Pa\x0B\x96\x81a\x13%V[a\x0B\xA0\x813a\x18\x15V[a\x0B\xAA\x813a\x19\x0EV[P`\x01\x01a\x0BgV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF5W`\0\x83\x82\x81Q\x81\x10a\x0B\xD4Wa\x0B\xD4a$\xD8V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CUW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x0BWa\x0C\x0Ba$\xD8V[` \x02` \x01\x01Q\x90Pa\x0CL\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1C\xA1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xEBV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9EWa\x0C\x9Ea$\xD8V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE3\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB8V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1C\xE8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\rIW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\x04\xC1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\r\x84Wa\r\x84a$\xD8V[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\r\xA6Wa\r\xA6a$\xD8V[` \x02` \x01\x01Q` \x01Q\x14a\r\xE9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\raV[a\x0E+`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EmW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0E\x83\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xE1Wa\x0E\xE1a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FJW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xFFW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xA1Wa\x0F|\x86\x82\x81Q\x81\x10a\x0FmWa\x0Fma$\xD8V[` \x02` \x01\x01Q\x86\x86a\x1E)V[\x83\x82\x81Q\x81\x10a\x0F\x8EWa\x0F\x8Ea$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FPV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a/\x1D` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919`@Q` \x01a\x11\x9C\x93\x92\x91\x90a,=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x13\xFF\x91\x90\x81\x01\x90a,\xCCV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\x17\x82\x84a,\x7FV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14/Wa\x14/a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\x98W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14MW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xE9W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xBCWa\x14\xBCa$\xD8V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xD6Wa\x14\xD6a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x9EV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\x04W`\0\x87\x82\x81Q\x81\x10a\x15\x0CWa\x15\x0Ca$\xD8V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xCAW\x88\x81\x81Q\x81\x10a\x153Wa\x153a$\xD8V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15\xC2W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\x19V[P`\0\x80[\x88\x81\x10\x15a\x16\x8BW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x15\xEFWa\x15\xEFa$\xD8V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x82W\x85\x15a\x16lW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x16{\x90\x84a,\x7FV[\x92P`\x01\x96P[P`\x01\x01a\x15\xCFV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\x04W\x84\x15a\x16\xEBW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x16\xFD\x90\x82a,\x7FV[\x90P`\x01\x93P[\x80`\0\x03a\x17YW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x17g\x81`\x05a'\x10a \xC2V[\x82` \x01Q\x11\x15a\x17\xDAW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x17\xEFWa\x17\xEFa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x14\xF0V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x18fW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x18\xE2\x90\x84\x90\x86\x90`\x04\x01a-\x9CV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x18\xFAW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xCE\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a/\x9D\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a/o`.\x919`@Q` \x01a\x1C\x06\x94\x93\x92\x91\x90a-\xCBV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1Cs\x96\x95\x94\x93\x92`\x04\x01a.TV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1C\x8DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1C\xC6Wa\x03_\x82\x82a\x1C\xE8V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a \xFEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1DBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1DGV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1D\x92WP\x83a\x1E!V[\x82\x82\x11a\x1D\xCBW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1D\xD9WP\x82a\x1E!V[B\x83\x10a\x1D\xE7WP\x83a\x1E!V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E\x0CWa\x1E\x03\x86\x88\x03\x83\x83a \xC2V[\x87\x03\x92Pa\x1E\x1EV[a\x1E\x19\x87\x87\x03\x83\x83a ~V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\x88W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\x9E\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x12_\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xB3Wa\x1F\xB3a$\xA9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xDDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a \"W`\0a \x10\x85\x83\x81Q\x81\x10a \x03Wa \x03a$\xD8V[` \x02` \x01\x01Qa!\xF0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xE3V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a UWP\x81B\x11[\x80a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xB3W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xF7W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a!\xE9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x12_\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\"\x8BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xA3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\"\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xEFW`\0\x80\xFD[a\"\xFB\x87\x83\x88\x01a\"gV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a#\x11W`\0\x80\xFD[Pa#\x1E\x86\x82\x87\x01a\"yV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a#=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a#\x83W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x9AW`\0\x80\xFD[a#\xA6\x85\x82\x86\x01a#+V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a#\xC8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#\xE0W`\0\x80\xFD[a#\xEC\x88\x83\x89\x01a#+V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a$\x05W`\0\x80\xFD[Pa$\x12\x87\x82\x88\x01a\"yV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a$K\x81a$\x1EV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$bW`\0\x80\xFD[\x815a$m\x81a$\x1EV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a$\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\x9DW`\0\x80\xFD[a\x1E!\x84\x82\x85\x01a\"gV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a%\"W\x81\x81\x01Q\x83\x82\x01R` \x01a%\nV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra%C\x81` \x86\x01` \x86\x01a%\x07V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a%\xD5W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a%\x8AV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra&Ta\x01\xA0\x85\x01\x82a%+V[\x90P` \x83\x01Qa&\x92` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra&\xAA\x82\x82a%uV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra&\xC4\x82\x82a%+V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a'PW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra'>\x86\x83Qa%\xE0V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a'\x04V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a'\xD5W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x14W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(/W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\"\xBBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xFAWa(\xFAa$\xA9V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x13W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)-Wa)-a$\xA9V[a)^` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a(\xB3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)sW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a)\xA2W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a)\xC6Wa)\xC6a$\xA9V[\x81`@R\x82\x93P\x845\x91Pa)\xDA\x82a$\x1EV[\x90\x82R` \x84\x015\x90a)\xEC\x82a$\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\x16\x82a$\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*0W`\0\x80\xFD[Pa*=\x85\x82\x86\x01a)\x02V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\\W`\0\x80\xFD[a*da(DV[\x90P\x815a*q\x81a$\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a*\xA9Wa*\xA9a$\xA9V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a*\xC4W`\0\x80\xFD[\x815` a*\xD9a*\xD4\x83a*\x8FV[a(\xB3V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a*\xF8W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+]W`\x80\x81\x89\x03\x12\x15a+\x15W`\0\x80\x81\xFD[a+\x1Da(mV[\x815a+(\x81a$\x1EV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+K\x81a$\x1EV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a*\xFCV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a+zW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a+\x92W`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a+\xA7W`\0\x80\xFD[a+\xAFa(\x90V[\x825\x82\x81\x11\x15a+\xBEW`\0\x80\xFD[a+\xCA\x87\x82\x86\x01a)\x90V[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra+\xED``\x84\x01a$@V[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\t\x86`\xA0\x85\x01a*JV[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,!W`\0\x80\xFD[a,-\x87\x82\x86\x01a*\xB3V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa,N\x81\x84` \x89\x01a%\x07V[\x84Q\x90\x83\x01\x90a,b\x81\x83` \x89\x01a%\x07V[\x84Q\x91\x01\x90a,u\x81\x83` \x88\x01a%\x07V[\x01\x95\x94PPPPPV[\x80\x82\x01\x80\x82\x11\x15a xW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a u` \x83\x01\x84a%\xE0V[`\0` \x80\x83\x85\x03\x12\x15a,\xDFW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xF6W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x07W`\0\x80\xFD[\x80Qa-\x15a*\xD4\x82a*\x8FV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-4W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x90W\x80\x85\x8A\x03\x12\x15a-QW`\0\x80\x81\xFD[a-Ya(DV[\x85Qa-d\x81a$\x1EV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-}\x81a$\x1EV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-9V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1E!`@\x83\x01\x84a%\xE0V[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa.\x03\x81`\x1C\x85\x01` \x8A\x01a%\x07V[\x85Q\x90\x83\x01\x90a.\x1A\x81`\x1C\x84\x01` \x8A\x01a%\x07V[\x85Q\x91\x01\x90a.0\x81`\x1C\x84\x01` \x89\x01a%\x07V[\x84Q\x91\x01\x90a.F\x81`\x1C\x84\x01` \x88\x01a%\x07V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a.\x84\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xC5`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xFA\x81\x84\x01\x86a%+V[\x90P\x82\x81\x03a\x01 \x84\x01Ra/\x0F\x81\x85a%+V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xE1n\xF4'\xD4\x9B\xC9z\x86\xF1R%\xBD\xEB\x99q;\xB6`\xC0\xCEo\xDC_\xBF\x86\xB8d\xF9T.tdsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xF3\xBC3|%\xF0\xA4=\x9C\x08\xB4\xBA\x967\xADX\x16\xAB\x1B\xD4}bH\xE4\x84\xEF\x13eE=\xC9\xC0dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DEPLOYEXCLUSIVEDUTCH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DEPLOYEXCLUSIVEDUTCH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DeployExclusiveDutch(::ethers::contract::Contract); impl ::core::clone::Clone for DeployExclusiveDutch { fn clone(&self) -> Self { @@ -112,11 +129,13 @@ pub mod deploy_exclusive_dutch { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DEPLOYEXCLUSIVEDUTCH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYEXCLUSIVEDUTCH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -179,8 +198,7 @@ pub mod deploy_exclusive_dutch { } } impl From<::ethers::contract::Contract> - for DeployExclusiveDutch - { + for DeployExclusiveDutch { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -190,11 +208,13 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] pub struct IsScriptCall; @@ -203,11 +223,13 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "run", abi = "run()")] pub struct RunCall; @@ -216,16 +238,27 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setUp", abi = "setUp()")] pub struct SetUpCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DeployExclusiveDutchCalls { IsScript(IsScriptCall), Run(RunCall), @@ -236,13 +269,19 @@ pub mod deploy_exclusive_dutch { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IsScript(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Run(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetUp(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -251,7 +290,9 @@ pub mod deploy_exclusive_dutch { impl ::ethers::core::abi::AbiEncode for DeployExclusiveDutchCalls { fn encode(self) -> Vec { match self { - Self::IsScript(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), } @@ -286,11 +327,13 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsScriptReturn(pub bool); ///Container type for all return fields from the `run` function with signature `run()` and selector `0xc0406226` @@ -298,11 +341,13 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct RunReturn { pub deployment: ExclusiveDutchDeployment, @@ -312,11 +357,13 @@ pub mod deploy_exclusive_dutch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExclusiveDutchDeployment { pub permit_2: ::ethers::core::types::Address, diff --git a/crates/bindings-uniswapx/src/deploy_permit_2.rs b/crates/bindings-uniswapx/src/deploy_permit_2.rs index 5f37436..0920a30 100644 --- a/crates/bindings-uniswapx/src/deploy_permit_2.rs +++ b/crates/bindings-uniswapx/src/deploy_permit_2.rs @@ -7,29 +7,35 @@ pub use deploy_permit_2::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod deploy_permit_2 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::std::collections::BTreeMap::new(), receive: false, @@ -37,18 +43,21 @@ pub mod deploy_permit_2 { } } ///The parsed JSON ABI of the contract. - pub static DEPLOYPERMIT2_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DEPLOYPERMIT2_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x04\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x0C\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15`,W`\0\x80\xFD[P`\x83\x80a\0;`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c\xF8\xCC\xBFG\x14`-W[`\0\x80\xFD[`\x0CT`9\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3\xFE\xA2dipfsX\"\x12 6\x87\x1CSU\x18\x83\x05\xF0!:F\x1B\xE3J\xB1\xC6\x13\xF3 \xA3Kw/\xF5\xD6\x8A\x1D\x8F\xE1\xA4\x9BdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15` W`\0\x80\xFD[P`\x89\x80a\0/`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c\xF8\xCC\xBFG\x14`-W[`\0\x80\xFD[`\x0CT`?\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3\xFE\xA2dipfsX\"\x12 \xC7\x99\xA4\x83\xC7r\xE5\xD3#M\xF9\";Qtm\xDBi\xB3y\xF1K\xD9\x962\n\x16H\xD2\x13Y\xA8dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DEPLOYPERMIT2_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DEPLOYPERMIT2_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c\xF8\xCC\xBFG\x14`-W[`\0\x80\xFD[`\x0CT`9\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3\xFE\xA2dipfsX\"\x12 6\x87\x1CSU\x18\x83\x05\xF0!:F\x1B\xE3J\xB1\xC6\x13\xF3 \xA3Kw/\xF5\xD6\x8A\x1D\x8F\xE1\xA4\x9BdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c\xF8\xCC\xBFG\x14`-W[`\0\x80\xFD[`\x0CT`?\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3\xFE\xA2dipfsX\"\x12 \xC7\x99\xA4\x83\xC7r\xE5\xD3#M\xF9\";Qtm\xDBi\xB3y\xF1K\xD9\x962\n\x16H\xD2\x13Y\xA8dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DEPLOYPERMIT2_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DEPLOYPERMIT2_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DeployPermit2(::ethers::contract::Contract); impl ::core::clone::Clone for DeployPermit2 { fn clone(&self) -> Self { @@ -80,11 +89,13 @@ pub mod deploy_permit_2 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DEPLOYPERMIT2_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYPERMIT2_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -133,8 +144,7 @@ pub mod deploy_permit_2 { } } impl From<::ethers::contract::Contract> - for DeployPermit2 - { + for DeployPermit2 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -144,11 +154,13 @@ pub mod deploy_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] pub struct IsScriptCall; @@ -157,11 +169,13 @@ pub mod deploy_permit_2 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsScriptReturn(pub bool); } diff --git a/crates/bindings-uniswapx/src/deploy_swap_router_02_executor.rs b/crates/bindings-uniswapx/src/deploy_swap_router_02_executor.rs index 6baee68..a3a2504 100644 --- a/crates/bindings-uniswapx/src/deploy_swap_router_02_executor.rs +++ b/crates/bindings-uniswapx/src/deploy_swap_router_02_executor.rs @@ -7,7 +7,7 @@ pub use deploy_swap_router_02_executor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod deploy_swap_router_02_executor { #[allow(deprecated)] @@ -17,45 +17,57 @@ pub mod deploy_swap_router_02_executor { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("run"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("run"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("executor"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract SwapRouter02Executor",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("executor"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract SwapRouter02Executor", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setUp"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setUp"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -65,18 +77,21 @@ pub mod deploy_swap_router_02_executor { } } ///The parsed JSON ABI of the contract. - pub static DEPLOYSWAPROUTER02EXECUTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DEPLOYSWAPROUTER02EXECUTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x04\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x0C\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pa#\x9B\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0zW[`\0\x80\xFD[\0[a\0Pa\0\x97V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x87\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0qV[`@Q\x7F\xC1\x97\x8D\x1F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FFOUNDRY_PRIVATE_KEY\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xC1\x97\x8D\x1F\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x012W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01V\x91\x90a\x08!V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_REACTOR\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\x18W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02<\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`6`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_WHITELISTED_CALLER\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\"\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_OWNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xE4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\x08\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`0`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_SWAPROUTER02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xCAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xEE\x91\x90a\x08:V[`@Q\x7F\xCE\x81}G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x87\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xCE\x81}G\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05WW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05kW=`\0\x80>=`\0\xFD[PPPP`\0\x80\x1B\x83\x85\x84\x84`@Qa\x05\x83\x90a\x08\x14V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x90\x83\x16`@\x83\x01R\x90\x91\x16``\x82\x01R`\x80\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x05\xD8W=`\0\x80>=`\0\xFD[P\x95P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06ZW=`\0\x80>=`\0\xFD[PPPPa\x06\x9D`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FSwapRouter02Executor\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87a\x07RV[a\x07J`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7Fowner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07!W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07E\x91\x90a\x08:V[a\x07RV[PPPPP\x90V[a\x07\xE3\x82\x82`@Q`$\x01a\x07h\x92\x91\x90a\x08wV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x07\xE7V[PPV[a\x07\xF0\x81a\x07\xF3V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a\x1Ae\x80a\t\x01\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x083W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x08LW`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08pW`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x08\xA5W` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x08\x88V[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFEa\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x1Ae8\x03\x80b\0\x1Ae\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x18Ub\0\x02\x10`\09`\0\x81\x81a\x04\xDC\x01Ra\x05\x8E\x01R`\0a\x06%\x01R`\0a\x06~\x01R`\0\x81\x81a\x02\x03\x01R\x81\x81a\x02\xD7\x01R\x81\x81a\x07%\x01Ra\x07\xF4\x01Ra\x18U`\0\xF3\xFE`\x80`@R`\x046\x10a\0iW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0CW\x80c\x8D\xA5\xCB[\x14a\0\xD7W\x80c\x99C\xFA\x89\x14a\x01-W\x80c\xF2\xFD\xE3\x8B\x14a\x01MW`\0\x80\xFD[\x80cc\xFB\x0B\x96\x14a\0uW\x80ci\r\x83 \x14a\0\x97W\x80c\x89\xA3\xF16\x14a\0\xB7W`\0\x80\xFD[6a\0pW\0[`\0\x80\xFD[4\x80\x15a\0\x81W`\0\x80\xFD[Pa\0\x95a\0\x906`\x04a\r\xB4V[a\x01mV[\0[4\x80\x15a\0\xA3W`\0\x80\xFD[Pa\0\x95a\0\xB26`\x04a\x0EBV[a\x03\x9CV[4\x80\x15a\0\xC3W`\0\x80\xFD[Pa\0\x95a\0\xD26`\x04a\x0EBV[a\x04*V[4\x80\x15a\0\xE3W`\0\x80\xFD[P`\0Ta\x01\x04\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x019W`\0\x80\xFD[Pa\0\x95a\x01H6`\x04a\x0EfV[a\x06\rV[4\x80\x15a\x01YW`\0\x80\xFD[Pa\0\x95a\x01h6`\x04a\x0EBV[a\t\x88V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xF3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x02\x99Wa\x02\x87\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x02UWa\x02Ua\x0F\x15V[\x90P` \x02\x01` \x81\x01\x90a\x02j\x91\x90a\x0EBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\nyV[\x80a\x02\x91\x81a\x0FDV[\x91PPa\x01\xF6V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x030\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x0F\xECV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x03\x95\x91\x90\x81\x01\x90a\x12'V[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[a\x04'\x81Ga\x0BNV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xABW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x058W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\\\x91\x90a\x13\x19V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\xFBW=`\0\x80>=`\0\xFD[PPPPa\x06\t\x82Ga\x0BNV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x06|W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x07\x01W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a\x07\x10\x83\x85\x01\x85a\x14\x0EV[\x91P\x91P`\0[\x82Q\x81\x10\x15a\x07\xB6Wa\x07\xA4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x07wWa\x07wa\x0F\x15V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\ny\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80a\x07\xAE\x81a\x0FDV[\x91PPa\x07\x17V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x08K\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x14\xD0V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x08jW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x08\xB0\x91\x90\x81\x01\x90a\x12'V[P`\0[\x86\x81\x10\x15a\t~W`\0\x88\x88\x83\x81\x81\x10a\x08\xD0Wa\x08\xD0a\x0F\x15V[\x90P` \x02\x81\x01\x90a\x08\xE2\x91\x90a\x15\x8EV[a\x08\xEB\x90a\x17qV[\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\tiW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\t\x15Wa\t\x15a\x0F\x15V[` \x02` \x01\x01Q\x90Pa\tV\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0B\xC8\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\ta\x81a\x0FDV[\x91PPa\x08\xF0V[PP\x80\x80a\tv\x90a\x0FDV[\x91PPa\x08\xB4V[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\n\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0B\xC3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x0C}W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x0C=W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x0CBV[``\x91P[PP\x90P\x80a\x0BHW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0B\xC3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80\x83`\x1F\x84\x01\x12a\rzW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\r\x92W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\r\xADW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\r\xCAW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\xE2W`\0\x80\xFD[a\r\xEE\x88\x83\x89\x01a\rhV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0E\x07W`\0\x80\xFD[Pa\x0E\x14\x87\x82\x88\x01a\rhV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04'W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0ETW`\0\x80\xFD[\x815a\x0E_\x81a\x0E V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x0E~W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x96W`\0\x80\xFD[a\x0E\xA2\x89\x83\x8A\x01a\rhV[\x90\x97P\x95P` \x88\x015\x91Pa\x0E\xB7\x82a\x0E V[\x90\x93P`@\x87\x015\x90\x80\x82\x11\x15a\x0E\xCDW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x0E\xE1W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x0E\xF0W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a\x0F\x02W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96P` \x01\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0F\x9CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0`@\x82\x01\x85\x83R` `@\x81\x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x10\xC1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83R\x815\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x8A6\x03\x01\x81\x12a\x10wW`\0\x80\xFD[\x89\x01\x84\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x10\x93W`\0\x80\xFD[\x806\x03\x82\x13\x15a\x10\xA2W`\0\x80\xFD[a\x10\xAD\x87\x82\x84a\x0F\xA3V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x10\x16V[P\x92\x98\x97PPPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11\x91Wa\x11\x91a\x10\xCFV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xB3Wa\x11\xB3a\x10\xCFV[P`\x05\x1B` \x01\x90V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xD7Wa\x11\xD7a\x10\xCFV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0[\x83\x81\x10\x15a\x12\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\x06V[PP`\0\x91\x01RV[`\0` \x80\x83\x85\x03\x12\x15a\x12:W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x12RW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12fW`\0\x80\xFD[\x81Qa\x12ya\x12t\x82a\x11\x99V[a\x11JV[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x12\x98W`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x13\x0CW\x80Q\x85\x81\x11\x15a\x12\xB4W`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x12\xC6W`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x12\xD8a\x12t\x83a\x11\xBDV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x12\xEDW`\0\x80\x81\xFD[a\x12\xFC\x83\x8C\x83\x01\x84\x87\x01a\x12\x03V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x12\x9CV[P\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x13+W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x13CW`\0\x80\xFD[\x815a\x13Qa\x12t\x82a\x11\xBDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x13fW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x94W`\0\x80\xFD[\x815` a\x13\xA4a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x13\xC3W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x14\x03W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\xE7W`\0\x80\x81\xFD[a\x13\xF5\x89\x86\x83\x8B\x01\x01a\x132V[\x84RP\x91\x83\x01\x91\x83\x01a\x13\xC7V[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x14!W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x149W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14MW`\0\x80\xFD[\x815` a\x14]a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x14|W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a\x14\xA3W\x855a\x14\x94\x81a\x0E V[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a\x14\x81V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\x14\xB9W`\0\x80\xFD[Pa\x14\xC6\x85\x82\x86\x01a\x13\x83V[\x91PP\x92P\x92\x90PV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x15\x80W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x15C\x81\x88\x8A\x01\x89\x85\x01a\x12\x03V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x14\xFEV[P\x93\x98\x97PPPPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF!\x836\x03\x01\x81\x12a\x15\xC2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0`\xC0\x82\x84\x03\x12\x15a\x15\xDEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x16\x02Wa\x16\x02a\x10\xCFV[\x81`@R\x82\x93P\x845\x91Pa\x16\x16\x82a\x0E V[\x90\x82R` \x84\x015\x90a\x16(\x82a\x0E V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x16R\x82a\x0E V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x16lW`\0\x80\xFD[Pa\x16y\x85\x82\x86\x01a\x132V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x16\x98W`\0\x80\xFD[a\x16\xA0a\x10\xFEV[\x90P\x815a\x16\xAD\x81a\x0E V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x16\xDCW`\0\x80\xFD[\x815` a\x16\xECa\x12t\x83a\x11\x99V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x17\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x17dW\x81\x81\x8A\x03\x12\x15a\x17'W`\0\x80\x81\xFD[a\x17/a\x10\xFEV[\x815a\x17:\x81a\x0E V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x17S\x81a\x0E V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x17\x0FV[P\x90\x97\x96PPPPPPPV[`\0`\xE0\x826\x03\x12\x15a\x17\x83W`\0\x80\xFD[a\x17\x8Ba\x11'V[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x17\xA3W`\0\x80\xFD[a\x17\xAF6\x83\x87\x01a\x15\xCCV[\x83Ra\x17\xBE6` \x87\x01a\x16\x86V[` \x84\x01R`\x80\x85\x015\x91P\x80\x82\x11\x15a\x17\xD7W`\0\x80\xFD[a\x17\xE36\x83\x87\x01a\x16\xCBV[`@\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x17\xFCW`\0\x80\xFD[Pa\x18\t6\x82\x86\x01a\x132V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x90V\xFE\xA2dipfsX\"\x12 \x86Fa\x13\xE8\x06\x0Bz\x84\x07\x13qz+\x14\xC7\xF0D\xD0\xE4\x90x\xAFl\xE43+F\x04\xC5hzdsolcC\0\x08\x13\x003\xA2dipfsX\"\x12 \x8FC?Z\tY\x0B\xC1\xFDf]t\x83\x96z\x82\x9D\x9A\xD3\xA8\xDCr\xFC\xAB\xE5\x85\xC5\xA24\xDEb\x83dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[Pa\"\xF6\x80a\x001`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0zW[`\0\x80\xFD[\0[a\0Pa\0\x9DV[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x8D\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0qV[`@Q\x7F\xC1\x97\x8D\x1F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FFOUNDRY_PRIVATE_KEY\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xC1\x97\x8D\x1F\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x018W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\\\x91\x90a\x08'V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_REACTOR\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\x1EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02B\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`6`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_WHITELISTED_CALLER\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\x04W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03(\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_OWNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xEAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\x0E\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`0`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_SWAPROUTER02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xD0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xF4\x91\x90a\x08@V[`@Q\x7F\xCE\x81}G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x87\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xCE\x81}G\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05]W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05qW=`\0\x80>=`\0\xFD[PPPP`\0\x80\x1B\x83\x85\x84\x84`@Qa\x05\x89\x90a\x08\x1AV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x90\x83\x16`@\x83\x01R\x90\x91\x16``\x82\x01R`\x80\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x05\xDEW=`\0\x80>=`\0\xFD[P\x95P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06LW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06`W=`\0\x80>=`\0\xFD[PPPPa\x06\xA3`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FSwapRouter02Executor\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87a\x07XV[a\x07P`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7Fowner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07'W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07K\x91\x90a\x08@V[a\x07XV[PPPPP\x90V[a\x07\xE9\x82\x82`@Q`$\x01a\x07n\x92\x91\x90a\x08}V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x07\xEDV[PPV[a\x07\xF6\x81a\x07\xF9V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a\x19\xBA\x80a\t\x07\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x089W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x08RW`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08vW`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x08\xABW` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x08\x8EV[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFEa\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x19\xBA8\x03\x80b\0\x19\xBA\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x17\x87b\0\x023`\09`\0\x81\x81a\x07\xE5\x01Ra\x08\x97\x01R`\0\x81\x81a\x01\xDB\x01R\x81\x81a\x02\xF2\x01R\x81\x81a\x04R\x01R\x81\x81a\t\xC2\x01Ra\n\xD5\x01R`\0\x81\x81a\t.\x01Ra\nA\x01R`\0\x81\x81a\x02Y\x01R\x81\x81a\x03\x8A\x01R\x81\x81a\x05\x16\x01Ra\x05\xE0\x01Ra\x17\x87`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x7FW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\rW\x80c\xD0\xF2\xD8\xAC\x14a\x01cW\x80c\xE5\x13^\xC6\x14a\x01\x83W\x80c\xF2\xFD\xE3\x8B\x14a\x01\xA3W`\0\x80\xFD[\x80cX]\xA6(\x14a\0\x8BW\x80cc\xFB\x0B\x96\x14a\0\xADW\x80ci\r\x83 \x14a\0\xCDW\x80c\x89\xA3\xF16\x14a\0\xEDW`\0\x80\xFD[6a\0\x86W\0[`\0\x80\xFD[4\x80\x15a\0\x97W`\0\x80\xFD[Pa\0\xABa\0\xA66`\x04a\x0E\xB0V[a\x01\xC3V[\0[4\x80\x15a\0\xB9W`\0\x80\xFD[Pa\0\xABa\0\xC86`\x04a\x0F\x1CV[a\x04\x80V[4\x80\x15a\0\xD9W`\0\x80\xFD[Pa\0\xABa\0\xE86`\x04a\x0F\x9EV[a\x06\xA5V[4\x80\x15a\0\xF9W`\0\x80\xFD[Pa\0\xABa\x01\x086`\x04a\x0F\x9EV[a\x073V[4\x80\x15a\x01\x19W`\0\x80\xFD[P`\0Ta\x01:\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01oW`\0\x80\xFD[Pa\0\xABa\x01~6`\x04a\x0F\xC2V[a\t\x16V[4\x80\x15a\x01\x8FW`\0\x80\xFD[Pa\0\xABa\x01\x9E6`\x04a\x0E\xB0V[a\n)V[4\x80\x15a\x01\xAFW`\0\x80\xFD[Pa\0\xABa\x01\xBE6`\x04a\x0F\x9EV[a\x0BHV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x022W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x80a\x02B\x84\x86\x01\x86a\x11\x93V[\x92P\x92P\x92P`\0[\x83Q\x81\x10\x15a\x02\xE0Wa\x02\xD8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0C9\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x02KV[P`\0[\x82Q\x81\x10\x15a\x03LWa\x03D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[`\x01\x01a\x02\xE4V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x03\xE1\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x13\x1CV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x04\0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04F\x91\x90\x81\x01\x90a\x13\xDAV[PG\x15a\x04wWa\x04w\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ga\r\x0EV[PPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05\x06W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x05\xA2Wa\x05\x9A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x05hWa\x05ha\x12\xC9V[\x90P` \x02\x01` \x81\x01\x90a\x05}\x91\x90a\x0F\x9EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\x0C9V[`\x01\x01a\x05\tV[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x069\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x15tV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x06XW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x06\x9E\x91\x90\x81\x01\x90a\x13\xDAV[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[a\x070\x81Ga\r\xADV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\xB4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08e\x91\x90a\x16\x05V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x08\xF0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x04W=`\0\x80>=`\0\xFD[PPPPa\t\x12\x82Ga\r\xADV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\t\x85W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\t\xFB\x90\x86\x90\x86\x90\x86\x90`\x04\x01a\x16iV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\n\x15W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04wW=`\0\x80>=`\0\xFD[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\n\x98W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x0B\x10\x90\x87\x90\x87\x90\x87\x90\x87\x90`\x04\x01a\x16\x8FV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B*W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B>W=`\0\x80>=`\0\xFD[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x0B\xC9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\r\x08W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[PPPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\rhW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\rmV[``\x91P[PP\x90P\x80a\r\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\r\xA8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ELW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E\x80W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0E\xC6W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\xDEW`\0\x80\xFD[a\x0E\xEA\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0F\x03W`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0EnV[\x95\x98\x94\x97P\x95PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0F2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0FJW`\0\x80\xFD[a\x0FV\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0FoW`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0E\"V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x070W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0F\xB0W`\0\x80\xFD[\x815a\x0F\xBB\x81a\x0F|V[\x93\x92PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x0F\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0F\xEFW`\0\x80\xFD[\x90\x85\x01\x90`@\x82\x88\x03\x12\x15a\x10\x03W`\0\x80\xFD[\x90\x93P` \x85\x015\x90\x80\x82\x11\x15a\x10\x19W`\0\x80\xFD[Pa\x10&\x86\x82\x87\x01a\x0EnV[\x94\x97\x90\x96P\x93\x94PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x10\xA9Wa\x10\xA9a\x103V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x10\xCBWa\x10\xCBa\x103V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x10\xE6W`\0\x80\xFD[\x815` a\x10\xFBa\x10\xF6\x83a\x10\xB1V[a\x10bV[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x11\x1DW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x11BW\x805a\x115\x81a\x0F|V[\x83R\x91\x83\x01\x91\x83\x01a\x11\"V[P\x96\x95PPPPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11gWa\x11ga\x103V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x11\xA8W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x11\xC0W`\0\x80\xFD[a\x11\xCC\x87\x83\x88\x01a\x10\xD5V[\x94P` \x91P\x81\x86\x015\x81\x81\x11\x15a\x11\xE3W`\0\x80\xFD[a\x11\xEF\x88\x82\x89\x01a\x10\xD5V[\x94PP`@\x80\x87\x015\x82\x81\x11\x15a\x12\x05W`\0\x80\xFD[\x87\x01`\x1F\x81\x01\x89\x13a\x12\x16W`\0\x80\xFD[\x805a\x12$a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x85\x01\x90\x85\x81\x01\x90\x8B\x83\x11\x15a\x12CW`\0\x80\xFD[\x86\x84\x01[\x83\x81\x10\x15a\x12\xB7W\x805\x87\x81\x11\x15a\x12_W`\0\x80\x81\xFD[\x85\x01`?\x81\x01\x8E\x13a\x12qW`\0\x80\x81\xFD[\x88\x81\x015a\x12\x81a\x10\xF6\x82a\x11MV[\x81\x81R\x8F\x89\x83\x85\x01\x01\x11\x15a\x12\x96W`\0\x80\x81\xFD[\x81\x89\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x84RP\x91\x87\x01\x91\x87\x01a\x12GV[P\x80\x97PPPPPPPP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x13\x13W\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xFBV[PP`\0\x91\x01RV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x13\xCCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x13\x8F\x81\x88\x8A\x01\x89\x85\x01a\x12\xF8V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x13JV[P\x93\x98\x97PPPPPPPPV[`\0` \x80\x83\x85\x03\x12\x15a\x13\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\x05W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14\x19W`\0\x80\xFD[\x81Qa\x14'a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x14FW`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x14\xBAW\x80Q\x85\x81\x11\x15a\x14bW`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x14tW`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x14\x86a\x10\xF6\x83a\x11MV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x14\x9BW`\0\x80\x81\xFD[a\x14\xAA\x83\x8C\x83\x01\x84\x87\x01a\x12\xF8V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x14JV[P\x98\x97PPPPPPPPV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x15EW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15eW`\0\x80\xFD[\x806\x03\x82\x13\x15a\x0EgW`\0\x80\xFD[`\0`@\x82\x01\x85\x83R` `@` \x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x15\xF7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83Ra\x15\xD8\x82\x8Aa\x15\x10V[a\x15\xE3\x87\x82\x84a\x14\xC7V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x15\x9FV[P\x92\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x16\x17W`\0\x80\xFD[PQ\x91\x90PV[`\0a\x16*\x82\x83a\x15\x10V[`@\x85Ra\x16<`@\x86\x01\x82\x84a\x14\xC7V[\x91PPa\x16L` \x84\x01\x84a\x15\x10V[\x85\x83\x03` \x87\x01Ra\x16_\x83\x82\x84a\x14\xC7V[\x96\x95PPPPPPV[`@\x81R`\0a\x16|`@\x83\x01\x86a\x16\x1EV[\x82\x81\x03` \x84\x01Ra\x16_\x81\x85\x87a\x14\xC7V[`@\x80\x82R\x81\x01\x84\x90R`\0```\x05\x86\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x87\x83\x80[\x89\x81\x10\x15a\x17/W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8C6\x03\x01\x81\x12a\x17\rW\x82\x83\xFD[a\x17\x19\x86\x8D\x83\x01a\x16\x1EV[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x16\xADV[PPPP\x82\x81\x03` \x84\x01Ra\x17F\x81\x85\x87a\x14\xC7V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 V@\xB0U~\xC4U SV\x7F5s\x11[\x9C\xEB]J\xC2\x86\xAC\nG\x0E\x1E\x07\xDF\x15\x8E(\xE8dsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 P=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01V\x91\x90a\x08!V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_REACTOR\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\x18W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02<\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`6`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_WHITELISTED_CALLER\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\"\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_OWNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xE4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\x08\x91\x90a\x08:V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`0`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_SWAPROUTER02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xCAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xEE\x91\x90a\x08:V[`@Q\x7F\xCE\x81}G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x87\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xCE\x81}G\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05WW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05kW=`\0\x80>=`\0\xFD[PPPP`\0\x80\x1B\x83\x85\x84\x84`@Qa\x05\x83\x90a\x08\x14V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x90\x83\x16`@\x83\x01R\x90\x91\x16``\x82\x01R`\x80\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x05\xD8W=`\0\x80>=`\0\xFD[P\x95P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06ZW=`\0\x80>=`\0\xFD[PPPPa\x06\x9D`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FSwapRouter02Executor\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87a\x07RV[a\x07J`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7Fowner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07!W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07E\x91\x90a\x08:V[a\x07RV[PPPPP\x90V[a\x07\xE3\x82\x82`@Q`$\x01a\x07h\x92\x91\x90a\x08wV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x07\xE7V[PPV[a\x07\xF0\x81a\x07\xF3V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a\x1Ae\x80a\t\x01\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x083W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x08LW`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08pW`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x08\xA5W` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x08\x88V[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFEa\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x1Ae8\x03\x80b\0\x1Ae\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x18Ub\0\x02\x10`\09`\0\x81\x81a\x04\xDC\x01Ra\x05\x8E\x01R`\0a\x06%\x01R`\0a\x06~\x01R`\0\x81\x81a\x02\x03\x01R\x81\x81a\x02\xD7\x01R\x81\x81a\x07%\x01Ra\x07\xF4\x01Ra\x18U`\0\xF3\xFE`\x80`@R`\x046\x10a\0iW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0CW\x80c\x8D\xA5\xCB[\x14a\0\xD7W\x80c\x99C\xFA\x89\x14a\x01-W\x80c\xF2\xFD\xE3\x8B\x14a\x01MW`\0\x80\xFD[\x80cc\xFB\x0B\x96\x14a\0uW\x80ci\r\x83 \x14a\0\x97W\x80c\x89\xA3\xF16\x14a\0\xB7W`\0\x80\xFD[6a\0pW\0[`\0\x80\xFD[4\x80\x15a\0\x81W`\0\x80\xFD[Pa\0\x95a\0\x906`\x04a\r\xB4V[a\x01mV[\0[4\x80\x15a\0\xA3W`\0\x80\xFD[Pa\0\x95a\0\xB26`\x04a\x0EBV[a\x03\x9CV[4\x80\x15a\0\xC3W`\0\x80\xFD[Pa\0\x95a\0\xD26`\x04a\x0EBV[a\x04*V[4\x80\x15a\0\xE3W`\0\x80\xFD[P`\0Ta\x01\x04\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x019W`\0\x80\xFD[Pa\0\x95a\x01H6`\x04a\x0EfV[a\x06\rV[4\x80\x15a\x01YW`\0\x80\xFD[Pa\0\x95a\x01h6`\x04a\x0EBV[a\t\x88V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xF3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x02\x99Wa\x02\x87\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x02UWa\x02Ua\x0F\x15V[\x90P` \x02\x01` \x81\x01\x90a\x02j\x91\x90a\x0EBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\nyV[\x80a\x02\x91\x81a\x0FDV[\x91PPa\x01\xF6V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x030\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x0F\xECV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x03\x95\x91\x90\x81\x01\x90a\x12'V[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[a\x04'\x81Ga\x0BNV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xABW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x058W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\\\x91\x90a\x13\x19V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\xFBW=`\0\x80>=`\0\xFD[PPPPa\x06\t\x82Ga\x0BNV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x06|W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x07\x01W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a\x07\x10\x83\x85\x01\x85a\x14\x0EV[\x91P\x91P`\0[\x82Q\x81\x10\x15a\x07\xB6Wa\x07\xA4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x07wWa\x07wa\x0F\x15V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\ny\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80a\x07\xAE\x81a\x0FDV[\x91PPa\x07\x17V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x08K\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x14\xD0V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x08jW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x08\xB0\x91\x90\x81\x01\x90a\x12'V[P`\0[\x86\x81\x10\x15a\t~W`\0\x88\x88\x83\x81\x81\x10a\x08\xD0Wa\x08\xD0a\x0F\x15V[\x90P` \x02\x81\x01\x90a\x08\xE2\x91\x90a\x15\x8EV[a\x08\xEB\x90a\x17qV[\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\tiW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\t\x15Wa\t\x15a\x0F\x15V[` \x02` \x01\x01Q\x90Pa\tV\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0B\xC8\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\ta\x81a\x0FDV[\x91PPa\x08\xF0V[PP\x80\x80a\tv\x90a\x0FDV[\x91PPa\x08\xB4V[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\n\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0B\xC3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x0C}W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x0C=W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x0CBV[``\x91P[PP\x90P\x80a\x0BHW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0B\xC3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80\x83`\x1F\x84\x01\x12a\rzW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\r\x92W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\r\xADW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\r\xCAW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\xE2W`\0\x80\xFD[a\r\xEE\x88\x83\x89\x01a\rhV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0E\x07W`\0\x80\xFD[Pa\x0E\x14\x87\x82\x88\x01a\rhV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04'W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0ETW`\0\x80\xFD[\x815a\x0E_\x81a\x0E V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x0E~W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x96W`\0\x80\xFD[a\x0E\xA2\x89\x83\x8A\x01a\rhV[\x90\x97P\x95P` \x88\x015\x91Pa\x0E\xB7\x82a\x0E V[\x90\x93P`@\x87\x015\x90\x80\x82\x11\x15a\x0E\xCDW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x0E\xE1W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x0E\xF0W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a\x0F\x02W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96P` \x01\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0F\x9CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0`@\x82\x01\x85\x83R` `@\x81\x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x10\xC1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83R\x815\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x8A6\x03\x01\x81\x12a\x10wW`\0\x80\xFD[\x89\x01\x84\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x10\x93W`\0\x80\xFD[\x806\x03\x82\x13\x15a\x10\xA2W`\0\x80\xFD[a\x10\xAD\x87\x82\x84a\x0F\xA3V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x10\x16V[P\x92\x98\x97PPPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11\x91Wa\x11\x91a\x10\xCFV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xB3Wa\x11\xB3a\x10\xCFV[P`\x05\x1B` \x01\x90V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xD7Wa\x11\xD7a\x10\xCFV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0[\x83\x81\x10\x15a\x12\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\x06V[PP`\0\x91\x01RV[`\0` \x80\x83\x85\x03\x12\x15a\x12:W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x12RW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12fW`\0\x80\xFD[\x81Qa\x12ya\x12t\x82a\x11\x99V[a\x11JV[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x12\x98W`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x13\x0CW\x80Q\x85\x81\x11\x15a\x12\xB4W`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x12\xC6W`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x12\xD8a\x12t\x83a\x11\xBDV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x12\xEDW`\0\x80\x81\xFD[a\x12\xFC\x83\x8C\x83\x01\x84\x87\x01a\x12\x03V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x12\x9CV[P\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x13+W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x13CW`\0\x80\xFD[\x815a\x13Qa\x12t\x82a\x11\xBDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x13fW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x94W`\0\x80\xFD[\x815` a\x13\xA4a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x13\xC3W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x14\x03W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\xE7W`\0\x80\x81\xFD[a\x13\xF5\x89\x86\x83\x8B\x01\x01a\x132V[\x84RP\x91\x83\x01\x91\x83\x01a\x13\xC7V[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x14!W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x149W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14MW`\0\x80\xFD[\x815` a\x14]a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x14|W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a\x14\xA3W\x855a\x14\x94\x81a\x0E V[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a\x14\x81V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\x14\xB9W`\0\x80\xFD[Pa\x14\xC6\x85\x82\x86\x01a\x13\x83V[\x91PP\x92P\x92\x90PV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x15\x80W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x15C\x81\x88\x8A\x01\x89\x85\x01a\x12\x03V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x14\xFEV[P\x93\x98\x97PPPPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF!\x836\x03\x01\x81\x12a\x15\xC2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0`\xC0\x82\x84\x03\x12\x15a\x15\xDEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x16\x02Wa\x16\x02a\x10\xCFV[\x81`@R\x82\x93P\x845\x91Pa\x16\x16\x82a\x0E V[\x90\x82R` \x84\x015\x90a\x16(\x82a\x0E V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x16R\x82a\x0E V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x16lW`\0\x80\xFD[Pa\x16y\x85\x82\x86\x01a\x132V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x16\x98W`\0\x80\xFD[a\x16\xA0a\x10\xFEV[\x90P\x815a\x16\xAD\x81a\x0E V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x16\xDCW`\0\x80\xFD[\x815` a\x16\xECa\x12t\x83a\x11\x99V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x17\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x17dW\x81\x81\x8A\x03\x12\x15a\x17'W`\0\x80\x81\xFD[a\x17/a\x10\xFEV[\x815a\x17:\x81a\x0E V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x17S\x81a\x0E V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x17\x0FV[P\x90\x97\x96PPPPPPPV[`\0`\xE0\x826\x03\x12\x15a\x17\x83W`\0\x80\xFD[a\x17\x8Ba\x11'V[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x17\xA3W`\0\x80\xFD[a\x17\xAF6\x83\x87\x01a\x15\xCCV[\x83Ra\x17\xBE6` \x87\x01a\x16\x86V[` \x84\x01R`\x80\x85\x015\x91P\x80\x82\x11\x15a\x17\xD7W`\0\x80\xFD[a\x17\xE36\x83\x87\x01a\x16\xCBV[`@\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x17\xFCW`\0\x80\xFD[Pa\x18\t6\x82\x86\x01a\x132V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x90V\xFE\xA2dipfsX\"\x12 \x86Fa\x13\xE8\x06\x0Bz\x84\x07\x13qz+\x14\xC7\xF0D\xD0\xE4\x90x\xAFl\xE43+F\x04\xC5hzdsolcC\0\x08\x13\x003\xA2dipfsX\"\x12 \x8FC?Z\tY\x0B\xC1\xFDf]t\x83\x96z\x82\x9D\x9A\xD3\xA8\xDCr\xFC\xAB\xE5\x85\xC5\xA24\xDEb\x83dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0zW[`\0\x80\xFD[\0[a\0Pa\0\x9DV[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x8D\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0qV[`@Q\x7F\xC1\x97\x8D\x1F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FFOUNDRY_PRIVATE_KEY\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xC1\x97\x8D\x1F\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x018W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\\\x91\x90a\x08'V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_REACTOR\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\x1EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02B\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`6`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_WHITELISTED_CALLER\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\x04W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03(\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_OWNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xEAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\x0E\x91\x90a\x08@V[`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`0`$\x82\x01R\x7FFOUNDRY_SWAPROUTER02EXECUTOR_DEP`D\x82\x01R\x7FLOY_SWAPROUTER02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R\x90\x91P`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04\xD0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\xF4\x91\x90a\x08@V[`@Q\x7F\xCE\x81}G\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x87\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xCE\x81}G\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05]W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05qW=`\0\x80>=`\0\xFD[PPPP`\0\x80\x1B\x83\x85\x84\x84`@Qa\x05\x89\x90a\x08\x1AV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x81R\x92\x84\x16` \x84\x01R\x90\x83\x16`@\x83\x01R\x90\x91\x16``\x82\x01R`\x80\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x05\xDEW=`\0\x80>=`\0\xFD[P\x95P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06LW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06`W=`\0\x80>=`\0\xFD[PPPPa\x06\xA3`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FSwapRouter02Executor\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87a\x07XV[a\x07P`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01\x7Fowner\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x8D\xA5\xCB[`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x07'W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x07K\x91\x90a\x08@V[a\x07XV[PPPPP\x90V[a\x07\xE9\x82\x82`@Q`$\x01a\x07n\x92\x91\x90a\x08}V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x07\xEDV[PPV[a\x07\xF6\x81a\x07\xF9V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a\x19\xBA\x80a\t\x07\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x089W`\0\x80\xFD[PQ\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x08RW`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08vW`\0\x80\xFD[\x93\x92PPPV[`@\x81R`\0\x83Q\x80`@\x84\x01R`\0[\x81\x81\x10\x15a\x08\xABW` \x81\x87\x01\x81\x01Q``\x86\x84\x01\x01R\x01a\x08\x8EV[P`\0``\x82\x85\x01\x01R``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x84\x01\x01\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFEa\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x19\xBA8\x03\x80b\0\x19\xBA\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x17\x87b\0\x023`\09`\0\x81\x81a\x07\xE5\x01Ra\x08\x97\x01R`\0\x81\x81a\x01\xDB\x01R\x81\x81a\x02\xF2\x01R\x81\x81a\x04R\x01R\x81\x81a\t\xC2\x01Ra\n\xD5\x01R`\0\x81\x81a\t.\x01Ra\nA\x01R`\0\x81\x81a\x02Y\x01R\x81\x81a\x03\x8A\x01R\x81\x81a\x05\x16\x01Ra\x05\xE0\x01Ra\x17\x87`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x7FW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\rW\x80c\xD0\xF2\xD8\xAC\x14a\x01cW\x80c\xE5\x13^\xC6\x14a\x01\x83W\x80c\xF2\xFD\xE3\x8B\x14a\x01\xA3W`\0\x80\xFD[\x80cX]\xA6(\x14a\0\x8BW\x80cc\xFB\x0B\x96\x14a\0\xADW\x80ci\r\x83 \x14a\0\xCDW\x80c\x89\xA3\xF16\x14a\0\xEDW`\0\x80\xFD[6a\0\x86W\0[`\0\x80\xFD[4\x80\x15a\0\x97W`\0\x80\xFD[Pa\0\xABa\0\xA66`\x04a\x0E\xB0V[a\x01\xC3V[\0[4\x80\x15a\0\xB9W`\0\x80\xFD[Pa\0\xABa\0\xC86`\x04a\x0F\x1CV[a\x04\x80V[4\x80\x15a\0\xD9W`\0\x80\xFD[Pa\0\xABa\0\xE86`\x04a\x0F\x9EV[a\x06\xA5V[4\x80\x15a\0\xF9W`\0\x80\xFD[Pa\0\xABa\x01\x086`\x04a\x0F\x9EV[a\x073V[4\x80\x15a\x01\x19W`\0\x80\xFD[P`\0Ta\x01:\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01oW`\0\x80\xFD[Pa\0\xABa\x01~6`\x04a\x0F\xC2V[a\t\x16V[4\x80\x15a\x01\x8FW`\0\x80\xFD[Pa\0\xABa\x01\x9E6`\x04a\x0E\xB0V[a\n)V[4\x80\x15a\x01\xAFW`\0\x80\xFD[Pa\0\xABa\x01\xBE6`\x04a\x0F\x9EV[a\x0BHV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x022W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x80a\x02B\x84\x86\x01\x86a\x11\x93V[\x92P\x92P\x92P`\0[\x83Q\x81\x10\x15a\x02\xE0Wa\x02\xD8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0C9\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x02KV[P`\0[\x82Q\x81\x10\x15a\x03LWa\x03D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[`\x01\x01a\x02\xE4V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x03\xE1\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x13\x1CV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x04\0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04F\x91\x90\x81\x01\x90a\x13\xDAV[PG\x15a\x04wWa\x04w\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ga\r\x0EV[PPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05\x06W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x05\xA2Wa\x05\x9A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x05hWa\x05ha\x12\xC9V[\x90P` \x02\x01` \x81\x01\x90a\x05}\x91\x90a\x0F\x9EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\x0C9V[`\x01\x01a\x05\tV[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x069\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x15tV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x06XW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x06\x9E\x91\x90\x81\x01\x90a\x13\xDAV[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[a\x070\x81Ga\r\xADV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\xB4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08e\x91\x90a\x16\x05V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x08\xF0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x04W=`\0\x80>=`\0\xFD[PPPPa\t\x12\x82Ga\r\xADV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\t\x85W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\t\xFB\x90\x86\x90\x86\x90\x86\x90`\x04\x01a\x16iV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\n\x15W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04wW=`\0\x80>=`\0\xFD[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\n\x98W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x0B\x10\x90\x87\x90\x87\x90\x87\x90\x87\x90`\x04\x01a\x16\x8FV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B*W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B>W=`\0\x80>=`\0\xFD[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x0B\xC9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\r\x08W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[PPPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\rhW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\rmV[``\x91P[PP\x90P\x80a\r\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\r\xA8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ELW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E\x80W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0E\xC6W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\xDEW`\0\x80\xFD[a\x0E\xEA\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0F\x03W`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0EnV[\x95\x98\x94\x97P\x95PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0F2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0FJW`\0\x80\xFD[a\x0FV\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0FoW`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0E\"V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x070W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0F\xB0W`\0\x80\xFD[\x815a\x0F\xBB\x81a\x0F|V[\x93\x92PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x0F\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0F\xEFW`\0\x80\xFD[\x90\x85\x01\x90`@\x82\x88\x03\x12\x15a\x10\x03W`\0\x80\xFD[\x90\x93P` \x85\x015\x90\x80\x82\x11\x15a\x10\x19W`\0\x80\xFD[Pa\x10&\x86\x82\x87\x01a\x0EnV[\x94\x97\x90\x96P\x93\x94PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x10\xA9Wa\x10\xA9a\x103V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x10\xCBWa\x10\xCBa\x103V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x10\xE6W`\0\x80\xFD[\x815` a\x10\xFBa\x10\xF6\x83a\x10\xB1V[a\x10bV[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x11\x1DW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x11BW\x805a\x115\x81a\x0F|V[\x83R\x91\x83\x01\x91\x83\x01a\x11\"V[P\x96\x95PPPPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11gWa\x11ga\x103V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x11\xA8W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x11\xC0W`\0\x80\xFD[a\x11\xCC\x87\x83\x88\x01a\x10\xD5V[\x94P` \x91P\x81\x86\x015\x81\x81\x11\x15a\x11\xE3W`\0\x80\xFD[a\x11\xEF\x88\x82\x89\x01a\x10\xD5V[\x94PP`@\x80\x87\x015\x82\x81\x11\x15a\x12\x05W`\0\x80\xFD[\x87\x01`\x1F\x81\x01\x89\x13a\x12\x16W`\0\x80\xFD[\x805a\x12$a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x85\x01\x90\x85\x81\x01\x90\x8B\x83\x11\x15a\x12CW`\0\x80\xFD[\x86\x84\x01[\x83\x81\x10\x15a\x12\xB7W\x805\x87\x81\x11\x15a\x12_W`\0\x80\x81\xFD[\x85\x01`?\x81\x01\x8E\x13a\x12qW`\0\x80\x81\xFD[\x88\x81\x015a\x12\x81a\x10\xF6\x82a\x11MV[\x81\x81R\x8F\x89\x83\x85\x01\x01\x11\x15a\x12\x96W`\0\x80\x81\xFD[\x81\x89\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x84RP\x91\x87\x01\x91\x87\x01a\x12GV[P\x80\x97PPPPPPPP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x13\x13W\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xFBV[PP`\0\x91\x01RV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x13\xCCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x13\x8F\x81\x88\x8A\x01\x89\x85\x01a\x12\xF8V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x13JV[P\x93\x98\x97PPPPPPPPV[`\0` \x80\x83\x85\x03\x12\x15a\x13\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\x05W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14\x19W`\0\x80\xFD[\x81Qa\x14'a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x14FW`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x14\xBAW\x80Q\x85\x81\x11\x15a\x14bW`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x14tW`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x14\x86a\x10\xF6\x83a\x11MV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x14\x9BW`\0\x80\x81\xFD[a\x14\xAA\x83\x8C\x83\x01\x84\x87\x01a\x12\xF8V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x14JV[P\x98\x97PPPPPPPPV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x15EW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15eW`\0\x80\xFD[\x806\x03\x82\x13\x15a\x0EgW`\0\x80\xFD[`\0`@\x82\x01\x85\x83R` `@` \x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x15\xF7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83Ra\x15\xD8\x82\x8Aa\x15\x10V[a\x15\xE3\x87\x82\x84a\x14\xC7V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x15\x9FV[P\x92\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x16\x17W`\0\x80\xFD[PQ\x91\x90PV[`\0a\x16*\x82\x83a\x15\x10V[`@\x85Ra\x16<`@\x86\x01\x82\x84a\x14\xC7V[\x91PPa\x16L` \x84\x01\x84a\x15\x10V[\x85\x83\x03` \x87\x01Ra\x16_\x83\x82\x84a\x14\xC7V[\x96\x95PPPPPPV[`@\x81R`\0a\x16|`@\x83\x01\x86a\x16\x1EV[\x82\x81\x03` \x84\x01Ra\x16_\x81\x85\x87a\x14\xC7V[`@\x80\x82R\x81\x01\x84\x90R`\0```\x05\x86\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x87\x83\x80[\x89\x81\x10\x15a\x17/W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8C6\x03\x01\x81\x12a\x17\rW\x82\x83\xFD[a\x17\x19\x86\x8D\x83\x01a\x16\x1EV[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x16\xADV[PPPP\x82\x81\x03` \x84\x01Ra\x17F\x81\x85\x87a\x14\xC7V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 V@\xB0U~\xC4U SV\x7F5s\x11[\x9C\xEB]J\xC2\x86\xAC\nG\x0E\x1E\x07\xDF\x15\x8E(\xE8dsolcC\0\x08\x18\x003\xA2dipfsX\"\x12 P(::ethers::contract::Contract); impl ::core::clone::Clone for DeploySwapRouter02Executor { fn clone(&self) -> Self { @@ -108,11 +123,13 @@ pub mod deploy_swap_router_02_executor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DEPLOYSWAPROUTER02EXECUTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYSWAPROUTER02EXECUTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -162,7 +179,10 @@ pub mod deploy_swap_router_02_executor { ///Calls the contract's `run` (0xc0406226) function pub fn run( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([192, 64, 98, 38], ()) .expect("method not found (this should never happen)") @@ -175,8 +195,7 @@ pub mod deploy_swap_router_02_executor { } } impl From<::ethers::contract::Contract> - for DeploySwapRouter02Executor - { + for DeploySwapRouter02Executor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -186,11 +205,13 @@ pub mod deploy_swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] pub struct IsScriptCall; @@ -199,11 +220,13 @@ pub mod deploy_swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "run", abi = "run()")] pub struct RunCall; @@ -212,16 +235,27 @@ pub mod deploy_swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setUp", abi = "setUp()")] pub struct SetUpCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DeploySwapRouter02ExecutorCalls { IsScript(IsScriptCall), Run(RunCall), @@ -232,13 +266,19 @@ pub mod deploy_swap_router_02_executor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IsScript(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Run(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetUp(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -247,7 +287,9 @@ pub mod deploy_swap_router_02_executor { impl ::ethers::core::abi::AbiEncode for DeploySwapRouter02ExecutorCalls { fn encode(self) -> Vec { match self { - Self::IsScript(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), } @@ -282,11 +324,13 @@ pub mod deploy_swap_router_02_executor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsScriptReturn(pub bool); ///Container type for all return fields from the `run` function with signature `run()` and selector `0xc0406226` @@ -294,11 +338,13 @@ pub mod deploy_swap_router_02_executor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct RunReturn { pub executor: ::ethers::core::types::Address, diff --git a/crates/bindings-uniswapx/src/dutch_decay_lib.rs b/crates/bindings-uniswapx/src/dutch_decay_lib.rs index ab07384..ee489bd 100644 --- a/crates/bindings-uniswapx/src/dutch_decay_lib.rs +++ b/crates/bindings-uniswapx/src/dutch_decay_lib.rs @@ -7,7 +7,7 @@ pub use dutch_decay_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod dutch_decay_lib { #[allow(deprecated)] @@ -19,17 +19,23 @@ pub mod dutch_decay_lib { errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "EndTimeBeforeStartTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + inputs: ::std::vec![], + }, + ], ), ]), receive: false, @@ -37,18 +43,21 @@ pub mod dutch_decay_lib { } } ///The parsed JSON ABI of the contract. - pub static DUTCHDECAYLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DUTCHDECAYLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC+\xA1\x81\xF2\x19\x82\r\xF3C\0g\xD4\xCB(\x0BO\xD4\x93\xBA3\xB4\t\x14\x94Jk:P\xCD\xA1\xDAdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE2\x05\x19\xD3\xBB\xF8b\xEA6l7I\x88\x8B3\xE1ix\xC9x\xA7dok\xE1nC\xE4\xA6\x14\xC8hdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DUTCHDECAYLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DUTCHDECAYLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC+\xA1\x81\xF2\x19\x82\r\xF3C\0g\xD4\xCB(\x0BO\xD4\x93\xBA3\xB4\t\x14\x94Jk:P\xCD\xA1\xDAdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE2\x05\x19\xD3\xBB\xF8b\xEA6l7I\x88\x8B3\xE1ix\xC9x\xA7dok\xE1nC\xE4\xA6\x14\xC8hdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DUTCHDECAYLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DUTCHDECAYLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DutchDecayLib(::ethers::contract::Contract); impl ::core::clone::Clone for DutchDecayLib { fn clone(&self) -> Self { @@ -80,11 +89,13 @@ pub mod dutch_decay_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DUTCHDECAYLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DUTCHDECAYLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -127,8 +138,7 @@ pub mod dutch_decay_lib { } } impl From<::ethers::contract::Contract> - for DutchDecayLib - { + for DutchDecayLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -138,11 +148,13 @@ pub mod dutch_decay_lib { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "EndTimeBeforeStartTime", abi = "EndTimeBeforeStartTime()")] pub struct EndTimeBeforeStartTime; @@ -151,16 +163,27 @@ pub mod dutch_decay_lib { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "IncorrectAmounts", abi = "IncorrectAmounts()")] pub struct IncorrectAmounts; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DutchDecayLibErrors { EndTimeBeforeStartTime(EndTimeBeforeStartTime), IncorrectAmounts(IncorrectAmounts), @@ -173,18 +196,19 @@ pub mod dutch_decay_lib { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::EndTimeBeforeStartTime(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IncorrectAmounts(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -196,7 +220,9 @@ pub mod dutch_decay_lib { Self::EndTimeBeforeStartTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::IncorrectAmounts(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::IncorrectAmounts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -206,11 +232,11 @@ pub mod dutch_decay_lib { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ => false, @@ -220,7 +246,9 @@ pub mod dutch_decay_lib { impl ::core::fmt::Display for DutchDecayLibErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::EndTimeBeforeStartTime(element) => ::core::fmt::Display::fmt(element, f), + Self::EndTimeBeforeStartTime(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::IncorrectAmounts(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } diff --git a/crates/bindings-uniswapx/src/dutch_order_lib.rs b/crates/bindings-uniswapx/src/dutch_order_lib.rs index 88a3fbf..cbbd2cf 100644 --- a/crates/bindings-uniswapx/src/dutch_order_lib.rs +++ b/crates/bindings-uniswapx/src/dutch_order_lib.rs @@ -7,7 +7,7 @@ pub use dutch_order_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod dutch_order_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod dutch_order_lib { } } ///The parsed JSON ABI of the contract. - pub static DUTCHORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DUTCHORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 6p\xA5Y\xA8\xED\xF8\x01HN\xD9\xED\x8Fe\xF3\x12\x82\xA1\xFAR\x8E\x8E \xC82\xBE\xBF\xB7\xE4\xEC\xAF\x85dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFC\x90 \x83\x16\xA6\xC5\x9E&?\xAA\xE6v/\x85\xD3v7\xEE\x9D\xAA\x13\xEEh\xC8\xBF\xAF?\xCF\x06\xD1\xF5dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DUTCHORDERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DUTCHORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 6p\xA5Y\xA8\xED\xF8\x01HN\xD9\xED\x8Fe\xF3\x12\x82\xA1\xFAR\x8E\x8E \xC82\xBE\xBF\xB7\xE4\xEC\xAF\x85dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFC\x90 \x83\x16\xA6\xC5\x9E&?\xAA\xE6v/\x85\xD3v7\xEE\x9D\xAA\x13\xEEh\xC8\xBF\xAF?\xCF\x06\xD1\xF5dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DUTCHORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DUTCHORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DutchOrderLib(::ethers::contract::Contract); impl ::core::clone::Clone for DutchOrderLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod dutch_order_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DUTCHORDERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DUTCHORDERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod dutch_order_lib { } } impl From<::ethers::contract::Contract> - for DutchOrderLib - { + for DutchOrderLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/dutch_order_reactor.rs b/crates/bindings-uniswapx/src/dutch_order_reactor.rs index 60da9f0..4334a0d 100644 --- a/crates/bindings-uniswapx/src/dutch_order_reactor.rs +++ b/crates/bindings-uniswapx/src/dutch_order_reactor.rs @@ -7,7 +7,7 @@ pub use dutch_order_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod dutch_order_reactor { pub use super::super::shared_types::*; @@ -33,398 +33,480 @@ pub mod dutch_order_reactor { ], }), functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IPermit2"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "DeadlineBeforeEndTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "EndTimeBeforeStartTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InputAndOutputDecay"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InputAndOutputDecay",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientEth"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientEth"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InputAndOutputDecay", + ), + inputs: ::std::vec![], + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], ), ]), - receive: false, + receive: true, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static DUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static DUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x003!8\x03\x80b\x003!\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa2\x01b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x14]\x01Ra\x186\x01Ra2\x01`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a$\xE9V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a%lV[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a%\x89V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a%lV[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea&jV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xCEV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\x8E\x81a\x1BlV[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xD9W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\x83W`\0[\x81`\x80\x01QQ\x81\x10\x15a\n\x81W\x81`\x80\x01Q\x81\x81Q\x81\x10a\n\x14Wa\n\x14a&jV[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\n6Wa\n6a&jV[` \x02` \x01\x01Q` \x01Q\x14a\nyW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\t\xF1V[P[PV[a\n\xC0`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0B\x02W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0B\x18\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0BvWa\x0Bva&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xDFW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\x94W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C6Wa\x0C\x11\x86\x82\x81Q\x81\x10a\x0C\x02Wa\x0C\x02a&jV[` \x02` \x01\x01Q\x86\x86a\x1C\xC9V[\x83\x82\x81Q\x81\x10a\x0C#Wa\x0C#a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xE5V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\r\xE5\x93\x92\x91\x90a-\xB3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\x08\x83`\0\x01Qa\x1D\x99V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x0E:\x89`\x80\x01Qa\x1E3V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0E\xC9WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0F \x90\x85\x90`\x04\x01a-\xF6V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x83\x91\x90\x81\x01\x90a.\tV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x9B\x82\x84a/\x08V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\xB3Wa\x0F\xB3a&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10\x1CW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F\xD1W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x10mW\x85`@\x01Q\x81\x81Q\x81\x10a\x10@Wa\x10@a&jV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x10ZWa\x10Za&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x10\"V[P`\0[\x82\x81\x10\x15a\x13\x14W`\0\x85\x82\x81Q\x81\x10a\x10\x8DWa\x10\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x11KW\x86\x81\x81Q\x81\x10a\x10\xB4Wa\x10\xB4a&jV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11CW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x10\x9AV[P`\0\x80[\x86\x81\x10\x15a\x11\xD0W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x11pWa\x11pa&jV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\xC7W` \x81\x01Qa\x11\xC4\x90\x84a/\x08V[\x92P[P`\x01\x01a\x11PV[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\rW` \x80\x89\x01Q\x01Qa\x12\n\x90\x82a/\x08V[\x90P[\x80`\0\x03a\x12bW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x12p\x81`\x05a'\x10a\x1E\xD1V[\x82` \x01Q\x11\x15a\x12\xE3W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x12\xEF\x85\x89a/\x08V[\x81Q\x81\x10a\x12\xFFWa\x12\xFFa&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x10qV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13tW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x13\xB3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\x81W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x14/\x90\x84\x90\x86\x90`\x04\x01a/\x1BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x14GW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x15\x1B\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x15%\x85\x85a\x1F\rV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16p\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\x16\xDD\x93\x92\x91\x90a-\xB3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a1\x11` \x83\x019`@Q` \x01a\x170\x92\x91\x90a/JV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x9D\x96\x95\x94\x93\x92`\x04\x01a/\xA5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x18\x93W`\0\x82\x82\x81Q\x81\x10a\x17\xEBWa\x17\xEBa&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x18\x89W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x18\x1DWa\x18\x1Da&jV[` \x02` \x01\x01Q\x90Pa\x18\x80\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1FT\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x17\xF8V[PP`\x01\x01a\x17\xCEV[PG\x15a\n\x83Wa\n\x83`\x003Ga \xD1V[```\0\x80[\x83Q\x81\x10\x15a\x18\xE5W\x83\x81\x81Q\x81\x10a\x18\xC7Wa\x18\xC7a&jV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x18\xACV[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xFFWa\x18\xFFa&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x19hW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x19\x1DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1BdW`\0\x84\x82\x81Q\x81\x10a\x19\x8DWa\x19\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1BZW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xBFWa\x19\xBFa&jV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1A\x9BW`\0\x88\x82\x81Q\x81\x10a\x19\xE9Wa\x19\xE9a&jV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1AiWP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1A\x92W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1A\x88\x91\x90a/\x08V[\x90RPa\x1A\x9B\x90PV[P`\x01\x01a\x19\xCDV[P\x80a\x1BPW`@\x82\x01Q\x82Q`\0\x91a\x1A\xCB\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a!\xACV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1B(\x91\x90a/\x08V[\x81RP\x88\x88\x81Q\x81\x10a\x1B=Wa\x1B=a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x19\x9AV[PP`\x01\x01a\x19pV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\x81W`\0\x82\x82\x81Q\x81\x10a\x1B\x8CWa\x1B\x8Ca&jV[` \x02` \x01\x01Q\x90P`\0a\x1B\xC9\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a!\xAC\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1C\x1AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1C'\x90a0mV[\x91PPa\x1BoV[`\0\x82\x82\x10\x15a\x1CkW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1CyWP\x82a\x1C\xC1V[B\x83\x10a\x1C\x87WP\x83a\x1C\xC1V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xACWa\x1C\xA3\x86\x88\x03\x83\x83a\x1E\xD1V[\x87\x03\x92Pa\x1C\xBEV[a\x1C\xB9\x87\x87\x03\x83\x83a\x1E\xD1V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D(W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D>\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0E\x8C\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1ESWa\x1ESa&;V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E}W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xC2W`\0a\x1E\xB0\x85\x83\x81Q\x81\x10a\x1E\xA3Wa\x1E\xA3a&jV[` \x02` \x01\x01Qa\"~V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x83V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a \x0FW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xC9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xCEV[``\x91P[PP\x90P\x80a \tW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a 6\x86a\"\xF5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a \xB3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a \xC7W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\x86W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a!FW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!KV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a!\xA7s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a#\x9FV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\xE7WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x1FNV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\"SW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\"w\x91\x90a0\xA5V[\x93\x92PPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a0\xBF`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0E\x8C\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#\x9BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\x83W`\0\x80\xFD[\x805a$\x9B\x81a$nV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\xB2W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xCAW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$\xE2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a$\xFFW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\x17W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a%+W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a%=\x82a$nV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a%SW`\0\x80\xFD[Pa%`\x87\x82\x88\x01a$\xA0V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a%~W`\0\x80\xFD[\x815a\"w\x81a$nV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a%\xA1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\xB9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a%\xCDW`\0\x80\xFD[\x815\x81\x81\x11\x15a%\xDCW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a%\xF1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa&\x07` \x89\x01a$\x90V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a&\x1DW`\0\x80\xFD[Pa&*\x88\x82\x89\x01a$\xA0V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&\xCDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a'\x0CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a''W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$\xE2W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\x15Wa(\x15a&;V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a(.W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(HWa(Ha&;V[a(y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'\xCEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a(\xBDW`\0\x80\xFD[a(\xC5a'W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a!xV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\"&V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\"hV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"\xF6V[a\x06\x83V[a\0\xB9a\x01l6`\x04a#\x1AV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"\xF6V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a#~V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x95V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a&GV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BDV[a\x04\xB5\x81a\x0B\x95V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x95V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia#~V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BDV[a\x08\x86\x81a\x0B\x95V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a&\x85V[\x81\x01\x90a\n|\x91\x90a)wV[\x90Pa\n\x87\x81a\x0C\xE8V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xD3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x0E\xA5\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a&\x85V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\x8CV[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0BeWa\x0Bea#~V[` \x02` \x01\x01Q\x90Pa\x0Bx\x81a\x11\xF6V[a\x0B\x82\x813a\x16\xE6V[a\x0B\x8C\x813a\x17\xE7V[P`\x01\x01a\x0BIV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD7W`\0\x83\x82\x81Q\x81\x10a\x0B\xB6Wa\x0B\xB6a#~V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C7W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xEDWa\x0B\xEDa#~V[` \x02` \x01\x01Q\x90Pa\x0C.\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1BW\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xCDV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x80Wa\x0C\x80a#~V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC5\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x9AV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\x9EV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\r+W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\x80\x01QQ\x81\x10\x15a\x04\xC1W\x81`\x80\x01Q\x81\x81Q\x81\x10a\rfWa\rfa#~V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\r\x88Wa\r\x88a#~V[` \x02` \x01\x01Q` \x01Q\x14a\r\xCBW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rCV[a\x0E\r`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EOW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Ee\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xC3Wa\x0E\xC3a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F,W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xE1W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\x83Wa\x0F^\x86\x82\x81Q\x81\x10a\x0FOWa\x0FOa#~V[` \x02` \x01\x01Q\x86\x86a\x1C\xDFV[\x83\x82\x81Q\x81\x10a\x0FpWa\x0Fpa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x112\x93\x92\x91\x90a*\xABV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x11U\x83`\0\x01Qa\x1D\xAFV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x11\x87\x89`\x80\x01Qa\x1EIV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x12\x16WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x12m\x90\x85\x90`\x04\x01a*\xEEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x12\xD0\x91\x90\x81\x01\x90a+\x01V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x12\xE8\x82\x84a+\xD1V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\0Wa\x13\0a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13iW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\x1EW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x13\xBAW\x85`@\x01Q\x81\x81Q\x81\x10a\x13\x8DWa\x13\x8Da#~V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x13\xA7Wa\x13\xA7a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13oV[P`\0\x80`\0[\x84\x81\x10\x15a\x16\xD5W`\0\x87\x82\x81Q\x81\x10a\x13\xDDWa\x13\xDDa#~V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x14\x9BW\x88\x81\x81Q\x81\x10a\x14\x04Wa\x14\x04a#~V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x93W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x13\xEAV[P`\0\x80[\x88\x81\x10\x15a\x15\\W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x14\xC0Wa\x14\xC0a#~V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15SW\x85\x15a\x15=W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x15L\x90\x84a+\xD1V[\x92P`\x01\x96P[P`\x01\x01a\x14\xA0V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x15\xD5W\x84\x15a\x15\xBCW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x15\xCE\x90\x82a+\xD1V[\x90P`\x01\x93P[\x80`\0\x03a\x16*W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x168\x81`\x05a'\x10a\x1E\xE7V[\x82` \x01Q\x11\x15a\x16\xABW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x13\xC1V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x177W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x17\xB3\x90\x84\x90\x86\x90`\x04\x01a,\x0BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x17\xCBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x18\xA7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x18\xB1\x85\x85a\x1F#V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x19\xFC\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x1Ai\x93\x92\x91\x90a*\xABV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a-\xB0` \x83\x019`@Q` \x01a\x1A\xBC\x92\x91\x90a,:V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1B)\x96\x95\x94\x93\x92`\x04\x01a,\x95V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1BCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B|Wa\x03_\x82\x82a\x1B\x9EV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1FjV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1B\xF8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xFDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1CHWP\x83a\x1C\xD7V[\x82\x82\x11a\x1C\x81W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1C\x8FWP\x82a\x1C\xD7V[B\x83\x10a\x1C\x9DWP\x83a\x1C\xD7V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xC2Wa\x1C\xB9\x86\x88\x03\x83\x83a\x1E\xE7V[\x87\x03\x92Pa\x1C\xD4V[a\x1C\xCF\x87\x87\x03\x83\x83a \\V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D>W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1DT\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x11\xD9\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1EiWa\x1Eia#OV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xD8W`\0a\x1E\xC6\x85\x83\x81Q\x81\x10a\x1E\xB9Wa\x1E\xB9a#~V[` \x02` \x01\x01Qa \xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x1CW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \x91W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a-^`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x11\xD9\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a!)W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a!AW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!YW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a!\x8DW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xA5W`\0\x80\xFD[a!\xB1\x87\x83\x88\x01a!\x17V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!\xC7W`\0\x80\xFD[Pa!\xD4\x86\x82\x87\x01a!/V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!\xF3W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\x0BW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\"9W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"PW`\0\x80\xFD[a\"\\\x85\x82\x86\x01a!\xE1V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\"~W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\x96W`\0\x80\xFD[a\"\xA2\x88\x83\x89\x01a!\xE1V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\xBBW`\0\x80\xFD[Pa\"\xC8\x87\x82\x88\x01a!/V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a#\x08W`\0\x80\xFD[\x815a#\x13\x81a\"\xD4V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a#,W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#CW`\0\x80\xFD[a\x1C\xD7\x84\x82\x85\x01a!\x17V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#\xC8W\x81\x81\x01Q\x83\x82\x01R` \x01a#\xB0V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\xE9\x81` \x86\x01` \x86\x01a#\xADV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a${W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a$0V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\xFAa\x01\xA0\x85\x01\x82a#\xD1V[\x90P` \x83\x01Qa%8` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra%P\x82\x82a$\x1BV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%j\x82\x82a#\xD1V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%\xF6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%\xE4\x86\x83Qa$\x86V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%\xAAV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&{W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&\xBAW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&\xD5W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a!qW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\xC3Wa'\xC3a#OV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'\xDCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xF6Wa'\xF6a#OV[a('` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(:pCh\xFE\xB9\x94\x851\xAA\xBC\x1A\x1B\xE1\x1C\xB2\x06z\x90\xEF\x9D\x87>\x91\xD9\xB7\x9E8\x83dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static DUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static DUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a$\xE9V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a%lV[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a%\x89V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a%lV[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea&jV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xCEV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\x8E\x81a\x1BlV[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xD9W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\x83W`\0[\x81`\x80\x01QQ\x81\x10\x15a\n\x81W\x81`\x80\x01Q\x81\x81Q\x81\x10a\n\x14Wa\n\x14a&jV[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\n6Wa\n6a&jV[` \x02` \x01\x01Q` \x01Q\x14a\nyW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\t\xF1V[P[PV[a\n\xC0`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0B\x02W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0B\x18\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0BvWa\x0Bva&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xDFW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\x94W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C6Wa\x0C\x11\x86\x82\x81Q\x81\x10a\x0C\x02Wa\x0C\x02a&jV[` \x02` \x01\x01Q\x86\x86a\x1C\xC9V[\x83\x82\x81Q\x81\x10a\x0C#Wa\x0C#a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xE5V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\r\xE5\x93\x92\x91\x90a-\xB3V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\x08\x83`\0\x01Qa\x1D\x99V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x0E:\x89`\x80\x01Qa\x1E3V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0E\xC9WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0F \x90\x85\x90`\x04\x01a-\xF6V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0F=W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x83\x91\x90\x81\x01\x90a.\tV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x9B\x82\x84a/\x08V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\xB3Wa\x0F\xB3a&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x10\x1CW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F\xD1W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x10mW\x85`@\x01Q\x81\x81Q\x81\x10a\x10@Wa\x10@a&jV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x10ZWa\x10Za&jV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x10\"V[P`\0[\x82\x81\x10\x15a\x13\x14W`\0\x85\x82\x81Q\x81\x10a\x10\x8DWa\x10\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x11KW\x86\x81\x81Q\x81\x10a\x10\xB4Wa\x10\xB4a&jV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11CW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x10\x9AV[P`\0\x80[\x86\x81\x10\x15a\x11\xD0W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x11pWa\x11pa&jV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\xC7W` \x81\x01Qa\x11\xC4\x90\x84a/\x08V[\x92P[P`\x01\x01a\x11PV[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\rW` \x80\x89\x01Q\x01Qa\x12\n\x90\x82a/\x08V[\x90P[\x80`\0\x03a\x12bW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x12p\x81`\x05a'\x10a\x1E\xD1V[\x82` \x01Q\x11\x15a\x12\xE3W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x12\xEF\x85\x89a/\x08V[\x81Q\x81\x10a\x12\xFFWa\x12\xFFa&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x10qV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13tW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x13\xB3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\x81W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x14/\x90\x84\x90\x86\x90`\x04\x01a/\x1BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x14GW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x15\x1B\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x15%\x85\x85a\x1F\rV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16p\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a0\xBF` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919`@Q` \x01a\x16\xDD\x93\x92\x91\x90a-\xB3V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a1\x11` \x83\x019`@Q` \x01a\x170\x92\x91\x90a/JV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x9D\x96\x95\x94\x93\x92`\x04\x01a/\xA5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x8EW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x18\x93W`\0\x82\x82\x81Q\x81\x10a\x17\xEBWa\x17\xEBa&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x18\x89W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x18\x1DWa\x18\x1Da&jV[` \x02` \x01\x01Q\x90Pa\x18\x80\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1FT\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x17\xF8V[PP`\x01\x01a\x17\xCEV[PG\x15a\n\x83Wa\n\x83`\x003Ga \xD1V[```\0\x80[\x83Q\x81\x10\x15a\x18\xE5W\x83\x81\x81Q\x81\x10a\x18\xC7Wa\x18\xC7a&jV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x18\xACV[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x18\xFFWa\x18\xFFa&;V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x19hW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x19\x1DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1BdW`\0\x84\x82\x81Q\x81\x10a\x19\x8DWa\x19\x8Da&jV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1BZW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xBFWa\x19\xBFa&jV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1A\x9BW`\0\x88\x82\x81Q\x81\x10a\x19\xE9Wa\x19\xE9a&jV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1AiWP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1A\x92W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1A\x88\x91\x90a/\x08V[\x90RPa\x1A\x9B\x90PV[P`\x01\x01a\x19\xCDV[P\x80a\x1BPW`@\x82\x01Q\x82Q`\0\x91a\x1A\xCB\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a!\xACV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1B(\x91\x90a/\x08V[\x81RP\x88\x88\x81Q\x81\x10a\x1B=Wa\x1B=a&jV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x19\x9AV[PP`\x01\x01a\x19pV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\x81W`\0\x82\x82\x81Q\x81\x10a\x1B\x8CWa\x1B\x8Ca&jV[` \x02` \x01\x01Q\x90P`\0a\x1B\xC9\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a!\xAC\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1C\x1AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1C'\x90a0mV[\x91PPa\x1BoV[`\0\x82\x82\x10\x15a\x1CkW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1CyWP\x82a\x1C\xC1V[B\x83\x10a\x1C\x87WP\x83a\x1C\xC1V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xACWa\x1C\xA3\x86\x88\x03\x83\x83a\x1E\xD1V[\x87\x03\x92Pa\x1C\xBEV[a\x1C\xB9\x87\x87\x03\x83\x83a\x1E\xD1V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D(W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1D>\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C/V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a1?`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0E\x8C\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1ESWa\x1ESa&;V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E}W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xC2W`\0a\x1E\xB0\x85\x83\x81Q\x81\x10a\x1E\xA3Wa\x1E\xA3a&jV[` \x02` \x01\x01Qa\"~V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x83V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a \x0FW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xC9W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xCEV[``\x91P[PP\x90P\x80a \tW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a 6\x86a\"\xF5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a \xB3W`\0\x80\xFD[PZ\xF1\x15\x80\x15a \xC7W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\x86W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a!FW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!KV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a!\xA7s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a#\x9FV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a!\xE7WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x1FNV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\"SW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\"w\x91\x90a0\xA5V[\x93\x92PPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a0\xBF`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0E\x8C\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#\x9BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\x83W`\0\x80\xFD[\x805a$\x9B\x81a$nV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\xB2W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xCAW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$\xE2W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a$\xFFW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\x17W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a%+W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a%=\x82a$nV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a%SW`\0\x80\xFD[Pa%`\x87\x82\x88\x01a$\xA0V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a%~W`\0\x80\xFD[\x815a\"w\x81a$nV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a%\xA1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%\xB9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a%\xCDW`\0\x80\xFD[\x815\x81\x81\x11\x15a%\xDCW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a%\xF1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa&\x07` \x89\x01a$\x90V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a&\x1DW`\0\x80\xFD[Pa&*\x88\x82\x89\x01a$\xA0V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&\xCDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a'\x0CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a''W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$\xE2W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'_Wa'_a&;V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\x15Wa(\x15a&;V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a(.W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(HWa(Ha&;V[a(y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'\xCEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(\x8EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a(\xBDW`\0\x80\xFD[a(\xC5a'W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a!xV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\"&V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\"hV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"\xF6V[a\x06\x83V[a\0\xB9a\x01l6`\x04a#\x1AV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"\xF6V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a#~V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x95V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a&GV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BDV[a\x04\xB5\x81a\x0B\x95V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa#~V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BDV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a%\x81V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x95V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia#~V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BDV[a\x08\x86\x81a\x0B\x95V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a&\x85V[\x81\x01\x90a\n|\x91\x90a)wV[\x90Pa\n\x87\x81a\x0C\xE8V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xD3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x0E\xA5\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a&\x85V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\x8CV[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0BeWa\x0Bea#~V[` \x02` \x01\x01Q\x90Pa\x0Bx\x81a\x11\xF6V[a\x0B\x82\x813a\x16\xE6V[a\x0B\x8C\x813a\x17\xE7V[P`\x01\x01a\x0BIV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD7W`\0\x83\x82\x81Q\x81\x10a\x0B\xB6Wa\x0B\xB6a#~V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C7W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xEDWa\x0B\xEDa#~V[` \x02` \x01\x01Q\x90Pa\x0C.\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1BW\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xCDV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x80Wa\x0C\x80a#~V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC5\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x9AV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\x9EV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\r+W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\x80\x01QQ\x81\x10\x15a\x04\xC1W\x81`\x80\x01Q\x81\x81Q\x81\x10a\rfWa\rfa#~V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\r\x88Wa\r\x88a#~V[` \x02` \x01\x01Q` \x01Q\x14a\r\xCBW`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rCV[a\x0E\r`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EOW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Ee\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xC3Wa\x0E\xC3a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F,W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xE1W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\x83Wa\x0F^\x86\x82\x81Q\x81\x10a\x0FOWa\x0FOa#~V[` \x02` \x01\x01Q\x86\x86a\x1C\xDFV[\x83\x82\x81Q\x81\x10a\x0FpWa\x0Fpa#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x112\x93\x92\x91\x90a*\xABV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x11U\x83`\0\x01Qa\x1D\xAFV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x11\x87\x89`\x80\x01Qa\x1EIV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x12\x16WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x12m\x90\x85\x90`\x04\x01a*\xEEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x12\x8AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x12\xD0\x91\x90\x81\x01\x90a+\x01V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x12\xE8\x82\x84a+\xD1V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\0Wa\x13\0a#OV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13iW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\x1EW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x13\xBAW\x85`@\x01Q\x81\x81Q\x81\x10a\x13\x8DWa\x13\x8Da#~V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x13\xA7Wa\x13\xA7a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13oV[P`\0\x80`\0[\x84\x81\x10\x15a\x16\xD5W`\0\x87\x82\x81Q\x81\x10a\x13\xDDWa\x13\xDDa#~V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x14\x9BW\x88\x81\x81Q\x81\x10a\x14\x04Wa\x14\x04a#~V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x93W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x13\xEAV[P`\0\x80[\x88\x81\x10\x15a\x15\\W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x14\xC0Wa\x14\xC0a#~V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15SW\x85\x15a\x15=W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x15L\x90\x84a+\xD1V[\x92P`\x01\x96P[P`\x01\x01a\x14\xA0V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x15\xD5W\x84\x15a\x15\xBCW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x15\xCE\x90\x82a+\xD1V[\x90P`\x01\x93P[\x80`\0\x03a\x16*W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x168\x81`\x05a'\x10a\x1E\xE7V[\x82` \x01Q\x11\x15a\x16\xABW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x16\xC0Wa\x16\xC0a#~V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x13\xC1V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x177W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x17\xB3\x90\x84\x90\x86\x90`\x04\x01a,\x0BV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x17\xCBW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x18\xA7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x18\xB1\x85\x85a\x1F#V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x19\xFC\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a-^` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919`@Q` \x01a\x1Ai\x93\x92\x91\x90a*\xABV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a-\xB0` \x83\x019`@Q` \x01a\x1A\xBC\x92\x91\x90a,:V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1B)\x96\x95\x94\x93\x92`\x04\x01a,\x95V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1BCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x17\xDFW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B|Wa\x03_\x82\x82a\x1B\x9EV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1FjV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1B\xF8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1B\xFDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1CHWP\x83a\x1C\xD7V[\x82\x82\x11a\x1C\x81W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1C\x8FWP\x82a\x1C\xD7V[B\x83\x10a\x1C\x9DWP\x83a\x1C\xD7V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1C\xC2Wa\x1C\xB9\x86\x88\x03\x83\x83a\x1E\xE7V[\x87\x03\x92Pa\x1C\xD4V[a\x1C\xCF\x87\x87\x03\x83\x83a \\V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1D>W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1DT\x85` \x01Q\x86`@\x01Q\x86\x86a\x1C8V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a-\xDE`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x11\xD9\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1EiWa\x1Eia#OV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1E\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1E\xD8W`\0a\x1E\xC6\x85\x83\x81Q\x81\x10a\x1E\xB9Wa\x1E\xB9a#~V[` \x02` \x01\x01Qa \xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1E\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1F\x1CW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \x91W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a-^`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x11\xD9\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a!)W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a!AW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!YW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a!\x8DW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xA5W`\0\x80\xFD[a!\xB1\x87\x83\x88\x01a!\x17V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!\xC7W`\0\x80\xFD[Pa!\xD4\x86\x82\x87\x01a!/V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!\xF3W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\x0BW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a!qW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\"9W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"PW`\0\x80\xFD[a\"\\\x85\x82\x86\x01a!\xE1V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\"~W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\x96W`\0\x80\xFD[a\"\xA2\x88\x83\x89\x01a!\xE1V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\xBBW`\0\x80\xFD[Pa\"\xC8\x87\x82\x88\x01a!/V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a#\x08W`\0\x80\xFD[\x815a#\x13\x81a\"\xD4V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a#,W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#CW`\0\x80\xFD[a\x1C\xD7\x84\x82\x85\x01a!\x17V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#\xC8W\x81\x81\x01Q\x83\x82\x01R` \x01a#\xB0V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\xE9\x81` \x86\x01` \x86\x01a#\xADV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a${W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a$0V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\xFAa\x01\xA0\x85\x01\x82a#\xD1V[\x90P` \x83\x01Qa%8` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra%P\x82\x82a$\x1BV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%j\x82\x82a#\xD1V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%\xF6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%\xE4\x86\x83Qa$\x86V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%\xAAV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a&{W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&\xBAW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&\xD5W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a!qW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\rWa'\ra#OV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\xC3Wa'\xC3a#OV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'\xDCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xF6Wa'\xF6a#OV[a('` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a'|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a(:pCh\xFE\xB9\x94\x851\xAA\xBC\x1A\x1B\xE1\x1C\xB2\x06z\x90\xEF\x9D\x87>\x91\xD9\xB7\x9E8\x83dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static DUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static DUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct DutchOrderReactor(::ethers::contract::Contract); impl ::core::clone::Clone for DutchOrderReactor { fn clone(&self) -> Self { @@ -456,11 +538,13 @@ pub mod dutch_order_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - DUTCHORDERREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + DUTCHORDERREACTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -501,40 +585,51 @@ pub mod dutch_order_reactor { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `DIRECT_FILL` (0xfccbcaaf) function - pub fn direct_fill( + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( &self, - ) -> ::ethers::contract::builders::ContractCall { + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([252, 203, 202, 175], ()) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `execute` (0x05afc977) function - pub fn execute( + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( &self, - order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + orders: ::std::vec::Vec, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function - pub fn execute_batch( + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -542,7 +637,10 @@ pub mod dutch_order_reactor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -550,7 +648,10 @@ pub mod dutch_order_reactor { ///Calls the contract's `permit2` (0x12261ee7) function pub fn permit_2( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([18, 38, 30, 231], ()) .expect("method not found (this should never happen)") @@ -582,8 +683,11 @@ pub mod dutch_order_reactor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -599,15 +703,16 @@ pub mod dutch_order_reactor { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, DutchOrderReactorEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + DutchOrderReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for DutchOrderReactor - { + for DutchOrderReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -617,37 +722,28 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DeadlineBeforeEndTime", abi = "DeadlineBeforeEndTime()")] pub struct DeadlineBeforeEndTime; - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -658,11 +754,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "EndTimeBeforeStartTime", abi = "EndTimeBeforeStartTime()")] pub struct EndTimeBeforeStartTime; @@ -671,11 +769,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -688,11 +788,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "IncorrectAmounts", abi = "IncorrectAmounts()")] pub struct IncorrectAmounts; @@ -701,56 +803,43 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InputAndOutputDecay", abi = "InputAndOutputDecay()")] pub struct InputAndOutputDecay; - ///Custom Error type `InsufficientEth` with signature `InsufficientEth()` and selector `0xa01a9df6` + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[etherror(name = "InsufficientEth", abi = "InsufficientEth()")] - pub struct InsufficientEth; - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { @@ -761,11 +850,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; @@ -774,26 +865,35 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DutchOrderReactorErrors { DeadlineBeforeEndTime(DeadlineBeforeEndTime), - DeadlinePassed(DeadlinePassed), DuplicateFeeOutput(DuplicateFeeOutput), EndTimeBeforeStartTime(EndTimeBeforeStartTime), FeeTooLarge(FeeTooLarge), IncorrectAmounts(IncorrectAmounts), InputAndOutputDecay(InputAndOutputDecay), - InsufficientEth(InsufficientEth), - InsufficientOutput(InsufficientOutput), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), @@ -806,58 +906,59 @@ pub mod dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DeadlineBeforeEndTime(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::EndTimeBeforeStartTime(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IncorrectAmounts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InputAndOutputDecay(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InsufficientEth(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InsufficientOutput(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -869,24 +970,30 @@ pub mod dutch_order_reactor { Self::DeadlineBeforeEndTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } Self::EndTimeBeforeStartTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::IncorrectAmounts(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IncorrectAmounts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::InputAndOutputDecay(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InsufficientEth(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientOutput(element) => { + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -899,49 +1006,41 @@ pub mod dutch_order_reactor { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => true, + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -951,18 +1050,28 @@ pub mod dutch_order_reactor { impl ::core::fmt::Display for DutchOrderReactorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DeadlineBeforeEndTime(element) => ::core::fmt::Display::fmt(element, f), - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), - Self::EndTimeBeforeStartTime(element) => ::core::fmt::Display::fmt(element, f), + Self::DeadlineBeforeEndTime(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::EndTimeBeforeStartTime(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), Self::IncorrectAmounts(element) => ::core::fmt::Display::fmt(element, f), - Self::InputAndOutputDecay(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientEth(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputDecay(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -977,11 +1086,6 @@ pub mod dutch_order_reactor { Self::DeadlineBeforeEndTime(value) } } - impl ::core::convert::From for DutchOrderReactorErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } impl ::core::convert::From for DutchOrderReactorErrors { fn from(value: DuplicateFeeOutput) -> Self { Self::DuplicateFeeOutput(value) @@ -1007,14 +1111,9 @@ pub mod dutch_order_reactor { Self::InputAndOutputDecay(value) } } - impl ::core::convert::From for DutchOrderReactorErrors { - fn from(value: InsufficientEth) -> Self { - Self::InsufficientEth(value) - } - } - impl ::core::convert::From for DutchOrderReactorErrors { - fn from(value: InsufficientOutput) -> Self { - Self::InsufficientOutput(value) + impl ::core::convert::From for DutchOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) } } impl ::core::convert::From for DutchOrderReactorErrors { @@ -1036,11 +1135,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { @@ -1056,11 +1157,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -1076,11 +1179,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -1091,7 +1196,16 @@ pub mod dutch_order_reactor { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DutchOrderReactorEvents { FillFilter(FillFilter), OwnershipTransferredFilter(OwnershipTransferredFilter), @@ -1108,9 +1222,9 @@ pub mod dutch_order_reactor { return Ok(DutchOrderReactorEvents::OwnershipTransferredFilter(decoded)); } if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { - return Ok(DutchOrderReactorEvents::ProtocolFeeControllerSetFilter( - decoded, - )); + return Ok( + DutchOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ); } Err(::ethers::core::abi::Error::InvalidData) } @@ -1119,7 +1233,9 @@ pub mod dutch_order_reactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -1136,71 +1252,100 @@ pub mod dutch_order_reactor { Self::OwnershipTransferredFilter(value) } } - impl ::core::convert::From for DutchOrderReactorEvents { + impl ::core::convert::From + for DutchOrderReactorEvents { fn from(value: ProtocolFeeControllerSetFilter) -> Self { Self::ProtocolFeeControllerSetFilter(value) } } - ///Container type for all input parameters for the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "DIRECT_FILL", abi = "DIRECT_FILL()")] - pub struct DirectFillCall; - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] - pub struct ExecuteCall { - pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -1209,11 +1354,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -1222,11 +1369,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "permit2", abi = "permit2()")] pub struct Permit2Call; @@ -1235,11 +1384,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -1253,22 +1404,34 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum DutchOrderReactorCalls { - DirectFill(DirectFillCall), Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), FeeController(FeeControllerCall), Owner(OwnerCall), Permit2(Permit2Call), @@ -1280,34 +1443,49 @@ pub mod dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DirectFill(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit2(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1316,38 +1494,51 @@ pub mod dutch_order_reactor { impl ::ethers::core::abi::AbiEncode for DutchOrderReactorCalls { fn encode(self) -> Vec { match self { - Self::DirectFill(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for DutchOrderReactorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DirectFill(element) => ::core::fmt::Display::fmt(element, f), Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for DutchOrderReactorCalls { - fn from(value: DirectFillCall) -> Self { - Self::DirectFill(value) - } - } impl ::core::convert::From for DutchOrderReactorCalls { fn from(value: ExecuteCall) -> Self { Self::Execute(value) @@ -1358,6 +1549,16 @@ pub mod dutch_order_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From for DutchOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for DutchOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } impl ::core::convert::From for DutchOrderReactorCalls { fn from(value: FeeControllerCall) -> Self { Self::FeeController(value) @@ -1383,28 +1584,18 @@ pub mod dutch_order_reactor { Self::TransferOwnership(value) } } - ///Container type for all return fields from the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DirectFillReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -1412,11 +1603,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` @@ -1424,11 +1617,13 @@ pub mod dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Permit2Return(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/ecdsa.rs b/crates/bindings-uniswapx/src/ecdsa.rs index 9bfdf9e..03605ee 100644 --- a/crates/bindings-uniswapx/src/ecdsa.rs +++ b/crates/bindings-uniswapx/src/ecdsa.rs @@ -7,7 +7,7 @@ pub use ecdsa::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod ecdsa { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod ecdsa { } } ///The parsed JSON ABI of the contract. - pub static ECDSA_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ECDSA_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\x158\xF5\xA5WnX{\xB2\x8Ag\x84\x0FVd{fl\0\xA9j\xDD}\xEF+/h\x13\x07\xEE\x07dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x15%\x19\xFD\xD4\x9F\xF9\x1C\x1A y\xCF\xB47wM\xC2\xB7\xAB\xF7|v\x99\xBA?/\x96\xA3t\xA2?\xCEdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static ECDSA_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ECDSA_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\x158\xF5\xA5WnX{\xB2\x8Ag\x84\x0FVd{fl\0\xA9j\xDD}\xEF+/h\x13\x07\xEE\x07dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x15%\x19\xFD\xD4\x9F\xF9\x1C\x1A y\xCF\xB47wM\xC2\xB7\xAB\xF7|v\x99\xBA?/\x96\xA3t\xA2?\xCEdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static ECDSA_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ECDSA_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ECDSA(::ethers::contract::Contract); impl ::core::clone::Clone for ECDSA { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod ecdsa { } impl ::core::fmt::Debug for ECDSA { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ECDSA)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(ECDSA)).field(&self.address()).finish() } } impl ECDSA { @@ -65,11 +66,13 @@ pub mod ecdsa { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ECDSA_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ECDSA_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod ecdsa { Ok(deployer) } } - impl From<::ethers::contract::Contract> for ECDSA { + impl From<::ethers::contract::Contract> + for ECDSA { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/eip712.rs b/crates/bindings-uniswapx/src/eip712.rs index 17f54ab..f0a6b20 100644 --- a/crates/bindings-uniswapx/src/eip712.rs +++ b/crates/bindings-uniswapx/src/eip712.rs @@ -7,105 +7,127 @@ pub use eip712::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod eip712 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("eip712Domain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("eip712Domain"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fields"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(1usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes1"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("name"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("chainId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("verifyingContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("salt"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("eip712Domain"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("eip712Domain"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fields"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 1usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes1"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("name"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("version"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("chainId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("verifyingContract"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("salt"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("extensions"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("extensions"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("EIP712DomainChanged"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "EIP712DomainChanged", ), + inputs: ::std::vec![], + anonymous: false, }, ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("EIP712DomainChanged"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EIP712DomainChanged",), - inputs: ::std::vec![], - anonymous: false, - },], - )]), + ), + ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("InvalidShortString"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidShortString"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidShortString"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("StringTooLong"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("StringTooLong"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("str"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("StringTooLong"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("str"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + }, + ], ), ]), receive: false, @@ -113,8 +135,9 @@ pub mod eip712 { } } ///The parsed JSON ABI of the contract. - pub static EIP712_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static EIP712_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct EIP712(::ethers::contract::Contract); impl ::core::clone::Clone for EIP712 { fn clone(&self) -> Self { @@ -134,9 +157,7 @@ pub mod eip712 { } impl ::core::fmt::Debug for EIP712 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(EIP712)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(EIP712)).field(&self.address()).finish() } } impl EIP712 { @@ -146,11 +167,13 @@ pub mod eip712 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EIP712_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + EIP712_ABI.clone(), + client, + ), + ) } ///Calls the contract's `eip712Domain` (0x84b0196e) function pub fn eip_712_domain( @@ -174,20 +197,26 @@ pub mod eip712 { ///Gets the contract's `EIP712DomainChanged` event pub fn eip712_domain_changed_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Eip712DomainChangedFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Eip712DomainChangedFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Eip712DomainChangedFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Eip712DomainChangedFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for EIP712 { + impl From<::ethers::contract::Contract> + for EIP712 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -197,11 +226,13 @@ pub mod eip712 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidShortString", abi = "InvalidShortString()")] pub struct InvalidShortString; @@ -210,18 +241,29 @@ pub mod eip712 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "StringTooLong", abi = "StringTooLong(string)")] pub struct StringTooLong { pub str: ::std::string::String, } ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum EIP712Errors { InvalidShortString(InvalidShortString), StringTooLong(StringTooLong), @@ -234,17 +276,19 @@ pub mod eip712 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidShortString(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::StringTooLong(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -256,7 +300,9 @@ pub mod eip712 { Self::InvalidShortString(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::StringTooLong(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::StringTooLong(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -266,11 +312,11 @@ pub mod eip712 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ => false, @@ -280,7 +326,9 @@ pub mod eip712 { impl ::core::fmt::Display for EIP712Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::InvalidShortString(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidShortString(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::StringTooLong(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } @@ -305,11 +353,13 @@ pub mod eip712 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "EIP712DomainChanged", abi = "EIP712DomainChanged()")] pub struct Eip712DomainChangedFilter; @@ -318,11 +368,13 @@ pub mod eip712 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "eip712Domain", abi = "eip712Domain()")] pub struct Eip712DomainCall; @@ -331,11 +383,13 @@ pub mod eip712 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Eip712DomainReturn { pub fields: [u8; 1], diff --git a/crates/bindings-uniswapx/src/erc20.rs b/crates/bindings-uniswapx/src/erc20.rs index c555315..71bff00 100644 --- a/crates/bindings-uniswapx/src/erc20.rs +++ b/crates/bindings-uniswapx/src/erc20.rs @@ -7,7 +7,7 @@ pub use erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod erc20 { #[allow(deprecated)] @@ -17,368 +17,450 @@ pub mod erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("nonces"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("nonces"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("nonces"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deadline"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("v"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("r"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deadline"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("v"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("r"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("s"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -387,8 +469,9 @@ pub mod erc20 { } } ///The parsed JSON ABI of the contract. - pub static ERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct ERC20(::ethers::contract::Contract); impl ::core::clone::Clone for ERC20 { fn clone(&self) -> Self { @@ -408,9 +491,7 @@ pub mod erc20 { } impl ::core::fmt::Debug for ERC20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ERC20)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(ERC20)).field(&self.address()).finish() } } impl ERC20 { @@ -420,14 +501,18 @@ pub mod erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ERC20_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ERC20_ABI.clone(), + client, + ), + ) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -468,7 +553,9 @@ pub mod erc20 { .expect("method not found (this should never happen)") } ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") @@ -540,24 +627,32 @@ pub mod erc20 { ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ERC20Events> { - self.0 - .event_with_filter(::core::default::Default::default()) + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for ERC20 { + impl From<::ethers::contract::Contract> + for ERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -566,11 +661,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -584,11 +681,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -599,7 +698,16 @@ pub mod erc20 { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ERC20Events { ApprovalFilter(ApprovalFilter), TransferFilter(TransferFilter), @@ -640,11 +748,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -653,11 +763,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall( @@ -669,11 +781,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { @@ -685,11 +799,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall(pub ::ethers::core::types::Address); @@ -698,11 +814,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; @@ -711,11 +829,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; @@ -724,11 +844,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "nonces", abi = "nonces(address)")] pub struct NoncesCall(pub ::ethers::core::types::Address); @@ -737,11 +859,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -761,11 +885,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; @@ -774,11 +900,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; @@ -787,11 +915,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { @@ -803,11 +933,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -816,7 +948,16 @@ pub mod erc20 { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ERC20Calls { DomainSeparator(DomainSeparatorCall), Allowance(AllowanceCall), @@ -836,43 +977,64 @@ pub mod erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Nonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -881,18 +1043,32 @@ pub mod erc20 { impl ::ethers::core::abi::AbiEncode for ERC20Calls { fn encode(self) -> Vec { match self { - Self::DomainSeparator(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::DomainSeparator(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Nonces(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -979,11 +1155,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` @@ -991,11 +1169,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` @@ -1003,11 +1183,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` @@ -1015,11 +1197,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` @@ -1027,11 +1211,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` @@ -1039,11 +1225,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); ///Container type for all return fields from the `nonces` function with signature `nonces(address)` and selector `0x7ecebe00` @@ -1051,11 +1239,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NoncesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` @@ -1063,11 +1253,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` @@ -1075,11 +1267,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` @@ -1087,11 +1281,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` @@ -1099,11 +1295,13 @@ pub mod erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/bindings-uniswapx/src/exclusive_dutch_order_lib.rs b/crates/bindings-uniswapx/src/exclusive_dutch_order_lib.rs index fa33293..1ead87e 100644 --- a/crates/bindings-uniswapx/src/exclusive_dutch_order_lib.rs +++ b/crates/bindings-uniswapx/src/exclusive_dutch_order_lib.rs @@ -7,7 +7,7 @@ pub use exclusive_dutch_order_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod exclusive_dutch_order_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod exclusive_dutch_order_lib { } } ///The parsed JSON ABI of the contract. - pub static EXCLUSIVEDUTCHORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static EXCLUSIVEDUTCHORDERLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF0\x91m\"\t\xBC$\xC7d\xACEc\x9C\xC8\xDC\xE2\xDE\xA5#\x1AB\xE4t\xA9\xEC\xFF\x12\xB2s\xD3_\xADdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBFU\xB1|\x17\x0B\xD4\xD5\x89\xF3\\}$1Y\xE1\x99\xF9\x91\xC3\\xjV\xCC(k]]\xC5\xAE\xBBdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static EXCLUSIVEDUTCHORDERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static EXCLUSIVEDUTCHORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF0\x91m\"\t\xBC$\xC7d\xACEc\x9C\xC8\xDC\xE2\xDE\xA5#\x1AB\xE4t\xA9\xEC\xFF\x12\xB2s\xD3_\xADdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBFU\xB1|\x17\x0B\xD4\xD5\x89\xF3\\}$1Y\xE1\x99\xF9\x91\xC3\\xjV\xCC(k]]\xC5\xAE\xBBdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static EXCLUSIVEDUTCHORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static EXCLUSIVEDUTCHORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ExclusiveDutchOrderLib(::ethers::contract::Contract); impl ::core::clone::Clone for ExclusiveDutchOrderLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod exclusive_dutch_order_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EXCLUSIVEDUTCHORDERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + EXCLUSIVEDUTCHORDERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod exclusive_dutch_order_lib { } } impl From<::ethers::contract::Contract> - for ExclusiveDutchOrderLib - { + for ExclusiveDutchOrderLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/exclusive_dutch_order_reactor.rs b/crates/bindings-uniswapx/src/exclusive_dutch_order_reactor.rs index 8015449..17a13f6 100644 --- a/crates/bindings-uniswapx/src/exclusive_dutch_order_reactor.rs +++ b/crates/bindings-uniswapx/src/exclusive_dutch_order_reactor.rs @@ -7,7 +7,7 @@ pub use exclusive_dutch_order_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod exclusive_dutch_order_reactor { pub use super::super::shared_types::*; @@ -33,412 +33,491 @@ pub mod exclusive_dutch_order_reactor { ], }), functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IPermit2"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "DeadlineBeforeEndTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "EndTimeBeforeStartTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InputAndOutputDecay"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InputAndOutputDecay",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientEth"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientEth"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InputAndOutputDecay", + ), + inputs: ::std::vec![], + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NoExclusiveOverride",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("OrderEndTimeBeforeStartTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("OrderEndTimeBeforeStartTime",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NoExclusiveOverride", + ), + inputs: ::std::vec![], + }, + ], ), ]), - receive: false, + receive: true, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static EXCLUSIVEDUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static EXCLUSIVEDUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x005\x188\x03\x80b\x005\x18\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xF8b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x15\xC6\x01Ra\x19\xC2\x01Ra3\xF8`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a&tV[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a&\xF7V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a'\x1BV[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a&\xF7V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea'\xFCV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xECV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\xAC\x81a\x1C\xF8V[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xF7W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80` \x01Q\x81`@\x01Q\x10\x15a\n9W`@Q\x7FH\xFE\xE6\x9C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\xE3W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\n\xE1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\ntWa\nta'\xFCV[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\n\x96Wa\n\x96a'\xFCV[` \x02` \x01\x01Q` \x01Q\x14a\n\xD9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\nQV[P[PV[a\x0B `@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0BbW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Bx\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xD6Wa\x0B\xD6a'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0C?W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xF4W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C\x96Wa\x0Cq\x86\x82\x81Q\x81\x10a\x0CbWa\x0Cba'\xFCV[` \x02` \x01\x01Q\x86\x86a\x1EUV[\x83\x82\x81Q\x81\x10a\x0C\x83Wa\x0C\x83a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CEV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2\xB6` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a/|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F%V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q\x86`\x80\x01Q\x87`\xA0\x01Q`\0\x01Q\x88`\xA0\x01Q` \x01Q\x89`\xA0\x01Q`@\x01Qa\x0E\xF0\x8B`\xC0\x01Qa\x1F\xBFV[`@\x80Q` \x81\x01\x9B\x90\x9BR\x8A\x01\x98\x90\x98R``\x89\x01\x96\x90\x96R`\x80\x88\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\xA0\x88\x01R`\xC0\x87\x01\x91\x90\x91R\x16`\xE0\x85\x01Ra\x01\0\x84\x01Ra\x01 \x83\x01Ra\x01@\x82\x01Ra\x01`\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[a\x0F{\x83\x83a ]V[a\x02\xB0W\x80a\x0F\xB6W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\t\xACW`\0\x82\x82\x81Q\x81\x10a\x0F\xDBWa\x0F\xDBa'\xFCV[` \x02` \x01\x01Q\x90Pa\x10\x04\x84a'\x10a\x0F\xF6\x91\x90a/\xEEV[` \x83\x01Q\x90a'\x10a \xAAV[` \x90\x91\x01R`\x01\x01a\x0F\xBEV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x102WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x10\x89\x90\x85\x90`\x04\x01a0\x01V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\xA6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x10\xEC\x91\x90\x81\x01\x90a0\x14V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\x04\x82\x84a/\xEEV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\x1CWa\x11\x1Ca'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x11\x85W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11:W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x11\xD6W\x85`@\x01Q\x81\x81Q\x81\x10a\x11\xA9Wa\x11\xA9a'\xFCV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x11\xC3Wa\x11\xC3a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x11\x8BV[P`\0[\x82\x81\x10\x15a\x14}W`\0\x85\x82\x81Q\x81\x10a\x11\xF6Wa\x11\xF6a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x12\xB4W\x86\x81\x81Q\x81\x10a\x12\x1DWa\x12\x1Da'\xFCV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x12\xACW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x12\x03V[P`\0\x80[\x86\x81\x10\x15a\x139W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x12\xD9Wa\x12\xD9a'\xFCV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x130W` \x81\x01Qa\x13-\x90\x84a/\xEEV[\x92P[P`\x01\x01a\x12\xB9V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x13vW` \x80\x89\x01Q\x01Qa\x13s\x90\x82a/\xEEV[\x90P[\x80`\0\x03a\x13\xCBW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x13\xD9\x81`\x05a'\x10a \xAAV[\x82` \x01Q\x11\x15a\x14LW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x14X\x85\x89a/\xEEV[\x81Q\x81\x10a\x14hWa\x14ha'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x11\xDAV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x14\xDDW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x15\x1CW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\xE1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x15\x98\x90\x84\x90\x86\x90`\x04\x01a0\xE4V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15\xB0W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x16\x84\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a36\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a3\x08`.\x919`@Q` \x01a\x18\xBC\x94\x93\x92\x91\x90a1\x13V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x19)\x96\x95\x94\x93\x92`\x04\x01a1\x9CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x1A\x1FW`\0\x82\x82\x81Q\x81\x10a\x19wWa\x19wa'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1A\x15W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xA9Wa\x19\xA9a'\xFCV[` \x02` \x01\x01Q\x90Pa\x1A\x0C\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a \xE6\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x19\x84V[PP`\x01\x01a\x19ZV[PG\x15a\n\xE3Wa\n\xE3`\x003Ga\"cV[```\0\x80[\x83Q\x81\x10\x15a\x1AqW\x83\x81\x81Q\x81\x10a\x1ASWa\x1ASa'\xFCV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x1A8V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\x8BWa\x1A\x8Ba'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xF4W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\xA9W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1C\xF0W`\0\x84\x82\x81Q\x81\x10a\x1B\x19Wa\x1B\x19a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1C\xE6W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x1BKWa\x1BKa'\xFCV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1C'W`\0\x88\x82\x81Q\x81\x10a\x1BuWa\x1Bua'\xFCV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1B\xF5WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1C\x1EW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1C\x14\x91\x90a/\xEEV[\x90RPa\x1C'\x90PV[P`\x01\x01a\x1BYV[P\x80a\x1C\xDCW`@\x82\x01Q\x82Q`\0\x91a\x1CW\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a#>V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1C\xB4\x91\x90a/\xEEV[\x81RP\x88\x88\x81Q\x81\x10a\x1C\xC9Wa\x1C\xC9a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x1B&V[PP`\x01\x01a\x1A\xFCV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\xE1W`\0\x82\x82\x81Q\x81\x10a\x1D\x18Wa\x1D\x18a'\xFCV[` \x02` \x01\x01Q\x90P`\0a\x1DU\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a#>\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1D\xA6W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1D\xB3\x90a2dV[\x91PPa\x1C\xFBV[`\0\x82\x82\x10\x15a\x1D\xF7W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1E\x05WP\x82a\x1EMV[B\x83\x10a\x1E\x13WP\x83a\x1EMV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E8Wa\x1E/\x86\x88\x03\x83\x83a \xAAV[\x87\x03\x92Pa\x1EJV[a\x1EE\x87\x87\x03\x83\x83a \xAAV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\xB4W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\xCA\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0FT\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xDFWa\x1F\xDFa'\xCDV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \tW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a NW`\0a <\x85\x83\x81Q\x81\x10a /Wa /a'\xFCV[` \x02` \x01\x01Qa$\tV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a \x0FV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a \x81WP\x81B\x11[\x80a \xA1WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xDFW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a!\xA1W`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a![W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!`V[``\x91P[PP\x90P\x80a!\x9BW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a!\xC8\x86a$\x80V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\"EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"YW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#\x18W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xD8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xDDV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a#9s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a%*V[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#yWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a \xA4V[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a#\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a \xA1\x91\x90a2\x9CV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0FT\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xE3W`\0\x80\xFD[\x805a&&\x81a%\xF9V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&mW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&\x8AW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xA2W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a&\xB6W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a&\xC8\x82a%\xF9V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\xDEW`\0\x80\xFD[Pa&\xEB\x87\x82\x88\x01a&+V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a'\tW`\0\x80\xFD[\x815a'\x14\x81a%\xF9V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a'3W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'KW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'_W`\0\x80\xFD[\x815\x81\x81\x11\x15a'nW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x83W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'\x99` \x89\x01a&\x1BV[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a'\xAFW`\0\x80\xFD[Pa'\xBC\x88\x82\x89\x01a&+V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a(_W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x9EW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xB9W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&mW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\x84Wa)\x84a'\xCDV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)\xB7Wa)\xB7a'\xCDV[a)\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a)=V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a*,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a*PWa*Pa'\xCDV[\x81`@R\x82\x93P\x845\x91Pa*d\x82a%\xF9V[\x90\x82R` \x84\x015\x90a*v\x82a%\xF9V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\xA0\x82a%\xF9V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*\xBAW`\0\x80\xFD[Pa*\xC7\x85\x82\x86\x01a)\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\xE6W`\0\x80\xFD[a*\xEEa(\xCEV[\x90P\x815a*\xFB\x81a%\xF9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+3Wa+3a'\xCDV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a+NW`\0\x80\xFD[\x815` a+ca+^\x83a+\x19V[a)=V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a+\x82W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+\xE7W`\x80\x81\x89\x03\x12\x15a+\x9FW`\0\x80\x81\xFD[a+\xA7a(\xF7V[\x815a+\xB2\x81a%\xF9V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+\xD5\x81a%\xF9V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a+\x86V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\x04W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,\x1CW`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a,1W`\0\x80\xFD[a,9a)\x1AV[\x825\x82\x81\x11\x15a,HW`\0\x80\xFD[a,T\x87\x82\x86\x01a*\x1AV[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra,w``\x84\x01a&\x1BV[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\x93\x86`\xA0\x85\x01a*\xD4V[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,\xABW`\0\x80\xFD[a,\xB7\x87\x82\x86\x01a+=V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a,\xE1W\x81\x81\x01Q\x83\x82\x01R` \x01a,\xC9V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra-\x02\x81` \x86\x01` \x86\x01a,\xC6V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a-\x93W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a-HV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra.\x12a\x01\xA0\x85\x01\x82a,\xEAV[\x90P` \x83\x01Qa.P` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra.h\x82\x82a-4V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra.\x82\x82\x82a,\xEAV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a/\x0EW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra.\xFC\x86\x83Qa-\x9EV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a.\xC2V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x84Qa/\x8E\x81\x84` \x89\x01a,\xC6V[\x84Q\x90\x83\x01\x90a/\xA2\x81\x83` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a/\xB5\x81\x83` \x88\x01a,\xC6V[\x01\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a \xA4Wa \xA4a/\xBFV[` \x81R`\0a \xA1` \x83\x01\x84a-\x9EV[`\0` \x80\x83\x85\x03\x12\x15a0'W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0>W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0OW`\0\x80\xFD[\x80Qa0]a+^\x82a+\x19V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0|W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD8W\x80\x85\x8A\x03\x12\x15a0\x99W`\0\x80\x81\xFD[a0\xA1a(\xCEV[\x85Qa0\xAC\x81a%\xF9V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC5\x81a%\xF9V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0\x81V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1EM`@\x83\x01\x84a-\x9EV[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa1K\x81`\x1C\x85\x01` \x8A\x01a,\xC6V[\x85Q\x90\x83\x01\x90a1b\x81`\x1C\x84\x01` \x8A\x01a,\xC6V[\x85Q\x91\x01\x90a1x\x81`\x1C\x84\x01` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a1\x8E\x81`\x1C\x84\x01` \x88\x01a,\xC6V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a1\xCC\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\r`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2B\x81\x84\x01\x86a,\xEAV[\x90P\x82\x81\x03a\x01 \x84\x01Ra2W\x81\x85a,\xEAV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x95Wa2\x95a/\xBFV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2\xAEW`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \x902Q\xD0\x0Ex({\x8D\xA3\xD9`\xDA\xA9\xF7v\xC1\xFA\xEC\\\xA8o\x1D\x90R\xF5\xEF\xA1\x02\xC9S0dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x001x8\x03\x80b\x001x\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa0_b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x19\x10\x01Ra0_`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\"\xC2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a#pV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a#\xB2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a$PV[a\x06\x83V[a\0\xB9a\x01l6`\x04a$tV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a$PV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a$\xD8V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB3V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a'\xA1V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BbV[a\x04\xB5\x81a\x0B\xB3V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB3V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia$\xD8V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BbV[a\x08\x86\x81a\x0B\xB3V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a'\xDFV[\x81\x01\x90a\n|\x91\x90a+hV[\x90Pa\n\x87\x81a\r\x06V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85`\xA0\x01Qa\r\xF1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\xC0\x01Qa\x0E\xC3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a'\xDFV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\xAAV[\x90R``\x82\x01Q` \x83\x01Q`\x80\x84\x01Q\x92\x94Pa\x0B\\\x92\x85\x92\x91\x90a\x12|V[P\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x83Wa\x0B\x83a$\xD8V[` \x02` \x01\x01Q\x90Pa\x0B\x96\x81a\x13%V[a\x0B\xA0\x813a\x18\x15V[a\x0B\xAA\x813a\x19\x0EV[P`\x01\x01a\x0BgV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF5W`\0\x83\x82\x81Q\x81\x10a\x0B\xD4Wa\x0B\xD4a$\xD8V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CUW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x0BWa\x0C\x0Ba$\xD8V[` \x02` \x01\x01Q\x90Pa\x0CL\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1C\xA1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xEBV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9EWa\x0C\x9Ea$\xD8V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE3\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB8V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1C\xE8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\rIW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\x04\xC1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\r\x84Wa\r\x84a$\xD8V[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\r\xA6Wa\r\xA6a$\xD8V[` \x02` \x01\x01Q` \x01Q\x14a\r\xE9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\raV[a\x0E+`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EmW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0E\x83\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xE1Wa\x0E\xE1a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FJW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xFFW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xA1Wa\x0F|\x86\x82\x81Q\x81\x10a\x0FmWa\x0Fma$\xD8V[` \x02` \x01\x01Q\x86\x86a\x1E)V[\x83\x82\x81Q\x81\x10a\x0F\x8EWa\x0F\x8Ea$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FPV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a/\x1D` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919`@Q` \x01a\x11\x9C\x93\x92\x91\x90a,=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x13\xFF\x91\x90\x81\x01\x90a,\xCCV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\x17\x82\x84a,\x7FV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14/Wa\x14/a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\x98W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14MW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xE9W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xBCWa\x14\xBCa$\xD8V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xD6Wa\x14\xD6a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x9EV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\x04W`\0\x87\x82\x81Q\x81\x10a\x15\x0CWa\x15\x0Ca$\xD8V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xCAW\x88\x81\x81Q\x81\x10a\x153Wa\x153a$\xD8V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15\xC2W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\x19V[P`\0\x80[\x88\x81\x10\x15a\x16\x8BW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x15\xEFWa\x15\xEFa$\xD8V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x82W\x85\x15a\x16lW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x16{\x90\x84a,\x7FV[\x92P`\x01\x96P[P`\x01\x01a\x15\xCFV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\x04W\x84\x15a\x16\xEBW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x16\xFD\x90\x82a,\x7FV[\x90P`\x01\x93P[\x80`\0\x03a\x17YW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x17g\x81`\x05a'\x10a \xC2V[\x82` \x01Q\x11\x15a\x17\xDAW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x17\xEFWa\x17\xEFa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x14\xF0V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x18fW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x18\xE2\x90\x84\x90\x86\x90`\x04\x01a-\x9CV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x18\xFAW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xCE\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a/\x9D\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a/o`.\x919`@Q` \x01a\x1C\x06\x94\x93\x92\x91\x90a-\xCBV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1Cs\x96\x95\x94\x93\x92`\x04\x01a.TV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1C\x8DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1C\xC6Wa\x03_\x82\x82a\x1C\xE8V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a \xFEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1DBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1DGV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1D\x92WP\x83a\x1E!V[\x82\x82\x11a\x1D\xCBW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1D\xD9WP\x82a\x1E!V[B\x83\x10a\x1D\xE7WP\x83a\x1E!V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E\x0CWa\x1E\x03\x86\x88\x03\x83\x83a \xC2V[\x87\x03\x92Pa\x1E\x1EV[a\x1E\x19\x87\x87\x03\x83\x83a ~V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\x88W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\x9E\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x12_\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xB3Wa\x1F\xB3a$\xA9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xDDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a \"W`\0a \x10\x85\x83\x81Q\x81\x10a \x03Wa \x03a$\xD8V[` \x02` \x01\x01Qa!\xF0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xE3V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a UWP\x81B\x11[\x80a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xB3W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xF7W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a!\xE9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x12_\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\"\x8BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xA3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\"\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xEFW`\0\x80\xFD[a\"\xFB\x87\x83\x88\x01a\"gV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a#\x11W`\0\x80\xFD[Pa#\x1E\x86\x82\x87\x01a\"yV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a#=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a#\x83W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x9AW`\0\x80\xFD[a#\xA6\x85\x82\x86\x01a#+V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a#\xC8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#\xE0W`\0\x80\xFD[a#\xEC\x88\x83\x89\x01a#+V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a$\x05W`\0\x80\xFD[Pa$\x12\x87\x82\x88\x01a\"yV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a$K\x81a$\x1EV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$bW`\0\x80\xFD[\x815a$m\x81a$\x1EV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a$\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\x9DW`\0\x80\xFD[a\x1E!\x84\x82\x85\x01a\"gV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a%\"W\x81\x81\x01Q\x83\x82\x01R` \x01a%\nV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra%C\x81` \x86\x01` \x86\x01a%\x07V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a%\xD5W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a%\x8AV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra&Ta\x01\xA0\x85\x01\x82a%+V[\x90P` \x83\x01Qa&\x92` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra&\xAA\x82\x82a%uV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra&\xC4\x82\x82a%+V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a'PW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra'>\x86\x83Qa%\xE0V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a'\x04V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a'\xD5W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x14W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(/W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\"\xBBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xFAWa(\xFAa$\xA9V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x13W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)-Wa)-a$\xA9V[a)^` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a(\xB3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)sW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a)\xA2W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a)\xC6Wa)\xC6a$\xA9V[\x81`@R\x82\x93P\x845\x91Pa)\xDA\x82a$\x1EV[\x90\x82R` \x84\x015\x90a)\xEC\x82a$\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\x16\x82a$\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*0W`\0\x80\xFD[Pa*=\x85\x82\x86\x01a)\x02V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\\W`\0\x80\xFD[a*da(DV[\x90P\x815a*q\x81a$\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a*\xA9Wa*\xA9a$\xA9V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a*\xC4W`\0\x80\xFD[\x815` a*\xD9a*\xD4\x83a*\x8FV[a(\xB3V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a*\xF8W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+]W`\x80\x81\x89\x03\x12\x15a+\x15W`\0\x80\x81\xFD[a+\x1Da(mV[\x815a+(\x81a$\x1EV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+K\x81a$\x1EV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a*\xFCV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a+zW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a+\x92W`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a+\xA7W`\0\x80\xFD[a+\xAFa(\x90V[\x825\x82\x81\x11\x15a+\xBEW`\0\x80\xFD[a+\xCA\x87\x82\x86\x01a)\x90V[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra+\xED``\x84\x01a$@V[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\t\x86`\xA0\x85\x01a*JV[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,!W`\0\x80\xFD[a,-\x87\x82\x86\x01a*\xB3V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa,N\x81\x84` \x89\x01a%\x07V[\x84Q\x90\x83\x01\x90a,b\x81\x83` \x89\x01a%\x07V[\x84Q\x91\x01\x90a,u\x81\x83` \x88\x01a%\x07V[\x01\x95\x94PPPPPV[\x80\x82\x01\x80\x82\x11\x15a xW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a u` \x83\x01\x84a%\xE0V[`\0` \x80\x83\x85\x03\x12\x15a,\xDFW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xF6W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x07W`\0\x80\xFD[\x80Qa-\x15a*\xD4\x82a*\x8FV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-4W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x90W\x80\x85\x8A\x03\x12\x15a-QW`\0\x80\x81\xFD[a-Ya(DV[\x85Qa-d\x81a$\x1EV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-}\x81a$\x1EV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-9V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1E!`@\x83\x01\x84a%\xE0V[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa.\x03\x81`\x1C\x85\x01` \x8A\x01a%\x07V[\x85Q\x90\x83\x01\x90a.\x1A\x81`\x1C\x84\x01` \x8A\x01a%\x07V[\x85Q\x91\x01\x90a.0\x81`\x1C\x84\x01` \x89\x01a%\x07V[\x84Q\x91\x01\x90a.F\x81`\x1C\x84\x01` \x88\x01a%\x07V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a.\x84\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xC5`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xFA\x81\x84\x01\x86a%+V[\x90P\x82\x81\x03a\x01 \x84\x01Ra/\x0F\x81\x85a%+V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xE1n\xF4'\xD4\x9B\xC9z\x86\xF1R%\xBD\xEB\x99q;\xB6`\xC0\xCEo\xDC_\xBF\x86\xB8d\xF9T.tdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static EXCLUSIVEDUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static EXCLUSIVEDUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a&tV[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a&\xF7V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a'\x1BV[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a&\xF7V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea'\xFCV[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\xECV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\t\xAC\x81a\x1C\xF8V[PPPPPPV[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\t\xF7W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80` \x01Q\x81`@\x01Q\x10\x15a\n9W`@Q\x7FH\xFE\xE6\x9C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\n\xE3W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\n\xE1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\ntWa\nta'\xFCV[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\n\x96Wa\n\x96a'\xFCV[` \x02` \x01\x01Q` \x01Q\x14a\n\xD9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\nQV[P[PV[a\x0B `@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0BbW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0Bx\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xD6Wa\x0B\xD6a'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0C?W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xF4W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0C\x96Wa\x0Cq\x86\x82\x81Q\x81\x10a\x0CbWa\x0Cba'\xFCV[` \x02` \x01\x01Q\x86\x86a\x1EUV[\x83\x82\x81Q\x81\x10a\x0C\x83Wa\x0C\x83a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CEV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2\xB6` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a/|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F%V[\x83` \x01Q\x84`@\x01Q\x85``\x01Q\x86`\x80\x01Q\x87`\xA0\x01Q`\0\x01Q\x88`\xA0\x01Q` \x01Q\x89`\xA0\x01Q`@\x01Qa\x0E\xF0\x8B`\xC0\x01Qa\x1F\xBFV[`@\x80Q` \x81\x01\x9B\x90\x9BR\x8A\x01\x98\x90\x98R``\x89\x01\x96\x90\x96R`\x80\x88\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\xA0\x88\x01R`\xC0\x87\x01\x91\x90\x91R\x16`\xE0\x85\x01Ra\x01\0\x84\x01Ra\x01 \x83\x01Ra\x01@\x82\x01Ra\x01`\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[a\x0F{\x83\x83a ]V[a\x02\xB0W\x80a\x0F\xB6W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\t\xACW`\0\x82\x82\x81Q\x81\x10a\x0F\xDBWa\x0F\xDBa'\xFCV[` \x02` \x01\x01Q\x90Pa\x10\x04\x84a'\x10a\x0F\xF6\x91\x90a/\xEEV[` \x83\x01Q\x90a'\x10a \xAAV[` \x90\x91\x01R`\x01\x01a\x0F\xBEV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x102WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x10\x89\x90\x85\x90`\x04\x01a0\x01V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x10\xA6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x10\xEC\x91\x90\x81\x01\x90a0\x14V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\x04\x82\x84a/\xEEV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\x1CWa\x11\x1Ca'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x11\x85W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11:W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x11\xD6W\x85`@\x01Q\x81\x81Q\x81\x10a\x11\xA9Wa\x11\xA9a'\xFCV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x11\xC3Wa\x11\xC3a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x11\x8BV[P`\0[\x82\x81\x10\x15a\x14}W`\0\x85\x82\x81Q\x81\x10a\x11\xF6Wa\x11\xF6a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x12\xB4W\x86\x81\x81Q\x81\x10a\x12\x1DWa\x12\x1Da'\xFCV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x12\xACW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x12\x03V[P`\0\x80[\x86\x81\x10\x15a\x139W`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x12\xD9Wa\x12\xD9a'\xFCV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x130W` \x81\x01Qa\x13-\x90\x84a/\xEEV[\x92P[P`\x01\x01a\x12\xB9V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x13vW` \x80\x89\x01Q\x01Qa\x13s\x90\x82a/\xEEV[\x90P[\x80`\0\x03a\x13\xCBW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\x13\xD9\x81`\x05a'\x10a \xAAV[\x82` \x01Q\x11\x15a\x14LW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x14X\x85\x89a/\xEEV[\x81Q\x81\x10a\x14hWa\x14ha'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x11\xDAV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x14\xDDW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x15\x1CW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\n\xE1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x15\x98\x90\x84\x90\x86\x90`\x04\x01a0\xE4V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x15\xB0W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x16\x84\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a36\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a3\x08`.\x919`@Q` \x01a\x18\xBC\x94\x93\x92\x91\x90a1\x13V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x19)\x96\x95\x94\x93\x92`\x04\x01a1\x9CV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19CW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\xACW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x1A\x1FW`\0\x82\x82\x81Q\x81\x10a\x19wWa\x19wa'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1A\x15W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x19\xA9Wa\x19\xA9a'\xFCV[` \x02` \x01\x01Q\x90Pa\x1A\x0C\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a \xE6\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x19\x84V[PP`\x01\x01a\x19ZV[PG\x15a\n\xE3Wa\n\xE3`\x003Ga\"cV[```\0\x80[\x83Q\x81\x10\x15a\x1AqW\x83\x81\x81Q\x81\x10a\x1ASWa\x1ASa'\xFCV[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x1A8V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\x8BWa\x1A\x8Ba'\xCDV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xF4W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\xA9W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x1C\xF0W`\0\x84\x82\x81Q\x81\x10a\x1B\x19Wa\x1B\x19a'\xFCV[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x1C\xE6W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x1BKWa\x1BKa'\xFCV[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x1C'W`\0\x88\x82\x81Q\x81\x10a\x1BuWa\x1Bua'\xFCV[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x1B\xF5WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x1C\x1EW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x1C\x14\x91\x90a/\xEEV[\x90RPa\x1C'\x90PV[P`\x01\x01a\x1BYV[P\x80a\x1C\xDCW`@\x82\x01Q\x82Q`\0\x91a\x1CW\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a#>V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x1C\xB4\x91\x90a/\xEEV[\x81RP\x88\x88\x81Q\x81\x10a\x1C\xC9Wa\x1C\xC9a'\xFCV[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x1B&V[PP`\x01\x01a\x1A\xFCV[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\n\xE1W`\0\x82\x82\x81Q\x81\x10a\x1D\x18Wa\x1D\x18a'\xFCV[` \x02` \x01\x01Q\x90P`\0a\x1DU\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a#>\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x1D\xA6W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x1D\xB3\x90a2dV[\x91PPa\x1C\xFBV[`\0\x82\x82\x10\x15a\x1D\xF7W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1E\x05WP\x82a\x1EMV[B\x83\x10a\x1E\x13WP\x83a\x1EMV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E8Wa\x1E/\x86\x88\x03\x83\x83a \xAAV[\x87\x03\x92Pa\x1EJV[a\x1EE\x87\x87\x03\x83\x83a \xAAV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\xB4W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\xCA\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\xBBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a36`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0FT\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xDFWa\x1F\xDFa'\xCDV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a \tW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a NW`\0a <\x85\x83\x81Q\x81\x10a /Wa /a'\xFCV[` \x02` \x01\x01Qa$\tV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a \x0FV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a \x81WP\x81B\x11[\x80a \xA1WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xDFW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a!\xA1W`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a![W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a!`V[``\x91P[PP\x90P\x80a!\x9BW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a!\xC8\x86a$\x80V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\"EW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\"YW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#\x18W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\"\xD8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\"\xDDV[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a#9s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a%*V[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a#yWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a \xA4V[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a#\xE5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a \xA1\x91\x90a2\x9CV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2\xB6`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0FT\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xE3W`\0\x80\xFD[\x805a&&\x81a%\xF9V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a&=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&mW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&\x8AW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xA2W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a&\xB6W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a&\xC8\x82a%\xF9V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\xDEW`\0\x80\xFD[Pa&\xEB\x87\x82\x88\x01a&+V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a'\tW`\0\x80\xFD[\x815a'\x14\x81a%\xF9V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a'3W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a'KW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'_W`\0\x80\xFD[\x815\x81\x81\x11\x15a'nW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'\x83W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'\x99` \x89\x01a&\x1BV[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a'\xAFW`\0\x80\xFD[Pa'\xBC\x88\x82\x89\x01a&+V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a(_W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x9EW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xB9W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&mW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xF1Wa(\xF1a'\xCDV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\x84Wa)\x84a'\xCDV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)\xB7Wa)\xB7a'\xCDV[a)\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a)=V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a*,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a*PWa*Pa'\xCDV[\x81`@R\x82\x93P\x845\x91Pa*d\x82a%\xF9V[\x90\x82R` \x84\x015\x90a*v\x82a%\xF9V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\xA0\x82a%\xF9V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*\xBAW`\0\x80\xFD[Pa*\xC7\x85\x82\x86\x01a)\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\xE6W`\0\x80\xFD[a*\xEEa(\xCEV[\x90P\x815a*\xFB\x81a%\xF9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+3Wa+3a'\xCDV[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a+NW`\0\x80\xFD[\x815` a+ca+^\x83a+\x19V[a)=V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a+\x82W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+\xE7W`\x80\x81\x89\x03\x12\x15a+\x9FW`\0\x80\x81\xFD[a+\xA7a(\xF7V[\x815a+\xB2\x81a%\xF9V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+\xD5\x81a%\xF9V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a+\x86V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\x04W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a,\x1CW`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a,1W`\0\x80\xFD[a,9a)\x1AV[\x825\x82\x81\x11\x15a,HW`\0\x80\xFD[a,T\x87\x82\x86\x01a*\x1AV[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra,w``\x84\x01a&\x1BV[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\x93\x86`\xA0\x85\x01a*\xD4V[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,\xABW`\0\x80\xFD[a,\xB7\x87\x82\x86\x01a+=V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a,\xE1W\x81\x81\x01Q\x83\x82\x01R` \x01a,\xC9V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra-\x02\x81` \x86\x01` \x86\x01a,\xC6V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a-\x93W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a-HV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra.\x12a\x01\xA0\x85\x01\x82a,\xEAV[\x90P` \x83\x01Qa.P` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra.h\x82\x82a-4V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra.\x82\x82\x82a,\xEAV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a/\x0EW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra.\xFC\x86\x83Qa-\x9EV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a.\xC2V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x84Qa/\x8E\x81\x84` \x89\x01a,\xC6V[\x84Q\x90\x83\x01\x90a/\xA2\x81\x83` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a/\xB5\x81\x83` \x88\x01a,\xC6V[\x01\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a \xA4Wa \xA4a/\xBFV[` \x81R`\0a \xA1` \x83\x01\x84a-\x9EV[`\0` \x80\x83\x85\x03\x12\x15a0'W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0>W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0OW`\0\x80\xFD[\x80Qa0]a+^\x82a+\x19V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0|W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD8W\x80\x85\x8A\x03\x12\x15a0\x99W`\0\x80\x81\xFD[a0\xA1a(\xCEV[\x85Qa0\xAC\x81a%\xF9V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC5\x81a%\xF9V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0\x81V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1EM`@\x83\x01\x84a-\x9EV[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa1K\x81`\x1C\x85\x01` \x8A\x01a,\xC6V[\x85Q\x90\x83\x01\x90a1b\x81`\x1C\x84\x01` \x8A\x01a,\xC6V[\x85Q\x91\x01\x90a1x\x81`\x1C\x84\x01` \x89\x01a,\xC6V[\x84Q\x91\x01\x90a1\x8E\x81`\x1C\x84\x01` \x88\x01a,\xC6V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a1\xCC\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\r`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2B\x81\x84\x01\x86a,\xEAV[\x90P\x82\x81\x03a\x01 \x84\x01Ra2W\x81\x85a,\xEAV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x95Wa2\x95a/\xBFV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2\xAEW`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \x902Q\xD0\x0Ex({\x8D\xA3\xD9`\xDA\xA9\xF7v\xC1\xFA\xEC\\\xA8o\x1D\x90R\xF5\xEF\xA1\x02\xC9S0dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\"\xC2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a#pV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a#\xB2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a$PV[a\x06\x83V[a\0\xB9a\x01l6`\x04a$tV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a$PV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a$\xD8V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB3V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a'\xA1V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BbV[a\x04\xB5\x81a\x0B\xB3V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa$\xD8V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BbV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xDBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB3V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia$\xD8V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BbV[a\x08\x86\x81a\x0B\xB3V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a'\xDFV[\x81\x01\x90a\n|\x91\x90a+hV[\x90Pa\n\x87\x81a\r\x06V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\n\xBD\x83` \x01Q\x84`@\x01Q\x85`\xA0\x01Qa\r\xF1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xE3\x83` \x01Q\x84`@\x01Q\x85`\xC0\x01Qa\x0E\xC3\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\xF8\x91\x90a'\xDFV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B;\x83a\x0F\xAAV[\x90R``\x82\x01Q` \x83\x01Q`\x80\x84\x01Q\x92\x94Pa\x0B\\\x92\x85\x92\x91\x90a\x12|V[P\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x83Wa\x0B\x83a$\xD8V[` \x02` \x01\x01Q\x90Pa\x0B\x96\x81a\x13%V[a\x0B\xA0\x813a\x18\x15V[a\x0B\xAA\x813a\x19\x0EV[P`\x01\x01a\x0BgV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF5W`\0\x83\x82\x81Q\x81\x10a\x0B\xD4Wa\x0B\xD4a$\xD8V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CUW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x0BWa\x0C\x0Ba$\xD8V[` \x02` \x01\x01Q\x90Pa\x0CL\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1C\xA1\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xEBV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9EWa\x0C\x9Ea$\xD8V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE3\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB8V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1C\xE8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\rIW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\xA0\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\x91W`\0[\x81`\xC0\x01QQ\x81\x10\x15a\x04\xC1W\x81`\xC0\x01Q\x81\x81Q\x81\x10a\r\x84Wa\r\x84a$\xD8V[` \x02` \x01\x01Q`@\x01Q\x82`\xC0\x01Q\x82\x81Q\x81\x10a\r\xA6Wa\r\xA6a$\xD8V[` \x02` \x01\x01Q` \x01Q\x14a\r\xE9W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\raV[a\x0E+`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x0EmW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x0E\x83\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xE1Wa\x0E\xE1a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FJW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xFFW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xA1Wa\x0F|\x86\x82\x81Q\x81\x10a\x0FmWa\x0Fma$\xD8V[` \x02` \x01\x01Q\x86\x86a\x1E)V[\x83\x82\x81Q\x81\x10a\x0F\x8EWa\x0F\x8Ea$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FPV[PP\x93\x92PPPV[`@Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R`\0\x90`\xFF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a/\x1D` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919`@Q` \x01a\x11\x9C\x93\x92\x91\x90a,=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x13\xFF\x91\x90\x81\x01\x90a,\xCCV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\x17\x82\x84a,\x7FV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x14/Wa\x14/a$\xA9V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\x98W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14MW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xE9W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xBCWa\x14\xBCa$\xD8V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xD6Wa\x14\xD6a$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x9EV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\x04W`\0\x87\x82\x81Q\x81\x10a\x15\x0CWa\x15\x0Ca$\xD8V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xCAW\x88\x81\x81Q\x81\x10a\x153Wa\x153a$\xD8V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x15\xC2W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\x19V[P`\0\x80[\x88\x81\x10\x15a\x16\x8BW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x15\xEFWa\x15\xEFa$\xD8V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x82W\x85\x15a\x16lW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x16{\x90\x84a,\x7FV[\x92P`\x01\x96P[P`\x01\x01a\x15\xCFV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\x04W\x84\x15a\x16\xEBW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x16\xFD\x90\x82a,\x7FV[\x90P`\x01\x93P[\x80`\0\x03a\x17YW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x17g\x81`\x05a'\x10a \xC2V[\x82` \x01Q\x11\x15a\x17\xDAW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x17\xEFWa\x17\xEFa$\xD8V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x14\xF0V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x18fW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x18\xE2\x90\x84\x90\x86\x90`\x04\x01a-\x9CV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x18\xFAW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xCE\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919`@\x80Q\x7FExclusiveDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`4\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Z\x82\x01R\x7Faddress exclusiveFiller,\0\0\0\0\0\0\0\0`o\x82\x01R\x7Fuint256 exclusivityOverrideBps,\0`\x87\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\xA6\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`\xB9\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\xD2\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xE9\x82\x01R\x81Q`\xDF\x81\x83\x03\x01\x81Ra\x01\xBF\x82\x01\x90\x92R`\x8D`\xFF\x82\x01\x81\x81R\x91a/\x9D\x90a\x01\x1F\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a/o`.\x919`@Q` \x01a\x1C\x06\x94\x93\x92\x91\x90a-\xCBV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1Cs\x96\x95\x94\x93\x92`\x04\x01a.TV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1C\x8DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13\x1DW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1C\xC6Wa\x03_\x82\x82a\x1C\xE8V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a \xFEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1DBW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1DGV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83\x85\x03a\x1D\x92WP\x83a\x1E!V[\x82\x82\x11a\x1D\xCBW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1D\xD9WP\x82a\x1E!V[B\x83\x10a\x1D\xE7WP\x83a\x1E!V[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1E\x0CWa\x1E\x03\x86\x88\x03\x83\x83a \xC2V[\x87\x03\x92Pa\x1E\x1EV[a\x1E\x19\x87\x87\x03\x83\x83a ~V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1E\x88W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1E\x9E\x85` \x01Q\x86`@\x01Q\x86\x86a\x1D\x82V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x9D`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x12_\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xB3Wa\x1F\xB3a$\xA9V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xDDW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a \"W`\0a \x10\x85\x83\x81Q\x81\x10a \x03Wa \x03a$\xD8V[` \x02` \x01\x01Qa!\xF0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xE3V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a UWP\x81B\x11[\x80a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xB3W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a \xF7W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a!\xE9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a/\x1D`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x12_\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[`\0\x80\x83`\x1F\x84\x01\x12a\"\x8BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xA3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\"\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"\xEFW`\0\x80\xFD[a\"\xFB\x87\x83\x88\x01a\"gV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a#\x11W`\0\x80\xFD[Pa#\x1E\x86\x82\x87\x01a\"yV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a#=W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#UW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\"\xBBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a#\x83W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\x9AW`\0\x80\xFD[a#\xA6\x85\x82\x86\x01a#+V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a#\xC8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a#\xE0W`\0\x80\xFD[a#\xEC\x88\x83\x89\x01a#+V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a$\x05W`\0\x80\xFD[Pa$\x12\x87\x82\x88\x01a\"yV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a$K\x81a$\x1EV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a$bW`\0\x80\xFD[\x815a$m\x81a$\x1EV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a$\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\x9DW`\0\x80\xFD[a\x1E!\x84\x82\x85\x01a\"gV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a%\"W\x81\x81\x01Q\x83\x82\x01R` \x01a%\nV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra%C\x81` \x86\x01` \x86\x01a%\x07V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a%\xD5W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a%\x8AV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra&Ta\x01\xA0\x85\x01\x82a%+V[\x90P` \x83\x01Qa&\x92` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra&\xAA\x82\x82a%uV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra&\xC4\x82\x82a%+V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a'PW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra'>\x86\x83Qa%\xE0V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a'\x04V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a'\xD5W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a(\x14W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(/W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\"\xBBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(gWa(ga$\xA9V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a(\xFAWa(\xFAa$\xA9V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a)\x13W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a)-Wa)-a$\xA9V[a)^` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a(\xB3V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a)sW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a)\xA2W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a)\xC6Wa)\xC6a$\xA9V[\x81`@R\x82\x93P\x845\x91Pa)\xDA\x82a$\x1EV[\x90\x82R` \x84\x015\x90a)\xEC\x82a$\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa*\x16\x82a$\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a*0W`\0\x80\xFD[Pa*=\x85\x82\x86\x01a)\x02V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a*\\W`\0\x80\xFD[a*da(DV[\x90P\x815a*q\x81a$\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a*\xA9Wa*\xA9a$\xA9V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a*\xC4W`\0\x80\xFD[\x815` a*\xD9a*\xD4\x83a*\x8FV[a(\xB3V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a*\xF8W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a+]W`\x80\x81\x89\x03\x12\x15a+\x15W`\0\x80\x81\xFD[a+\x1Da(mV[\x815a+(\x81a$\x1EV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a+K\x81a$\x1EV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a*\xFCV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a+zW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a+\x92W`\0\x80\xFD[\x90\x83\x01\x90a\x01 \x82\x86\x03\x12\x15a+\xA7W`\0\x80\xFD[a+\xAFa(\x90V[\x825\x82\x81\x11\x15a+\xBEW`\0\x80\xFD[a+\xCA\x87\x82\x86\x01a)\x90V[\x82RP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra+\xED``\x84\x01a$@V[``\x82\x01R`\x80\x83\x015`\x80\x82\x01Ra,\t\x86`\xA0\x85\x01a*JV[`\xA0\x82\x01Ra\x01\0\x83\x015\x82\x81\x11\x15a,!W`\0\x80\xFD[a,-\x87\x82\x86\x01a*\xB3V[`\xC0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa,N\x81\x84` \x89\x01a%\x07V[\x84Q\x90\x83\x01\x90a,b\x81\x83` \x89\x01a%\x07V[\x84Q\x91\x01\x90a,u\x81\x83` \x88\x01a%\x07V[\x01\x95\x94PPPPPV[\x80\x82\x01\x80\x82\x11\x15a xW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a u` \x83\x01\x84a%\xE0V[`\0` \x80\x83\x85\x03\x12\x15a,\xDFW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xF6W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x07W`\0\x80\xFD[\x80Qa-\x15a*\xD4\x82a*\x8FV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-4W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x90W\x80\x85\x8A\x03\x12\x15a-QW`\0\x80\x81\xFD[a-Ya(DV[\x85Qa-d\x81a$\x1EV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-}\x81a$\x1EV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-9V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1E!`@\x83\x01\x84a%\xE0V[\x7FExclusiveDutchOrder witness)\0\0\0\0\x81R`\0\x85Qa.\x03\x81`\x1C\x85\x01` \x8A\x01a%\x07V[\x85Q\x90\x83\x01\x90a.\x1A\x81`\x1C\x84\x01` \x8A\x01a%\x07V[\x85Q\x91\x01\x90a.0\x81`\x1C\x84\x01` \x89\x01a%\x07V[\x84Q\x91\x01\x90a.F\x81`\x1C\x84\x01` \x88\x01a%\x07V[\x01`\x1C\x01\x96\x95PPPPPPV[`\0a\x01@a.\x84\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xC5`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xFA\x81\x84\x01\x86a%+V[\x90P\x82\x81\x03a\x01 \x84\x01Ra/\x0F\x81\x85a%+V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xE1n\xF4'\xD4\x9B\xC9z\x86\xF1R%\xBD\xEB\x99q;\xB6`\xC0\xCEo\xDC_\xBF\x86\xB8d\xF9T.tdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static EXCLUSIVEDUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static EXCLUSIVEDUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ExclusiveDutchOrderReactor(::ethers::contract::Contract); impl ::core::clone::Clone for ExclusiveDutchOrderReactor { fn clone(&self) -> Self { @@ -470,11 +549,13 @@ pub mod exclusive_dutch_order_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EXCLUSIVEDUTCHORDERREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + EXCLUSIVEDUTCHORDERREACTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -515,40 +596,51 @@ pub mod exclusive_dutch_order_reactor { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `DIRECT_FILL` (0xfccbcaaf) function - pub fn direct_fill( + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( &self, - ) -> ::ethers::contract::builders::ContractCall { + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([252, 203, 202, 175], ()) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `execute` (0x05afc977) function - pub fn execute( + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( &self, - order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + orders: ::std::vec::Vec, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function - pub fn execute_batch( + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -556,7 +648,10 @@ pub mod exclusive_dutch_order_reactor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -564,7 +659,10 @@ pub mod exclusive_dutch_order_reactor { ///Calls the contract's `permit2` (0x12261ee7) function pub fn permit_2( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([18, 38, 30, 231], ()) .expect("method not found (this should never happen)") @@ -596,8 +694,11 @@ pub mod exclusive_dutch_order_reactor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -618,13 +719,11 @@ pub mod exclusive_dutch_order_reactor { M, ExclusiveDutchOrderReactorEvents, > { - self.0 - .event_with_filter(::core::default::Default::default()) + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for ExclusiveDutchOrderReactor - { + for ExclusiveDutchOrderReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -634,37 +733,28 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DeadlineBeforeEndTime", abi = "DeadlineBeforeEndTime()")] pub struct DeadlineBeforeEndTime; - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -675,11 +765,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "EndTimeBeforeStartTime", abi = "EndTimeBeforeStartTime()")] pub struct EndTimeBeforeStartTime; @@ -688,11 +780,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -705,11 +799,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "IncorrectAmounts", abi = "IncorrectAmounts()")] pub struct IncorrectAmounts; @@ -718,56 +814,43 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InputAndOutputDecay", abi = "InputAndOutputDecay()")] pub struct InputAndOutputDecay; - ///Custom Error type `InsufficientEth` with signature `InsufficientEth()` and selector `0xa01a9df6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InsufficientEth", abi = "InsufficientEth()")] - pub struct InsufficientEth; - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { @@ -778,11 +861,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; @@ -791,11 +876,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; @@ -804,47 +891,39 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NoExclusiveOverride", abi = "NoExclusiveOverride()")] pub struct NoExclusiveOverride; - ///Custom Error type `OrderEndTimeBeforeStartTime` with signature `OrderEndTimeBeforeStartTime()` and selector `0x48fee69c` + ///Container type for all of the contract's custom errors #[derive( Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, Debug, PartialEq, Eq, - Hash, + Hash )] - #[etherror( - name = "OrderEndTimeBeforeStartTime", - abi = "OrderEndTimeBeforeStartTime()" - )] - pub struct OrderEndTimeBeforeStartTime; - ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum ExclusiveDutchOrderReactorErrors { DeadlineBeforeEndTime(DeadlineBeforeEndTime), - DeadlinePassed(DeadlinePassed), DuplicateFeeOutput(DuplicateFeeOutput), EndTimeBeforeStartTime(EndTimeBeforeStartTime), FeeTooLarge(FeeTooLarge), IncorrectAmounts(IncorrectAmounts), InputAndOutputDecay(InputAndOutputDecay), - InsufficientEth(InsufficientEth), - InsufficientOutput(InsufficientOutput), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), NoExclusiveOverride(NoExclusiveOverride), - OrderEndTimeBeforeStartTime(OrderEndTimeBeforeStartTime), /// The standard solidity revert string, with selector /// Error(string) -- 0x08c379a0 RevertString(::std::string::String), @@ -854,70 +933,66 @@ pub mod exclusive_dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DeadlineBeforeEndTime(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::EndTimeBeforeStartTime(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IncorrectAmounts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InputAndOutputDecay(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InsufficientEth(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InsufficientOutput(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NoExclusiveOverride(decoded)); } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::OrderEndTimeBeforeStartTime(decoded)); - } Err(::ethers::core::abi::Error::InvalidData.into()) } } @@ -927,31 +1002,34 @@ pub mod exclusive_dutch_order_reactor { Self::DeadlineBeforeEndTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } Self::EndTimeBeforeStartTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::IncorrectAmounts(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IncorrectAmounts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::InputAndOutputDecay(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InsufficientEth(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientOutput(element) => { + Self::InputAndOutputFees(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::NativeTransferFailed(element) => { + Self::InvalidFeeToken(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::NoExclusiveOverride(element) => { + Self::InvalidReactor(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::OrderEndTimeBeforeStartTime(element) => { + Self::NoExclusiveOverride(element) => { ::ethers::core::abi::AbiEncode::encode(element) } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), @@ -963,60 +1041,45 @@ pub mod exclusive_dutch_order_reactor { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { + == ::selector() => true, + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector( - ) => - { + == ::selector() => { true } _ => false, @@ -1026,45 +1089,54 @@ pub mod exclusive_dutch_order_reactor { impl ::core::fmt::Display for ExclusiveDutchOrderReactorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DeadlineBeforeEndTime(element) => ::core::fmt::Display::fmt(element, f), - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), - Self::EndTimeBeforeStartTime(element) => ::core::fmt::Display::fmt(element, f), + Self::DeadlineBeforeEndTime(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::EndTimeBeforeStartTime(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), Self::IncorrectAmounts(element) => ::core::fmt::Display::fmt(element, f), - Self::InputAndOutputDecay(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientEth(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputDecay(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), - Self::NoExclusiveOverride(element) => ::core::fmt::Display::fmt(element, f), - Self::OrderEndTimeBeforeStartTime(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::NoExclusiveOverride(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } } - impl ::core::convert::From<::std::string::String> for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From<::std::string::String> + for ExclusiveDutchOrderReactorErrors { fn from(value: String) -> Self { Self::RevertString(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From + for ExclusiveDutchOrderReactorErrors { fn from(value: DeadlineBeforeEndTime) -> Self { Self::DeadlineBeforeEndTime(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { fn from(value: DuplicateFeeOutput) -> Self { Self::DuplicateFeeOutput(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From + for ExclusiveDutchOrderReactorErrors { fn from(value: EndTimeBeforeStartTime) -> Self { Self::EndTimeBeforeStartTime(value) } @@ -1079,19 +1151,15 @@ pub mod exclusive_dutch_order_reactor { Self::IncorrectAmounts(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From + for ExclusiveDutchOrderReactorErrors { fn from(value: InputAndOutputDecay) -> Self { Self::InputAndOutputDecay(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { - fn from(value: InsufficientEth) -> Self { - Self::InsufficientEth(value) - } - } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { - fn from(value: InsufficientOutput) -> Self { - Self::InsufficientOutput(value) + impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) } } impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { @@ -1104,30 +1172,29 @@ pub mod exclusive_dutch_order_reactor { Self::InvalidReactor(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From + for ExclusiveDutchOrderReactorErrors { fn from(value: NativeTransferFailed) -> Self { Self::NativeTransferFailed(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { + impl ::core::convert::From + for ExclusiveDutchOrderReactorErrors { fn from(value: NoExclusiveOverride) -> Self { Self::NoExclusiveOverride(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorErrors { - fn from(value: OrderEndTimeBeforeStartTime) -> Self { - Self::OrderEndTimeBeforeStartTime(value) - } - } #[derive( Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { @@ -1143,11 +1210,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -1163,11 +1232,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -1178,7 +1249,16 @@ pub mod exclusive_dutch_order_reactor { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ExclusiveDutchOrderReactorEvents { FillFilter(FillFilter), OwnershipTransferredFilter(OwnershipTransferredFilter), @@ -1192,11 +1272,15 @@ pub mod exclusive_dutch_order_reactor { return Ok(ExclusiveDutchOrderReactorEvents::FillFilter(decoded)); } if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { - return Ok(ExclusiveDutchOrderReactorEvents::OwnershipTransferredFilter(decoded)); + return Ok( + ExclusiveDutchOrderReactorEvents::OwnershipTransferredFilter(decoded), + ); } if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { return Ok( - ExclusiveDutchOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ExclusiveDutchOrderReactorEvents::ProtocolFeeControllerSetFilter( + decoded, + ), ); } Err(::ethers::core::abi::Error::InvalidData) @@ -1206,7 +1290,9 @@ pub mod exclusive_dutch_order_reactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -1218,76 +1304,106 @@ pub mod exclusive_dutch_order_reactor { Self::FillFilter(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorEvents { + impl ::core::convert::From + for ExclusiveDutchOrderReactorEvents { fn from(value: OwnershipTransferredFilter) -> Self { Self::OwnershipTransferredFilter(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorEvents { + impl ::core::convert::From + for ExclusiveDutchOrderReactorEvents { fn from(value: ProtocolFeeControllerSetFilter) -> Self { Self::ProtocolFeeControllerSetFilter(value) } } - ///Container type for all input parameters for the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "DIRECT_FILL", abi = "DIRECT_FILL()")] - pub struct DirectFillCall; - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] - pub struct ExecuteCall { - pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -1296,11 +1412,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -1309,11 +1427,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "permit2", abi = "permit2()")] pub struct Permit2Call; @@ -1322,11 +1442,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -1340,22 +1462,34 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ExclusiveDutchOrderReactorCalls { - DirectFill(DirectFillCall), Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), FeeController(FeeControllerCall), Owner(OwnerCall), Permit2(Permit2Call), @@ -1367,34 +1501,49 @@ pub mod exclusive_dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DirectFill(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit2(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1403,38 +1552,51 @@ pub mod exclusive_dutch_order_reactor { impl ::ethers::core::abi::AbiEncode for ExclusiveDutchOrderReactorCalls { fn encode(self) -> Vec { match self { - Self::DirectFill(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for ExclusiveDutchOrderReactorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DirectFill(element) => ::core::fmt::Display::fmt(element, f), Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for ExclusiveDutchOrderReactorCalls { - fn from(value: DirectFillCall) -> Self { - Self::DirectFill(value) - } - } impl ::core::convert::From for ExclusiveDutchOrderReactorCalls { fn from(value: ExecuteCall) -> Self { Self::Execute(value) @@ -1445,6 +1607,18 @@ pub mod exclusive_dutch_order_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From + for ExclusiveDutchOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From + for ExclusiveDutchOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } impl ::core::convert::From for ExclusiveDutchOrderReactorCalls { fn from(value: FeeControllerCall) -> Self { Self::FeeController(value) @@ -1460,38 +1634,30 @@ pub mod exclusive_dutch_order_reactor { Self::Permit2(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorCalls { + impl ::core::convert::From + for ExclusiveDutchOrderReactorCalls { fn from(value: SetProtocolFeeControllerCall) -> Self { Self::SetProtocolFeeController(value) } } - impl ::core::convert::From for ExclusiveDutchOrderReactorCalls { + impl ::core::convert::From + for ExclusiveDutchOrderReactorCalls { fn from(value: TransferOwnershipCall) -> Self { Self::TransferOwnership(value) } } - ///Container type for all return fields from the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DirectFillReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -1499,11 +1665,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` @@ -1511,11 +1679,13 @@ pub mod exclusive_dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Permit2Return(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/exclusive_filler_validation.rs b/crates/bindings-uniswapx/src/exclusive_filler_validation.rs index 1cff2a8..e04fa59 100644 --- a/crates/bindings-uniswapx/src/exclusive_filler_validation.rs +++ b/crates/bindings-uniswapx/src/exclusive_filler_validation.rs @@ -7,7 +7,7 @@ pub use exclusive_filler_validation::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod exclusive_filler_validation { pub use super::super::shared_types::*; @@ -15,87 +15,108 @@ pub mod exclusive_filler_validation { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("validate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("validate"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("validate"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("validate"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, }, ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + ), + ]), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("NotExclusiveFiller"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NotExclusiveFiller"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], - )]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("NotExclusiveFiller"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("NotExclusiveFiller"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static EXCLUSIVEFILLERVALIDATION_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static EXCLUSIVEFILLERVALIDATION_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x02\x8E\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cn\x84\xBA+\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01+V[a\0EV[\0[`\0\x80a\0R\x83\x80a\x01\x82V[a\0`\x90`\xA0\x81\x01\x90a\x01\xC0V[\x81\x01\x90a\0m\x91\x90a\x02,V[\x91P\x91PB\x81\x10\x15\x80\x15a\0\xADWP\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x01\0W`@Q\x7Fu\xC1\xBB\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01(W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a\x01>W`\0\x80\xFD[\x825a\x01I\x81a\x01\x06V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01eW`\0\x80\xFD[\x83\x01`\xE0\x81\x86\x03\x12\x15a\x01wW`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFA\x836\x03\x01\x81\x12a\x01\xB6W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x01\xF5W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x02\x10W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x02%W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02?W`\0\x80\xFD[\x825a\x02J\x81a\x01\x06V[\x94` \x93\x90\x93\x015\x93PPPV\xFE\xA2dipfsX\"\x12 \xD5^X\xF3\xCE\x10E\xD4U\xA0M\xB2G\xB9)\x82\x90\xCDPt/\xAD\xC7[\xA0\xEF\x9A4O\x9D-\xFBdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x02\x8E\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cn\x84\xBA+\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01+V[a\0EV[\0[`\0\x80a\0R\x83\x80a\x01\x82V[a\0`\x90`\xA0\x81\x01\x90a\x01\xC0V[\x81\x01\x90a\0m\x91\x90a\x02,V[\x91P\x91PB\x81\x10\x15\x80\x15a\0\xADWP\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x01\0W`@Q\x7Fu\xC1\xBB\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01(W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a\x01>W`\0\x80\xFD[\x825a\x01I\x81a\x01\x06V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01eW`\0\x80\xFD[\x83\x01`\xE0\x81\x86\x03\x12\x15a\x01wW`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFA\x836\x03\x01\x81\x12a\x01\xB6W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x01\xF5W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x02\x10W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x02%W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02?W`\0\x80\xFD[\x825a\x02J\x81a\x01\x06V[\x94` \x93\x90\x93\x015\x93PPPV\xFE\xA2dipfsX\"\x12 \xE7\xC2ID|U\xA6\xB9\x87\x94\xFC,\xDC\xD4\xF4p\x0B\xEF\x7F\xC0\xFA\xA8\xE0U^\x1F\xD4\xC3u\x8FL\xAAdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static EXCLUSIVEFILLERVALIDATION_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static EXCLUSIVEFILLERVALIDATION_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cn\x84\xBA+\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01+V[a\0EV[\0[`\0\x80a\0R\x83\x80a\x01\x82V[a\0`\x90`\xA0\x81\x01\x90a\x01\xC0V[\x81\x01\x90a\0m\x91\x90a\x02,V[\x91P\x91PB\x81\x10\x15\x80\x15a\0\xADWP\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x01\0W`@Q\x7Fu\xC1\xBB\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01(W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a\x01>W`\0\x80\xFD[\x825a\x01I\x81a\x01\x06V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01eW`\0\x80\xFD[\x83\x01`\xE0\x81\x86\x03\x12\x15a\x01wW`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFA\x836\x03\x01\x81\x12a\x01\xB6W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x01\xF5W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x02\x10W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x02%W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02?W`\0\x80\xFD[\x825a\x02J\x81a\x01\x06V[\x94` \x93\x90\x93\x015\x93PPPV\xFE\xA2dipfsX\"\x12 \xD5^X\xF3\xCE\x10E\xD4U\xA0M\xB2G\xB9)\x82\x90\xCDPt/\xAD\xC7[\xA0\xEF\x9A4O\x9D-\xFBdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cn\x84\xBA+\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01+V[a\0EV[\0[`\0\x80a\0R\x83\x80a\x01\x82V[a\0`\x90`\xA0\x81\x01\x90a\x01\xC0V[\x81\x01\x90a\0m\x91\x90a\x02,V[\x91P\x91PB\x81\x10\x15\x80\x15a\0\xADWP\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15[\x15a\x01\0W`@Q\x7Fu\xC1\xBB\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01(W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15a\x01>W`\0\x80\xFD[\x825a\x01I\x81a\x01\x06V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01eW`\0\x80\xFD[\x83\x01`\xE0\x81\x86\x03\x12\x15a\x01wW`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFA\x836\x03\x01\x81\x12a\x01\xB6W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x01\xF5W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x02\x10W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x02%W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02?W`\0\x80\xFD[\x825a\x02J\x81a\x01\x06V[\x94` \x93\x90\x93\x015\x93PPPV\xFE\xA2dipfsX\"\x12 \xE7\xC2ID|U\xA6\xB9\x87\x94\xFC,\xDC\xD4\xF4p\x0B\xEF\x7F\xC0\xFA\xA8\xE0U^\x1F\xD4\xC3u\x8FL\xAAdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static EXCLUSIVEFILLERVALIDATION_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static EXCLUSIVEFILLERVALIDATION_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ExclusiveFillerValidation(::ethers::contract::Contract); impl ::core::clone::Clone for ExclusiveFillerValidation { fn clone(&self) -> Self { @@ -127,11 +148,13 @@ pub mod exclusive_filler_validation { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EXCLUSIVEFILLERVALIDATION_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + EXCLUSIVEFILLERVALIDATION_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -184,8 +207,7 @@ pub mod exclusive_filler_validation { } } impl From<::ethers::contract::Contract> - for ExclusiveFillerValidation - { + for ExclusiveFillerValidation { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -195,11 +217,13 @@ pub mod exclusive_filler_validation { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NotExclusiveFiller", abi = "NotExclusiveFiller(address)")] pub struct NotExclusiveFiller { @@ -210,11 +234,13 @@ pub mod exclusive_filler_validation { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "validate", diff --git a/crates/bindings-uniswapx/src/exclusivity_override_lib.rs b/crates/bindings-uniswapx/src/exclusivity_lib.rs similarity index 66% rename from crates/bindings-uniswapx/src/exclusivity_override_lib.rs rename to crates/bindings-uniswapx/src/exclusivity_lib.rs index e8ed3b6..dde817a 100644 --- a/crates/bindings-uniswapx/src/exclusivity_override_lib.rs +++ b/crates/bindings-uniswapx/src/exclusivity_lib.rs @@ -1,4 +1,4 @@ -pub use exclusivity_override_lib::*; +pub use exclusivity_lib::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: #[allow( @@ -7,75 +7,86 @@ pub use exclusivity_override_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] -pub mod exclusivity_override_lib { +pub mod exclusivity_lib { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, functions: ::std::collections::BTreeMap::new(), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NoExclusiveOverride",), - inputs: ::std::vec![], - },], - )]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NoExclusiveOverride", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static EXCLUSIVITYOVERRIDELIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static EXCLUSIVITYLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 &&\x82\x0B\x84\xF4\x12\xDE\x1B\x84\x8F\x1E\xE1\xB8\xBA2,w\x12ug%(^\xE5\xB4\xB1\xF2zsM6dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 d7\xE9\xE3\xB3&~\x18\x06\x15\"@\x9C\x8F\xEEe\x9B\x9FZ?\x9BfS\x1BDq\x9D\x15\xF0\xDA\xBFHdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static EXCLUSIVITYOVERRIDELIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static EXCLUSIVITYLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 &&\x82\x0B\x84\xF4\x12\xDE\x1B\x84\x8F\x1E\xE1\xB8\xBA2,w\x12ug%(^\xE5\xB4\xB1\xF2zsM6dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 d7\xE9\xE3\xB3&~\x18\x06\x15\"@\x9C\x8F\xEEe\x9B\x9FZ?\x9BfS\x1BDq\x9D\x15\xF0\xDA\xBFHdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static EXCLUSIVITYOVERRIDELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct ExclusivityOverrideLib(::ethers::contract::Contract); - impl ::core::clone::Clone for ExclusivityOverrideLib { + pub static EXCLUSIVITYLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct ExclusivityLib(::ethers::contract::Contract); + impl ::core::clone::Clone for ExclusivityLib { fn clone(&self) -> Self { Self(::core::clone::Clone::clone(&self.0)) } } - impl ::core::ops::Deref for ExclusivityOverrideLib { + impl ::core::ops::Deref for ExclusivityLib { type Target = ::ethers::contract::Contract; fn deref(&self) -> &Self::Target { &self.0 } } - impl ::core::ops::DerefMut for ExclusivityOverrideLib { + impl ::core::ops::DerefMut for ExclusivityLib { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } - impl ::core::fmt::Debug for ExclusivityOverrideLib { + impl ::core::fmt::Debug for ExclusivityLib { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ExclusivityOverrideLib)) + f.debug_tuple(::core::stringify!(ExclusivityLib)) .field(&self.address()) .finish() } } - impl ExclusivityOverrideLib { + impl ExclusivityLib { /// Creates a new contract instance with the specified `ethers` client at /// `address`. The contract derefs to a `ethers::Contract` object. pub fn new>( address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EXCLUSIVITYOVERRIDELIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + EXCLUSIVITYLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -108,8 +119,8 @@ pub mod exclusivity_override_lib { ::ethers::contract::ContractError, > { let factory = ::ethers::contract::ContractFactory::new( - EXCLUSIVITYOVERRIDELIB_ABI.clone(), - EXCLUSIVITYOVERRIDELIB_BYTECODE.clone().into(), + EXCLUSIVITYLIB_ABI.clone(), + EXCLUSIVITYLIB_BYTECODE.clone().into(), client, ); let deployer = factory.deploy(constructor_args)?; @@ -118,8 +129,7 @@ pub mod exclusivity_override_lib { } } impl From<::ethers::contract::Contract> - for ExclusivityOverrideLib - { + for ExclusivityLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -129,11 +139,13 @@ pub mod exclusivity_override_lib { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NoExclusiveOverride", abi = "NoExclusiveOverride()")] pub struct NoExclusiveOverride; diff --git a/crates/bindings-uniswapx/src/fixed_point_math_lib.rs b/crates/bindings-uniswapx/src/fixed_point_math_lib.rs index 76eb85f..e105480 100644 --- a/crates/bindings-uniswapx/src/fixed_point_math_lib.rs +++ b/crates/bindings-uniswapx/src/fixed_point_math_lib.rs @@ -7,7 +7,7 @@ pub use fixed_point_math_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod fixed_point_math_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod fixed_point_math_lib { } } ///The parsed JSON ABI of the contract. - pub static FIXEDPOINTMATHLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static FIXEDPOINTMATHLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x93\x9B\xB0\\\xEA\xD5\x02\xD1\xE4\xBD\xBC\xA7\x8D\xDAA\x18\xEA~\xBA]T\xC4C~(::ethers::contract::Contract); impl ::core::clone::Clone for FixedPointMathLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod fixed_point_math_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - FIXEDPOINTMATHLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + FIXEDPOINTMATHLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod fixed_point_math_lib { } } impl From<::ethers::contract::Contract> - for FixedPointMathLib - { + for FixedPointMathLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/gas_snapshot.rs b/crates/bindings-uniswapx/src/gas_snapshot.rs index 300d1fa..9523839 100644 --- a/crates/bindings-uniswapx/src/gas_snapshot.rs +++ b/crates/bindings-uniswapx/src/gas_snapshot.rs @@ -7,7 +7,7 @@ pub use gas_snapshot::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod gas_snapshot { #[allow(deprecated)] @@ -19,93 +19,116 @@ pub mod gas_snapshot { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("CHECK_ENV_VAR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("CHECK_ENV_VAR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("CHECK_ENV_VAR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SNAP_DIR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("SNAP_DIR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("SNAP_DIR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("GasMismatch"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("GasMismatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("oldGas"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newGas"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("GasMismatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("GasMismatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("oldGas"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newGas"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], }, ], - },], - )]), + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static GASSNAPSHOT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static GASSNAPSHOT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x04\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x0C\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[P`@\x80Q\x80\x82\x01\x90\x91R`\x11\x81Rp.forge-snapshots/`x\x1B` \x82\x01Ra\0_\x90a\x011V[`@\x80Q\x80\x82\x01\x82R`\x14\x81R\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x90Qc~\xD1\xEC}`\xE0\x1B\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x91c~\xD1\xEC}\x91a\0\xC7\x91\x90`\x04\x01a\x02\xC7V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\x01\0WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\0\xFD\x91\x81\x01\x90a\x02\xE1V[`\x01[a\x01\x14W`\x0C\x80Ta\xFF\0\x19\x16\x90Ua\x04=V[`\x0C\x80T\x91\x15\x15a\x01\0\x02a\xFF\0\x19\x90\x92\x16\x91\x90\x91\x17\x90Ua\x04=V[`@\x80Q`\x03\x80\x82R`\x80\x82\x01\x90\x92R`\0\x91\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x01IW\x90PP\x90P`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d6\xB5\xB24\xB9`\xD9\x1B\x81RP\x81`\0\x81Q\x81\x10a\x01\x91Wa\x01\x91a\x03\x19V[` \x02` \x01\x01\x81\x90RP`@Q\x80`@\x01`@R\x80`\x02\x81R` \x01a\x02\xD7`\xF4\x1B\x81RP\x81`\x01\x81Q\x81\x10a\x01\xCAWa\x01\xCAa\x03\x19V[` \x02` \x01\x01\x81\x90RP\x81\x81`\x02\x81Q\x81\x10a\x01\xE9Wa\x01\xE9a\x03\x19V[` \x90\x81\x02\x91\x90\x91\x01\x01R`@Qc\x89\x16\x04g`\xE0\x1B\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x89\x16\x04g\x90a\x02+\x90\x84\x90`\x04\x01a\x03/V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x02JW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x02r\x91\x90\x81\x01\x90a\x03\x91V[PPPV[`\0[\x83\x81\x10\x15a\x02\x92W\x81\x81\x01Q\x83\x82\x01R` \x01a\x02zV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x02\xB3\x81` \x86\x01` \x86\x01a\x02wV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02\xDA` \x83\x01\x84a\x02\x9BV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x02\xF3W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02\xDAW`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a\x03\x84W`?\x19\x88\x86\x03\x01\x84Ra\x03r\x85\x83Qa\x02\x9BV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x03VV[P\x92\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x03\xA3W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x03\xBAW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x03\xCEW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x03\xE0Wa\x03\xE0a\x03\x03V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x04\x08Wa\x04\x08a\x03\x03V[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x04!W`\0\x80\xFD[a\x042\x83` \x83\x01` \x88\x01a\x02wV[\x97\x96PPPPPPPV[a\x01\x93\x80a\x04L`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c8\t,L\x14a\0FW\x80c\x9B'\xAA.\x14a\0\x98W\x80c\xF8\xCC\xBFG\x14a\0\xD4W[`\0\x80\xFD[a\0\x82`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\0\x8F\x91\x90a\0\xF1V[`@Q\x80\x91\x03\x90\xF3[a\0\x82`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01\x7F.forge-snapshots/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`\x0CTa\0\xE1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8FV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x01\x1EW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x01\x02V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x0C<\xF37\x18ES\x1Ah\xAD\xFD\xD6*e\x92\xD8\x19\x0B\xB0\x94&!\x97\x03\x13U\x11\xE6\x1AiiFdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@\x80Q\x80\x82\x01\x90\x91R`\x11\x81Rp.forge-snapshots/`x\x1B` \x82\x01Ra\0S\x90a\x01+V[`@\x80Q\x80\x82\x01\x82R`\x14\x81R\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x90Qc~\xD1\xEC}`\xE0\x1B\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x91c~\xD1\xEC}\x91a\0\xBB\x91\x90`\x04\x01a\x02\xC1V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x92PPP\x80\x15a\0\xF4WP`@\x80Q`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01\x90\x92Ra\0\xF1\x91\x81\x01\x90a\x02\xDBV[`\x01[a\x01\nW`\x0C\x80Tc\xFF\0\0\0\x19\x16\x90Ua\x049V[`\x0C\x80T\x91\x15\x15c\x01\0\0\0\x02c\xFF\0\0\0\x19\x90\x92\x16\x91\x90\x91\x17\x90Ua\x049V[`@\x80Q`\x03\x80\x82R`\x80\x82\x01\x90\x92R`\0\x91\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x01CW\x90PP\x90P`@Q\x80`@\x01`@R\x80`\x05\x81R` \x01d6\xB5\xB24\xB9`\xD9\x1B\x81RP\x81`\0\x81Q\x81\x10a\x01\x8BWa\x01\x8Ba\x03\x13V[` \x02` \x01\x01\x81\x90RP`@Q\x80`@\x01`@R\x80`\x02\x81R` \x01a\x02\xD7`\xF4\x1B\x81RP\x81`\x01\x81Q\x81\x10a\x01\xC4Wa\x01\xC4a\x03\x13V[` \x02` \x01\x01\x81\x90RP\x81\x81`\x02\x81Q\x81\x10a\x01\xE3Wa\x01\xE3a\x03\x13V[` \x90\x81\x02\x91\x90\x91\x01\x01R`@Qc\x89\x16\x04g`\xE0\x1B\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x89\x16\x04g\x90a\x02%\x90\x84\x90`\x04\x01a\x03)V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x02DW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x02l\x91\x90\x81\x01\x90a\x03\x8DV[PPPV[`\0[\x83\x81\x10\x15a\x02\x8CW\x81\x81\x01Q\x83\x82\x01R` \x01a\x02tV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x02\xAD\x81` \x86\x01` \x86\x01a\x02qV[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x81R`\0a\x02\xD4` \x83\x01\x84a\x02\x95V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x02\xEDW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x02\xD4W`\0\x80\xFD[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x03\x80W`?\x19\x88\x86\x03\x01\x84Ra\x03n\x85\x83Qa\x02\x95V[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x03RV[P\x92\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x03\x9FW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x03\xB6W`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x03\xCAW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x03\xDCWa\x03\xDCa\x02\xFDV[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x04\x04Wa\x04\x04a\x02\xFDV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x04\x1DW`\0\x80\xFD[a\x04.\x83` \x83\x01` \x88\x01a\x02qV[\x97\x96PPPPPPPV[a\x01\x9A\x80a\x04H`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c8\t,L\x14a\0FW\x80c\x9B'\xAA.\x14a\0\x98W\x80c\xF8\xCC\xBFG\x14a\0\xD4W[`\0\x80\xFD[a\0\x82`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\0\x8F\x91\x90a\0\xF7V[`@Q\x80\x91\x03\x90\xF3[a\0\x82`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01\x7F.forge-snapshots/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`\x0CTa\0\xE7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8FV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x01%W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x01\tV[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x9F\x85\xD8)\xED[\"\x91\xAE\xB7dD\xA6\x87\x14!8C.\xEB\xE9;\xD6\xE5\xCC\x95\xCA\xF9xC\xC8udsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static GASSNAPSHOT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static GASSNAPSHOT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c8\t,L\x14a\0FW\x80c\x9B'\xAA.\x14a\0\x98W\x80c\xF8\xCC\xBFG\x14a\0\xD4W[`\0\x80\xFD[a\0\x82`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\0\x8F\x91\x90a\0\xF1V[`@Q\x80\x91\x03\x90\xF3[a\0\x82`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01\x7F.forge-snapshots/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`\x0CTa\0\xE1\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8FV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x01\x1EW\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x01\x02V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x0C<\xF37\x18ES\x1Ah\xAD\xFD\xD6*e\x92\xD8\x19\x0B\xB0\x94&!\x97\x03\x13U\x11\xE6\x1AiiFdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c8\t,L\x14a\0FW\x80c\x9B'\xAA.\x14a\0\x98W\x80c\xF8\xCC\xBFG\x14a\0\xD4W[`\0\x80\xFD[a\0\x82`@Q\x80`@\x01`@R\x80`\x14\x81R` \x01\x7FFORGE_SNAPSHOT_CHECK\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`@Qa\0\x8F\x91\x90a\0\xF7V[`@Q\x80\x91\x03\x90\xF3[a\0\x82`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01\x7F.forge-snapshots/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x81V[`\x0CTa\0\xE7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8FV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x01%W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x01\tV[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV\xFE\xA2dipfsX\"\x12 \x9F\x85\xD8)\xED[\"\x91\xAE\xB7dD\xA6\x87\x14!8C.\xEB\xE9;\xD6\xE5\xCC\x95\xCA\xF9xC\xC8udsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static GASSNAPSHOT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static GASSNAPSHOT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct GasSnapshot(::ethers::contract::Contract); impl ::core::clone::Clone for GasSnapshot { fn clone(&self) -> Self { @@ -137,11 +160,13 @@ pub mod gas_snapshot { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - GASSNAPSHOT_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + GASSNAPSHOT_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -205,7 +230,8 @@ pub mod gas_snapshot { .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for GasSnapshot { + impl From<::ethers::contract::Contract> + for GasSnapshot { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -215,11 +241,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "GasMismatch", abi = "GasMismatch(uint256,uint256)")] pub struct GasMismatch { @@ -231,11 +259,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "CHECK_ENV_VAR", abi = "CHECK_ENV_VAR()")] pub struct CheckEnvVarCall; @@ -244,11 +274,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] pub struct IsScriptCall; @@ -257,16 +289,27 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "SNAP_DIR", abi = "SNAP_DIR()")] pub struct SnapDirCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum GasSnapshotCalls { CheckEnvVar(CheckEnvVarCall), IsScript(IsScriptCall), @@ -277,13 +320,19 @@ pub mod gas_snapshot { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::CheckEnvVar(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IsScript(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SnapDir(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -292,8 +341,12 @@ pub mod gas_snapshot { impl ::ethers::core::abi::AbiEncode for GasSnapshotCalls { fn encode(self) -> Vec { match self { - Self::CheckEnvVar(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::IsScript(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::CheckEnvVar(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::SnapDir(element) => ::ethers::core::abi::AbiEncode::encode(element), } } @@ -327,11 +380,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct CheckEnvVarReturn(pub ::std::string::String); ///Container type for all return fields from the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` @@ -339,11 +394,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsScriptReturn(pub bool); ///Container type for all return fields from the `SNAP_DIR` function with signature `SNAP_DIR()` and selector `0x9b27aa2e` @@ -351,11 +408,13 @@ pub mod gas_snapshot { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SnapDirReturn(pub ::std::string::String); } diff --git a/crates/bindings-uniswapx/src/i_allowance_transfer.rs b/crates/bindings-uniswapx/src/i_allowance_transfer.rs index fe770d2..c6deb59 100644 --- a/crates/bindings-uniswapx/src/i_allowance_transfer.rs +++ b/crates/bindings-uniswapx/src/i_allowance_transfer.rs @@ -7,7 +7,7 @@ pub use i_allowance_transfer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_allowance_transfer { pub use super::super::shared_types::*; @@ -576,8 +576,9 @@ pub mod i_allowance_transfer { } } ///The parsed JSON ABI of the contract. - pub static IALLOWANCETRANSFER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IALLOWANCETRANSFER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IAllowanceTransfer(::ethers::contract::Contract); impl ::core::clone::Clone for IAllowanceTransfer { fn clone(&self) -> Self { @@ -609,14 +610,18 @@ pub mod i_allowance_transfer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IALLOWANCETRANSFER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IALLOWANCETRANSFER_ABI.clone(), + client, + ), + ) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -627,8 +632,10 @@ pub mod i_allowance_transfer { user: ::ethers::core::types::Address, token: ::ethers::core::types::Address, spender: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall - { + ) -> ::ethers::contract::builders::ContractCall< + M, + (::ethers::core::types::U256, u64, u64), + > { self.0 .method_hash([146, 125, 161, 5], (user, token, spender)) .expect("method not found (this should never happen)") @@ -711,20 +718,31 @@ pub mod i_allowance_transfer { ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } ///Gets the contract's `Lockdown` event pub fn lockdown_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LockdownFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LockdownFilter, + > { self.0.event() } ///Gets the contract's `NonceInvalidation` event pub fn nonce_invalidation_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, NonceInvalidationFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + NonceInvalidationFilter, + > { self.0.event() } ///Gets the contract's `Permit` event @@ -736,15 +754,16 @@ pub mod i_allowance_transfer { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAllowanceTransferEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IAllowanceTransferEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAllowanceTransfer - { + for IAllowanceTransfer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -754,11 +773,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "AllowanceExpired", abi = "AllowanceExpired(uint256)")] pub struct AllowanceExpired { @@ -769,11 +790,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ExcessiveInvalidation", abi = "ExcessiveInvalidation()")] pub struct ExcessiveInvalidation; @@ -782,18 +805,29 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InsufficientAllowance", abi = "InsufficientAllowance(uint256)")] pub struct InsufficientAllowance { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IAllowanceTransferErrors { AllowanceExpired(AllowanceExpired), ExcessiveInvalidation(ExcessiveInvalidation), @@ -807,23 +841,24 @@ pub mod i_allowance_transfer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AllowanceExpired(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExcessiveInvalidation(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InsufficientAllowance(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -832,7 +867,9 @@ pub mod i_allowance_transfer { impl ::ethers::core::abi::AbiEncode for IAllowanceTransferErrors { fn encode(self) -> ::std::vec::Vec { match self { - Self::AllowanceExpired(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::AllowanceExpired(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::ExcessiveInvalidation(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -847,17 +884,16 @@ pub mod i_allowance_transfer { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -868,8 +904,12 @@ pub mod i_allowance_transfer { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::AllowanceExpired(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcessiveInvalidation(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcessiveInvalidation(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InsufficientAllowance(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -898,11 +938,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Approval", @@ -922,11 +964,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Lockdown", abi = "Lockdown(address,address,address)")] pub struct LockdownFilter { @@ -939,11 +983,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "NonceInvalidation", @@ -963,11 +1009,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Permit", @@ -985,7 +1033,16 @@ pub mod i_allowance_transfer { pub nonce: u64, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IAllowanceTransferEvents { ApprovalFilter(ApprovalFilter), LockdownFilter(LockdownFilter), @@ -1016,7 +1073,9 @@ pub mod i_allowance_transfer { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::LockdownFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::NonceInvalidationFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::NonceInvalidationFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::PermitFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1046,11 +1105,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -1059,11 +1120,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address,address)")] pub struct AllowanceCall { @@ -1076,11 +1139,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,address,uint160,uint48)")] pub struct ApproveCall { @@ -1094,11 +1159,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "invalidateNonces", @@ -1114,11 +1181,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "lockdown", abi = "lockdown((address,address)[])")] pub struct LockdownCall { @@ -1129,11 +1198,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -1149,11 +1220,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -1169,11 +1242,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "transferFrom", @@ -1187,11 +1262,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "transferFrom", @@ -1204,7 +1281,16 @@ pub mod i_allowance_transfer { pub token: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IAllowanceTransferCalls { DomainSeparator(DomainSeparatorCall), Allowance(AllowanceCall), @@ -1221,40 +1307,49 @@ pub mod i_allowance_transfer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidateNonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Lockdown(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitWithOwnerAndPermitSingle(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFromWithFrom(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1263,16 +1358,26 @@ pub mod i_allowance_transfer { impl ::ethers::core::abi::AbiEncode for IAllowanceTransferCalls { fn encode(self) -> Vec { match self { - Self::DomainSeparator(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::DomainSeparator(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidateNonces(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Lockdown(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::InvalidateNonces(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Lockdown(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Permit(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::PermitWithOwnerAndPermitSingle(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::TransferFromWithFrom(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1292,7 +1397,9 @@ pub mod i_allowance_transfer { ::core::fmt::Display::fmt(element, f) } Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::TransferFromWithFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFromWithFrom(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -1326,7 +1433,8 @@ pub mod i_allowance_transfer { Self::Permit(value) } } - impl ::core::convert::From for IAllowanceTransferCalls { + impl ::core::convert::From + for IAllowanceTransferCalls { fn from(value: PermitWithOwnerAndPermitSingleCall) -> Self { Self::PermitWithOwnerAndPermitSingle(value) } @@ -1346,11 +1454,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `allowance` function with signature `allowance(address,address,address)` and selector `0x927da105` @@ -1358,11 +1468,13 @@ pub mod i_allowance_transfer { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn { pub amount: ::ethers::core::types::U256, diff --git a/crates/bindings-uniswapx/src/i_permit_2.rs b/crates/bindings-uniswapx/src/i_permit_2.rs index f3cfb81..3bfd956 100644 --- a/crates/bindings-uniswapx/src/i_permit_2.rs +++ b/crates/bindings-uniswapx/src/i_permit_2.rs @@ -7,7 +7,7 @@ pub use i_permit_2::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_permit_2 { pub use super::super::shared_types::*; @@ -994,8 +994,9 @@ pub mod i_permit_2 { } } ///The parsed JSON ABI of the contract. - pub static IPERMIT2_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IPERMIT2_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct IPermit2(::ethers::contract::Contract); impl ::core::clone::Clone for IPermit2 { fn clone(&self) -> Self { @@ -1015,9 +1016,7 @@ pub mod i_permit_2 { } impl ::core::fmt::Debug for IPermit2 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IPermit2)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(IPermit2)).field(&self.address()).finish() } } impl IPermit2 { @@ -1027,14 +1026,18 @@ pub mod i_permit_2 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IPERMIT2_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IPERMIT2_ABI.clone(), + client, + ), + ) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -1045,8 +1048,10 @@ pub mod i_permit_2 { user: ::ethers::core::types::Address, token: ::ethers::core::types::Address, spender: ::ethers::core::types::Address, - ) -> ::ethers::contract::builders::ContractCall - { + ) -> ::ethers::contract::builders::ContractCall< + M, + (::ethers::core::types::U256, u64, u64), + > { self.0 .method_hash([146, 125, 161, 5], (user, token, spender)) .expect("method not found (this should never happen)") @@ -1227,20 +1232,31 @@ pub mod i_permit_2 { ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } ///Gets the contract's `Lockdown` event pub fn lockdown_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LockdownFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LockdownFilter, + > { self.0.event() } ///Gets the contract's `NonceInvalidation` event pub fn nonce_invalidation_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, NonceInvalidationFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + NonceInvalidationFilter, + > { self.0.event() } ///Gets the contract's `Permit` event @@ -1262,12 +1278,16 @@ pub mod i_permit_2 { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IPermit2Events> { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IPermit2Events, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for IPermit2 { + impl From<::ethers::contract::Contract> + for IPermit2 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -1277,11 +1297,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "AllowanceExpired", abi = "AllowanceExpired(uint256)")] pub struct AllowanceExpired { @@ -1292,11 +1314,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ExcessiveInvalidation", abi = "ExcessiveInvalidation()")] pub struct ExcessiveInvalidation; @@ -1305,11 +1329,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InsufficientAllowance", abi = "InsufficientAllowance(uint256)")] pub struct InsufficientAllowance { @@ -1320,11 +1346,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidAmount", abi = "InvalidAmount(uint256)")] pub struct InvalidAmount { @@ -1335,16 +1363,27 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "LengthMismatch", abi = "LengthMismatch()")] pub struct LengthMismatch; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IPermit2Errors { AllowanceExpired(AllowanceExpired), ExcessiveInvalidation(ExcessiveInvalidation), @@ -1360,29 +1399,34 @@ pub mod i_permit_2 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AllowanceExpired(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExcessiveInvalidation(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InsufficientAllowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidAmount(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::LengthMismatch(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1391,15 +1435,21 @@ pub mod i_permit_2 { impl ::ethers::core::abi::AbiEncode for IPermit2Errors { fn encode(self) -> ::std::vec::Vec { match self { - Self::AllowanceExpired(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::AllowanceExpired(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::ExcessiveInvalidation(element) => { ::ethers::core::abi::AbiEncode::encode(element) } Self::InsufficientAllowance(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidAmount(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::LengthMismatch(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::InvalidAmount(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::LengthMismatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -1408,23 +1458,24 @@ pub mod i_permit_2 { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ => false, @@ -1435,8 +1486,12 @@ pub mod i_permit_2 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::AllowanceExpired(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcessiveInvalidation(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcessiveInvalidation(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InsufficientAllowance(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidAmount(element) => ::core::fmt::Display::fmt(element, f), Self::LengthMismatch(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), @@ -1477,11 +1532,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Approval", @@ -1501,11 +1558,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Lockdown", abi = "Lockdown(address,address,address)")] pub struct LockdownFilter { @@ -1518,11 +1577,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "NonceInvalidation", @@ -1542,11 +1603,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Permit", @@ -1567,11 +1630,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "UnorderedNonceInvalidation", @@ -1584,7 +1649,16 @@ pub mod i_permit_2 { pub mask: ::ethers::core::types::U256, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IPermit2Events { ApprovalFilter(ApprovalFilter), LockdownFilter(LockdownFilter), @@ -1619,7 +1693,9 @@ pub mod i_permit_2 { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::LockdownFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::NonceInvalidationFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::NonceInvalidationFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::PermitFilter(element) => ::core::fmt::Display::fmt(element, f), Self::UnorderedNonceInvalidationFilter(element) => { ::core::fmt::Display::fmt(element, f) @@ -1657,11 +1733,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -1670,11 +1748,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address,address)")] pub struct AllowanceCall { @@ -1687,11 +1767,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,address,uint160,uint48)")] pub struct ApproveCall { @@ -1705,11 +1787,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "invalidateNonces", @@ -1725,11 +1809,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "invalidateUnorderedNonces", @@ -1744,11 +1830,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "lockdown", abi = "lockdown((address,address)[])")] pub struct LockdownCall { @@ -1759,11 +1847,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "nonceBitmap", abi = "nonceBitmap(address,uint256)")] pub struct NonceBitmapCall( @@ -1775,11 +1865,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -1795,11 +1887,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -1815,11 +1909,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitTransferFrom", @@ -1836,11 +1932,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitTransferFrom", @@ -1857,11 +1955,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitWitnessTransferFrom", @@ -1880,18 +1980,19 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitWitnessTransferFrom", abi = "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)" )] - pub struct PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignatureCall - { + pub struct PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignatureCall { pub permit: PermitBatchTransferFrom, pub transfer_details: ::std::vec::Vec, pub owner: ::ethers::core::types::Address, @@ -1904,11 +2005,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "transferFrom", @@ -1922,11 +2025,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "transferFrom", @@ -1939,7 +2044,16 @@ pub mod i_permit_2 { pub token: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IPermit2Calls { DomainSeparator(DomainSeparatorCall), Allowance(AllowanceCall), @@ -1966,78 +2080,87 @@ pub mod i_permit_2 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidateNonces(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidateUnorderedNonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Lockdown(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NonceBitmap(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitWithOwnerAndPermitSingle(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitTransferFrom(decoded)); } - if let Ok(decoded) - = ::decode( - data, - ) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok( Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature( decoded, ), ); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitWitnessTransferFrom(decoded)); } - if let Ok(decoded) - = ::decode( - data, - ) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok( Self::PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignature( decoded, ), ); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFromWithFrom(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -2175,15 +2298,15 @@ pub mod i_permit_2 { Self::PermitTransferFrom(value) } } - impl - ::core::convert::From< - PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, - > for IPermit2Calls - { + impl ::core::convert::From< + PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, + > for IPermit2Calls { fn from( value: PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, ) -> Self { - Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature(value) + Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature( + value, + ) } } impl ::core::convert::From for IPermit2Calls { @@ -2217,11 +2340,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `allowance` function with signature `allowance(address,address,address)` and selector `0x927da105` @@ -2229,11 +2354,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn { pub amount: ::ethers::core::types::U256, @@ -2245,11 +2372,13 @@ pub mod i_permit_2 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NonceBitmapReturn(pub ::ethers::core::types::U256); } diff --git a/crates/bindings-uniswapx/src/i_protocol_fee_controller.rs b/crates/bindings-uniswapx/src/i_protocol_fee_controller.rs index 4d30661..3238761 100644 --- a/crates/bindings-uniswapx/src/i_protocol_fee_controller.rs +++ b/crates/bindings-uniswapx/src/i_protocol_fee_controller.rs @@ -7,7 +7,7 @@ pub use i_protocol_fee_controller::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_protocol_fee_controller { pub use super::super::shared_types::*; @@ -15,59 +15,79 @@ pub mod i_protocol_fee_controller { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array(::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - ),), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new(::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ], - ),), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::std::collections::BTreeMap::new(), receive: false, @@ -75,8 +95,9 @@ pub mod i_protocol_fee_controller { } } ///The parsed JSON ABI of the contract. - pub static IPROTOCOLFEECONTROLLER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IPROTOCOLFEECONTROLLER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IProtocolFeeController(::ethers::contract::Contract); impl ::core::clone::Clone for IProtocolFeeController { fn clone(&self) -> Self { @@ -108,25 +129,29 @@ pub mod i_protocol_fee_controller { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IPROTOCOLFEECONTROLLER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IPROTOCOLFEECONTROLLER_ABI.clone(), + client, + ), + ) } ///Calls the contract's `getFeeOutputs` (0x8aa6cf03) function pub fn get_fee_outputs( &self, order: ResolvedOrder, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([138, 166, 207, 3], (order,)) .expect("method not found (this should never happen)") } } impl From<::ethers::contract::Contract> - for IProtocolFeeController - { + for IProtocolFeeController { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -136,11 +161,13 @@ pub mod i_protocol_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "getFeeOutputs", @@ -154,11 +181,13 @@ pub mod i_protocol_fee_controller { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct GetFeeOutputsReturn(pub ::std::vec::Vec); } diff --git a/crates/bindings-uniswapx/src/i_reactor.rs b/crates/bindings-uniswapx/src/i_reactor.rs index ff19e6a..5998eb7 100644 --- a/crates/bindings-uniswapx/src/i_reactor.rs +++ b/crates/bindings-uniswapx/src/i_reactor.rs @@ -7,7 +7,7 @@ pub use i_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_reactor { pub use super::super::shared_types::*; @@ -18,77 +18,129 @@ pub mod i_reactor { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -98,8 +150,9 @@ pub mod i_reactor { } } ///The parsed JSON ABI of the contract. - pub static IREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct IReactor(::ethers::contract::Contract); impl ::core::clone::Clone for IReactor { fn clone(&self) -> Self { @@ -119,9 +172,7 @@ pub mod i_reactor { } impl ::core::fmt::Debug for IReactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IReactor)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(IReactor)).field(&self.address()).finish() } } impl IReactor { @@ -131,95 +182,177 @@ pub mod i_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IREACTOR_ABI.clone(), + client, + ), + ) } - ///Calls the contract's `execute` (0x05afc977) function + ///Calls the contract's `execute` (0x3f62192e) function pub fn execute( &self, order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function + ///Calls the contract's `executeBatch` (0x0d7a16c3) function pub fn execute_batch( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( + &self, + orders: ::std::vec::Vec, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for IReactor { + impl From<::ethers::contract::Contract> + for IReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] pub struct ExecuteCall { pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + } + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum IReactorCalls { Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), } impl ::ethers::core::abi::AbiDecode for IReactorCalls { fn decode( data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } Err(::ethers::core::abi::Error::InvalidData.into()) } } @@ -227,7 +360,15 @@ pub mod i_reactor { fn encode(self) -> Vec { match self { Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -236,6 +377,12 @@ pub mod i_reactor { match self { Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -249,4 +396,14 @@ pub mod i_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From for IReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for IReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } } diff --git a/crates/bindings-uniswapx/src/i_reactor_callback.rs b/crates/bindings-uniswapx/src/i_reactor_callback.rs index 23f6d93..9b8f44a 100644 --- a/crates/bindings-uniswapx/src/i_reactor_callback.rs +++ b/crates/bindings-uniswapx/src/i_reactor_callback.rs @@ -7,7 +7,7 @@ pub use i_reactor_callback::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_reactor_callback { pub use super::super::shared_types::*; @@ -67,14 +67,7 @@ pub mod i_reactor_callback { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), + name: ::std::borrow::ToOwned::to_owned("callbackData"), kind: ::ethers::core::abi::ethabi::ParamType::Bytes, internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("bytes"), @@ -95,8 +88,9 @@ pub mod i_reactor_callback { } } ///The parsed JSON ABI of the contract. - pub static IREACTORCALLBACK_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IREACTORCALLBACK_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IReactorCallback(::ethers::contract::Contract); impl ::core::clone::Clone for IReactorCallback { fn clone(&self) -> Self { @@ -128,49 +122,50 @@ pub mod i_reactor_callback { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IREACTORCALLBACK_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IREACTORCALLBACK_ABI.clone(), + client, + ), + ) } - ///Calls the contract's `reactorCallback` (0x9943fa89) function + ///Calls the contract's `reactorCallback` (0x585da628) function pub fn reactor_callback( &self, resolved_orders: ::std::vec::Vec, - filler: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([153, 67, 250, 137], (resolved_orders, filler, fill_data)) + .method_hash([88, 93, 166, 40], (resolved_orders, callback_data)) .expect("method not found (this should never happen)") } } impl From<::ethers::contract::Contract> - for IReactorCallback - { + for IReactorCallback { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)` and selector `0x9943fa89` + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "reactorCallback", - abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)" + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" )] pub struct ReactorCallbackCall { pub resolved_orders: ::std::vec::Vec, - pub filler: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, } } diff --git a/crates/bindings-uniswapx/src/i_signature_transfer.rs b/crates/bindings-uniswapx/src/i_signature_transfer.rs index 22a6fe4..b212171 100644 --- a/crates/bindings-uniswapx/src/i_signature_transfer.rs +++ b/crates/bindings-uniswapx/src/i_signature_transfer.rs @@ -7,7 +7,7 @@ pub use i_signature_transfer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_signature_transfer { pub use super::super::shared_types::*; @@ -466,8 +466,9 @@ pub mod i_signature_transfer { } } ///The parsed JSON ABI of the contract. - pub static ISIGNATURETRANSFER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ISIGNATURETRANSFER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct ISignatureTransfer(::ethers::contract::Contract); impl ::core::clone::Clone for ISignatureTransfer { fn clone(&self) -> Self { @@ -499,14 +500,18 @@ pub mod i_signature_transfer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ISIGNATURETRANSFER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ISIGNATURETRANSFER_ABI.clone(), + client, + ), + ) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -627,13 +632,11 @@ pub mod i_signature_transfer { M, UnorderedNonceInvalidationFilter, > { - self.0 - .event_with_filter(::core::default::Default::default()) + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for ISignatureTransfer - { + for ISignatureTransfer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -643,11 +646,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidAmount", abi = "InvalidAmount(uint256)")] pub struct InvalidAmount { @@ -658,16 +663,27 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "LengthMismatch", abi = "LengthMismatch()")] pub struct LengthMismatch; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ISignatureTransferErrors { InvalidAmount(InvalidAmount), LengthMismatch(LengthMismatch), @@ -680,15 +696,19 @@ pub mod i_signature_transfer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidAmount(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::LengthMismatch(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -697,8 +717,12 @@ pub mod i_signature_transfer { impl ::ethers::core::abi::AbiEncode for ISignatureTransferErrors { fn encode(self) -> ::std::vec::Vec { match self { - Self::InvalidAmount(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::LengthMismatch(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::InvalidAmount(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::LengthMismatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -707,10 +731,12 @@ pub mod i_signature_transfer { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ => false, @@ -745,11 +771,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "UnorderedNonceInvalidation", @@ -766,11 +794,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -779,11 +809,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "invalidateUnorderedNonces", @@ -798,11 +830,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "nonceBitmap", abi = "nonceBitmap(address,uint256)")] pub struct NonceBitmapCall( @@ -814,11 +848,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitTransferFrom", @@ -835,11 +871,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitTransferFrom", @@ -856,11 +894,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitWitnessTransferFrom", @@ -879,18 +919,19 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permitWitnessTransferFrom", abi = "permitWitnessTransferFrom(((address,uint256)[],uint256,uint256),(address,uint256)[],address,bytes32,string,bytes)" )] - pub struct PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignatureCall - { + pub struct PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignatureCall { pub permit: PermitBatchTransferFrom, pub transfer_details: ::std::vec::Vec, pub owner: ::ethers::core::types::Address, @@ -899,7 +940,16 @@ pub mod i_signature_transfer { pub signature: ::ethers::core::types::Bytes, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ISignatureTransferCalls { DomainSeparator(DomainSeparatorCall), InvalidateUnorderedNonces(InvalidateUnorderedNoncesCall), @@ -918,43 +968,43 @@ pub mod i_signature_transfer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidateUnorderedNonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NonceBitmap(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitTransferFrom(decoded)); } - if let Ok(decoded) - = ::decode( - data, - ) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok( Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature( decoded, ), ); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::PermitWitnessTransferFrom(decoded)); } - if let Ok(decoded) - = ::decode( - data, - ) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok( Self::PermitWitnessTransferFromWithPermitAndTransferDetailsAndOwnerAndWitnessAndWitnessTypeStringAndSignature( decoded, @@ -1019,7 +1069,8 @@ pub mod i_signature_transfer { Self::DomainSeparator(value) } } - impl ::core::convert::From for ISignatureTransferCalls { + impl ::core::convert::From + for ISignatureTransferCalls { fn from(value: InvalidateUnorderedNoncesCall) -> Self { Self::InvalidateUnorderedNonces(value) } @@ -1034,18 +1085,19 @@ pub mod i_signature_transfer { Self::PermitTransferFrom(value) } } - impl - ::core::convert::From< - PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, - > for ISignatureTransferCalls - { + impl ::core::convert::From< + PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, + > for ISignatureTransferCalls { fn from( value: PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignatureCall, ) -> Self { - Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature(value) + Self::PermitTransferFromWithPermitAndTransferDetailsAndOwnerAndSignature( + value, + ) } } - impl ::core::convert::From for ISignatureTransferCalls { + impl ::core::convert::From + for ISignatureTransferCalls { fn from(value: PermitWitnessTransferFromCall) -> Self { Self::PermitWitnessTransferFrom(value) } @@ -1066,11 +1118,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `nonceBitmap` function with signature `nonceBitmap(address,uint256)` and selector `0x4fe02b44` @@ -1078,11 +1132,13 @@ pub mod i_signature_transfer { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NonceBitmapReturn(pub ::ethers::core::types::U256); } diff --git a/crates/bindings-uniswapx/src/i_swap_router_02.rs b/crates/bindings-uniswapx/src/i_swap_router_02.rs index 08b0f61..d70c882 100644 --- a/crates/bindings-uniswapx/src/i_swap_router_02.rs +++ b/crates/bindings-uniswapx/src/i_swap_router_02.rs @@ -7,9 +7,10 @@ pub use i_swap_router_02::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_swap_router_02 { + pub use super::super::shared_types::*; #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { @@ -17,153 +18,230 @@ pub mod i_swap_router_02 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("WETH9"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("WETH9"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("WETH9"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("exactInput"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("exactInput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("params"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ExactInputParams"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("exactInputSingle"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("exactInputSingle"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("params"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(24usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(160usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ExactInputSingleParams",), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("exactInputSingle"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("params"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(24usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(160usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct ExactInputSingleParams", + ), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("multicall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("multicall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deadline"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("multicall"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deadline"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("results"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes[]"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("results"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("swapExactTokensForTokens"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("swapExactTokensForTokens",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountOutMin"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("path"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "swapExactTokensForTokens", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountOutMin"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("path"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("unwrapWETH9"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("unwrapWETH9"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountMinimum"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("unwrapWETH9"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountMinimum"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -173,8 +251,9 @@ pub mod i_swap_router_02 { } } ///The parsed JSON ABI of the contract. - pub static ISWAPROUTER02_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ISWAPROUTER02_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct ISwapRouter02(::ethers::contract::Contract); impl ::core::clone::Clone for ISwapRouter02 { fn clone(&self) -> Self { @@ -206,20 +285,34 @@ pub mod i_swap_router_02 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ISWAPROUTER02_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ISWAPROUTER02_ABI.clone(), + client, + ), + ) } ///Calls the contract's `WETH9` (0x4aa4a4fc) function pub fn weth9( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([74, 164, 164, 252], ()) .expect("method not found (this should never happen)") } + ///Calls the contract's `exactInput` (0xb858183f) function + pub fn exact_input( + &self, + params: ExactInputParams, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([184, 88, 24, 63], (params,)) + .expect("method not found (this should never happen)") + } ///Calls the contract's `exactInputSingle` (0x04e45aaf) function pub fn exact_input_single( &self, @@ -265,8 +358,7 @@ pub mod i_swap_router_02 { } } impl From<::ethers::contract::Contract> - for ISwapRouter02 - { + for ISwapRouter02 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -276,24 +368,45 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "WETH9", abi = "WETH9()")] pub struct Weth9Call; + ///Container type for all input parameters for the `exactInput` function with signature `exactInput((bytes,address,uint256,uint256))` and selector `0xb858183f` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "exactInput", abi = "exactInput((bytes,address,uint256,uint256))")] + pub struct ExactInputCall { + pub params: ExactInputParams, + } ///Container type for all input parameters for the `exactInputSingle` function with signature `exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))` and selector `0x04e45aaf` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "exactInputSingle", @@ -307,11 +420,13 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "multicall", abi = "multicall(uint256,bytes[])")] pub struct MulticallCall { @@ -323,11 +438,13 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "swapExactTokensForTokens", @@ -344,20 +461,32 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "unwrapWETH9", abi = "unwrapWETH9(uint256)")] pub struct UnwrapWETH9Call { pub amount_minimum: ::ethers::core::types::U256, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ISwapRouter02Calls { Weth9(Weth9Call), + ExactInput(ExactInputCall), ExactInputSingle(ExactInputSingleCall), Multicall(MulticallCall), SwapExactTokensForTokens(SwapExactTokensForTokensCall), @@ -368,23 +497,34 @@ pub mod i_swap_router_02 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Weth9(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExactInput(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExactInputSingle(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Multicall(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SwapExactTokensForTokens(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::UnwrapWETH9(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -394,12 +534,21 @@ pub mod i_swap_router_02 { fn encode(self) -> Vec { match self { Self::Weth9(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExactInputSingle(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Multicall(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExactInput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExactInputSingle(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Multicall(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::SwapExactTokensForTokens(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::UnwrapWETH9(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::UnwrapWETH9(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -407,9 +556,12 @@ pub mod i_swap_router_02 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::Weth9(element) => ::core::fmt::Display::fmt(element, f), + Self::ExactInput(element) => ::core::fmt::Display::fmt(element, f), Self::ExactInputSingle(element) => ::core::fmt::Display::fmt(element, f), Self::Multicall(element) => ::core::fmt::Display::fmt(element, f), - Self::SwapExactTokensForTokens(element) => ::core::fmt::Display::fmt(element, f), + Self::SwapExactTokensForTokens(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::UnwrapWETH9(element) => ::core::fmt::Display::fmt(element, f), } } @@ -419,6 +571,11 @@ pub mod i_swap_router_02 { Self::Weth9(value) } } + impl ::core::convert::From for ISwapRouter02Calls { + fn from(value: ExactInputCall) -> Self { + Self::ExactInput(value) + } + } impl ::core::convert::From for ISwapRouter02Calls { fn from(value: ExactInputSingleCall) -> Self { Self::ExactInputSingle(value) @@ -444,23 +601,43 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Weth9Return(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `exactInput` function with signature `exactInput((bytes,address,uint256,uint256))` and selector `0xb858183f` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExactInputReturn { + pub amount_out: ::ethers::core::types::U256, + } ///Container type for all return fields from the `exactInputSingle` function with signature `exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))` and selector `0x04e45aaf` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExactInputSingleReturn { pub amount_out: ::ethers::core::types::U256, @@ -470,11 +647,13 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct MulticallReturn { pub results: ::std::vec::Vec<::ethers::core::types::Bytes>, @@ -484,11 +663,13 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SwapExactTokensForTokensReturn { pub amount_out: ::ethers::core::types::U256, @@ -498,11 +679,13 @@ pub mod i_swap_router_02 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExactInputSingleParams { pub token_in: ::ethers::core::types::Address, diff --git a/crates/bindings-uniswapx/src/i_uni_v3_swap_router.rs b/crates/bindings-uniswapx/src/i_uni_v3_swap_router.rs deleted file mode 100644 index 2f061fe..0000000 --- a/crates/bindings-uniswapx/src/i_uni_v3_swap_router.rs +++ /dev/null @@ -1,142 +0,0 @@ -pub use i_uni_v3_swap_router::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_uni_v3_swap_router { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("exactInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("exactInput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("params"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IUniV3SwapRouter.ExactInputParams", - ), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static IUNIV3SWAPROUTER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IUniV3SwapRouter(::ethers::contract::Contract); - impl ::core::clone::Clone for IUniV3SwapRouter { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IUniV3SwapRouter { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IUniV3SwapRouter { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IUniV3SwapRouter { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IUniV3SwapRouter)) - .field(&self.address()) - .finish() - } - } - impl IUniV3SwapRouter { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IUNIV3SWAPROUTER_ABI.clone(), - client, - )) - } - ///Calls the contract's `exactInput` (0xb858183f) function - pub fn exact_input( - &self, - params: ExactInputParams, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([184, 88, 24, 63], (params,)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for IUniV3SwapRouter - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `exactInput` function with signature `exactInput((bytes,address,uint256,uint256))` and selector `0xb858183f` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "exactInput", - abi = "exactInput((bytes,address,uint256,uint256))" - )] - pub struct ExactInputCall { - pub params: ExactInputParams, - } - ///Container type for all return fields from the `exactInput` function with signature `exactInput((bytes,address,uint256,uint256))` and selector `0xb858183f` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ExactInputReturn { - pub amount_out: ::ethers::core::types::U256, - } -} diff --git a/crates/bindings-uniswapx/src/i_validation_callback.rs b/crates/bindings-uniswapx/src/i_validation_callback.rs index d0b93a3..5a202fc 100644 --- a/crates/bindings-uniswapx/src/i_validation_callback.rs +++ b/crates/bindings-uniswapx/src/i_validation_callback.rs @@ -7,7 +7,7 @@ pub use i_validation_callback::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_validation_callback { pub use super::super::shared_types::*; @@ -15,56 +15,68 @@ pub mod i_validation_callback { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("validate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("validate"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("validate"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("validate"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, }, ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::std::collections::BTreeMap::new(), receive: false, @@ -72,8 +84,9 @@ pub mod i_validation_callback { } } ///The parsed JSON ABI of the contract. - pub static IVALIDATIONCALLBACK_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IVALIDATIONCALLBACK_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IValidationCallback(::ethers::contract::Contract); impl ::core::clone::Clone for IValidationCallback { fn clone(&self) -> Self { @@ -105,11 +118,13 @@ pub mod i_validation_callback { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IVALIDATIONCALLBACK_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IVALIDATIONCALLBACK_ABI.clone(), + client, + ), + ) } ///Calls the contract's `validate` (0x6e84ba2b) function pub fn validate( @@ -123,8 +138,7 @@ pub mod i_validation_callback { } } impl From<::ethers::contract::Contract> - for IValidationCallback - { + for IValidationCallback { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -134,11 +148,13 @@ pub mod i_validation_callback { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "validate", diff --git a/crates/bindings-uniswapx/src/ieip712.rs b/crates/bindings-uniswapx/src/ieip712.rs index fcbf1c6..fd6b379 100644 --- a/crates/bindings-uniswapx/src/ieip712.rs +++ b/crates/bindings-uniswapx/src/ieip712.rs @@ -7,29 +7,37 @@ pub use ieip712::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod ieip712 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::std::collections::BTreeMap::new(), receive: false, @@ -37,8 +45,9 @@ pub mod ieip712 { } } ///The parsed JSON ABI of the contract. - pub static IEIP712_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IEIP712_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct IEIP712(::ethers::contract::Contract); impl ::core::clone::Clone for IEIP712 { fn clone(&self) -> Self { @@ -58,9 +67,7 @@ pub mod ieip712 { } impl ::core::fmt::Debug for IEIP712 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IEIP712)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(IEIP712)).field(&self.address()).finish() } } impl IEIP712 { @@ -70,20 +77,25 @@ pub mod ieip712 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IEIP712_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IEIP712_ABI.clone(), + client, + ), + ) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for IEIP712 { + impl From<::ethers::contract::Contract> + for IEIP712 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -93,11 +105,13 @@ pub mod ieip712 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -106,11 +120,13 @@ pub mod ieip712 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); } diff --git a/crates/bindings-uniswapx/src/ierc165.rs b/crates/bindings-uniswapx/src/ierc165.rs new file mode 100644 index 0000000..13e0228 --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc165.rs @@ -0,0 +1,143 @@ +pub use ierc165::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc165 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceID"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC165_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + pub struct IERC165(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC165 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC165 { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC165 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC165 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC165)).field(&self.address()).finish() + } + } + impl IERC165 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC165_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for IERC165 { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); +} diff --git a/crates/bindings-uniswapx/src/ierc20.rs b/crates/bindings-uniswapx/src/ierc20.rs new file mode 100644 index 0000000..76378d6 --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc20.rs @@ -0,0 +1,1027 @@ +pub use ierc20::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc20 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("allowance"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("decimals"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("name"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("symbol"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("totalSupply"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + pub struct IERC20(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC20 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC20 { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC20 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC20 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC20)).field(&self.address()).finish() + } + } + impl IERC20 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC20_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `allowance` (0xdd62ed3e) function + pub fn allowance( + &self, + owner: ::ethers::core::types::Address, + spender: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([221, 98, 237, 62], (owner, spender)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + spender: ::ethers::core::types::Address, + amount: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (spender, amount)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + account: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], account) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `decimals` (0x313ce567) function + pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([49, 60, 229, 103], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([6, 253, 222, 3], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `symbol` (0x95d89b41) function + pub fn symbol( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([149, 216, 155, 65], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `totalSupply` (0x18160ddd) function + pub fn total_supply( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([24, 22, 13, 221], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transfer` (0xa9059cbb) function + pub fn transfer( + &self, + to: ::ethers::core::types::Address, + amount: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([169, 5, 156, 187], (to, amount)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + amount: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, amount)) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { + self.0.event() + } + ///Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IERC20Events> { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IERC20 { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub spender: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC20Events { + ApprovalFilter(ApprovalFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for IERC20Events { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(IERC20Events::ApprovalFilter(decoded)); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(IERC20Events::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IERC20Events { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC20Events { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for IERC20Events { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "allowance", abi = "allowance(address,address)")] + pub struct AllowanceCall { + pub owner: ::ethers::core::types::Address, + pub spender: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub spender: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub account: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "decimals", abi = "decimals()")] + pub struct DecimalsCall; + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "name", abi = "name()")] + pub struct NameCall; + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "symbol", abi = "symbol()")] + pub struct SymbolCall; + ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "totalSupply", abi = "totalSupply()")] + pub struct TotalSupplyCall; + ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] + pub struct TransferCall { + pub to: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC20Calls { + Allowance(AllowanceCall), + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + Decimals(DecimalsCall), + Name(NameCall), + Symbol(SymbolCall), + TotalSupply(TotalSupplyCall), + Transfer(TransferCall), + TransferFrom(TransferFromCall), + } + impl ::ethers::core::abi::AbiDecode for IERC20Calls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Allowance(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Decimals(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Name(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Symbol(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TotalSupply(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Transfer(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferFrom(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for IERC20Calls { + fn encode(self) -> Vec { + match self { + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for IERC20Calls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), + Self::Name(element) => ::core::fmt::Display::fmt(element, f), + Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), + Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), + Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: AllowanceCall) -> Self { + Self::Allowance(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: DecimalsCall) -> Self { + Self::Decimals(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: NameCall) -> Self { + Self::Name(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: SymbolCall) -> Self { + Self::Symbol(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: TotalSupplyCall) -> Self { + Self::TotalSupply(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: TransferCall) -> Self { + Self::Transfer(value) + } + } + impl ::core::convert::From for IERC20Calls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct AllowanceReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ApproveReturn(pub bool); + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct DecimalsReturn(pub u8); + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct NameReturn(pub ::std::string::String); + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SymbolReturn(pub ::std::string::String); + ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TransferReturn(pub bool); + ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TransferFromReturn(pub bool); +} diff --git a/crates/bindings-uniswapx/src/ierc5267.rs b/crates/bindings-uniswapx/src/ierc5267.rs index 296fb60..046de09 100644 --- a/crates/bindings-uniswapx/src/ierc5267.rs +++ b/crates/bindings-uniswapx/src/ierc5267.rs @@ -7,93 +7,110 @@ pub use ierc5267::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod ierc5267 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("eip712Domain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("eip712Domain"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fields"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(1usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes1"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("name"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("version"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("chainId"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("verifyingContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("eip712Domain"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("eip712Domain"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fields"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 1usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes1"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("name"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("version"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("chainId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("verifyingContract"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("salt"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("extensions"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("salt"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("extensions"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256[]"), + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("EIP712DomainChanged"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "EIP712DomainChanged", ), + inputs: ::std::vec![], + anonymous: false, }, ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("EIP712DomainChanged"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("EIP712DomainChanged",), - inputs: ::std::vec![], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static IERC5267_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static IERC5267_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct IERC5267(::ethers::contract::Contract); impl ::core::clone::Clone for IERC5267 { fn clone(&self) -> Self { @@ -113,9 +130,7 @@ pub mod ierc5267 { } impl ::core::fmt::Debug for IERC5267 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IERC5267)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(IERC5267)).field(&self.address()).finish() } } impl IERC5267 { @@ -125,11 +140,13 @@ pub mod ierc5267 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IERC5267_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC5267_ABI.clone(), + client, + ), + ) } ///Calls the contract's `eip712Domain` (0x84b0196e) function pub fn eip_712_domain( @@ -153,20 +170,26 @@ pub mod ierc5267 { ///Gets the contract's `EIP712DomainChanged` event pub fn eip712_domain_changed_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Eip712DomainChangedFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Eip712DomainChangedFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Eip712DomainChangedFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Eip712DomainChangedFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for IERC5267 { + impl From<::ethers::contract::Contract> + for IERC5267 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -175,11 +198,13 @@ pub mod ierc5267 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "EIP712DomainChanged", abi = "EIP712DomainChanged()")] pub struct Eip712DomainChangedFilter; @@ -188,11 +213,13 @@ pub mod ierc5267 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "eip712Domain", abi = "eip712Domain()")] pub struct Eip712DomainCall; @@ -201,11 +228,13 @@ pub mod ierc5267 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Eip712DomainReturn { pub fields: [u8; 1], diff --git a/crates/bindings-uniswapx/src/ierc721.rs b/crates/bindings-uniswapx/src/ierc721.rs new file mode 100644 index 0000000..6b79dd0 --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc721.rs @@ -0,0 +1,1177 @@ +pub use ierc721::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc721 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getApproved"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getApproved"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ownerOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ownerOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceID"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC721_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + pub struct IERC721(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC721 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC721 { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC721 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC721 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC721)).field(&self.address()).finish() + } + } + impl IERC721 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC721_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + approved: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (approved, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], owner) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getApproved` (0x081812fc) function + pub fn get_approved( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([8, 24, 18, 252], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function + pub fn is_approved_for_all( + &self, + owner: ::ethers::core::types::Address, + operator: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([233, 133, 233, 197], (owner, operator)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `ownerOf` (0x6352211e) function + pub fn owner_of( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([99, 82, 33, 30], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0x42842e0e) function + pub fn safe_transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([66, 132, 46, 14], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0xb88d4fde) function + pub fn safe_transfer_from_with_from_and_to_and_data( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([184, 141, 79, 222], (from, to, token_id, data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setApprovalForAll` (0xa22cb465) function + pub fn set_approval_for_all( + &self, + operator: ::ethers::core::types::Address, + approved: bool, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([162, 44, 180, 101], (operator, approved)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { + self.0.event() + } + ///Gets the contract's `ApprovalForAll` event + pub fn approval_for_all_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalForAllFilter, + > { + self.0.event() + } + ///Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IERC721Events> { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IERC721 { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub approved: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")] + pub struct ApprovalForAllFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721Events { + ApprovalFilter(ApprovalFilter), + ApprovalForAllFilter(ApprovalForAllFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for IERC721Events { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(IERC721Events::ApprovalFilter(decoded)); + } + if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) { + return Ok(IERC721Events::ApprovalForAllFilter(decoded)); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(IERC721Events::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IERC721Events { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::ApprovalForAllFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721Events { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for IERC721Events { + fn from(value: ApprovalForAllFilter) -> Self { + Self::ApprovalForAllFilter(value) + } + } + impl ::core::convert::From for IERC721Events { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub approved: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "getApproved", abi = "getApproved(uint256)")] + pub struct GetApprovedCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")] + pub struct IsApprovedForAllCall { + pub owner: ::ethers::core::types::Address, + pub operator: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")] + pub struct OwnerOfCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256)` and selector `0x42842e0e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256)" + )] + pub struct SafeTransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,bytes)` and selector `0xb88d4fde` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256,bytes)" + )] + pub struct SafeTransferFromWithFromAndToAndDataCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + pub data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")] + pub struct SetApprovalForAllCall { + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721Calls { + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + GetApproved(GetApprovedCall), + IsApprovedForAll(IsApprovedForAllCall), + OwnerOf(OwnerOfCall), + SafeTransferFrom(SafeTransferFromCall), + SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall), + SetApprovalForAll(SetApprovalForAllCall), + SupportsInterface(SupportsInterfaceCall), + TransferFrom(TransferFromCall), + } + impl ::ethers::core::abi::AbiDecode for IERC721Calls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetApproved(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsApprovedForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OwnerOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFrom(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetApprovalForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SupportsInterface(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferFrom(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for IERC721Calls { + fn encode(self) -> Vec { + match self { + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::GetApproved(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsApprovedForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::OwnerOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SafeTransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetApprovalForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SupportsInterface(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for IERC721Calls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f), + Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: GetApprovedCall) -> Self { + Self::GetApproved(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: IsApprovedForAllCall) -> Self { + Self::IsApprovedForAll(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: OwnerOfCall) -> Self { + Self::OwnerOf(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: SafeTransferFromCall) -> Self { + Self::SafeTransferFrom(value) + } + } + impl ::core::convert::From + for IERC721Calls { + fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self { + Self::SafeTransferFromWithFromAndToAndData(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: SetApprovalForAllCall) -> Self { + Self::SetApprovalForAll(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: SupportsInterfaceCall) -> Self { + Self::SupportsInterface(value) + } + } + impl ::core::convert::From for IERC721Calls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetApprovedReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsApprovedForAllReturn(pub bool); + ///Container type for all return fields from the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerOfReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); +} diff --git a/crates/bindings-uniswapx/src/ierc721_enumerable.rs b/crates/bindings-uniswapx/src/ierc721_enumerable.rs new file mode 100644 index 0000000..77ee05f --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc721_enumerable.rs @@ -0,0 +1,1447 @@ +pub use ierc721_enumerable::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc721_enumerable { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getApproved"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getApproved"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ownerOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ownerOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceID"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("tokenByIndex"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("tokenByIndex"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_index"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("tokenOfOwnerByIndex"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "tokenOfOwnerByIndex", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_index"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("totalSupply"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC721ENUMERABLE_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + pub struct IERC721Enumerable(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC721Enumerable { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC721Enumerable { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC721Enumerable { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC721Enumerable { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC721Enumerable)) + .field(&self.address()) + .finish() + } + } + impl IERC721Enumerable { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC721ENUMERABLE_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + approved: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (approved, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], owner) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getApproved` (0x081812fc) function + pub fn get_approved( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([8, 24, 18, 252], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function + pub fn is_approved_for_all( + &self, + owner: ::ethers::core::types::Address, + operator: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([233, 133, 233, 197], (owner, operator)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `ownerOf` (0x6352211e) function + pub fn owner_of( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([99, 82, 33, 30], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0x42842e0e) function + pub fn safe_transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([66, 132, 46, 14], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0xb88d4fde) function + pub fn safe_transfer_from_with_from_and_to_and_data( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([184, 141, 79, 222], (from, to, token_id, data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setApprovalForAll` (0xa22cb465) function + pub fn set_approval_for_all( + &self, + operator: ::ethers::core::types::Address, + approved: bool, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([162, 44, 180, 101], (operator, approved)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `tokenByIndex` (0x4f6ccce7) function + pub fn token_by_index( + &self, + index: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([79, 108, 204, 231], index) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `tokenOfOwnerByIndex` (0x2f745c59) function + pub fn token_of_owner_by_index( + &self, + owner: ::ethers::core::types::Address, + index: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([47, 116, 92, 89], (owner, index)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `totalSupply` (0x18160ddd) function + pub fn total_supply( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([24, 22, 13, 221], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { + self.0.event() + } + ///Gets the contract's `ApprovalForAll` event + pub fn approval_for_all_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalForAllFilter, + > { + self.0.event() + } + ///Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IERC721EnumerableEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IERC721Enumerable { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub approved: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")] + pub struct ApprovalForAllFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721EnumerableEvents { + ApprovalFilter(ApprovalFilter), + ApprovalForAllFilter(ApprovalForAllFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for IERC721EnumerableEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(IERC721EnumerableEvents::ApprovalFilter(decoded)); + } + if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) { + return Ok(IERC721EnumerableEvents::ApprovalForAllFilter(decoded)); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(IERC721EnumerableEvents::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IERC721EnumerableEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::ApprovalForAllFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721EnumerableEvents { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for IERC721EnumerableEvents { + fn from(value: ApprovalForAllFilter) -> Self { + Self::ApprovalForAllFilter(value) + } + } + impl ::core::convert::From for IERC721EnumerableEvents { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub approved: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "getApproved", abi = "getApproved(uint256)")] + pub struct GetApprovedCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")] + pub struct IsApprovedForAllCall { + pub owner: ::ethers::core::types::Address, + pub operator: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")] + pub struct OwnerOfCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256)` and selector `0x42842e0e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256)" + )] + pub struct SafeTransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,bytes)` and selector `0xb88d4fde` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256,bytes)" + )] + pub struct SafeTransferFromWithFromAndToAndDataCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + pub data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")] + pub struct SetApprovalForAllCall { + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all input parameters for the `tokenByIndex` function with signature `tokenByIndex(uint256)` and selector `0x4f6ccce7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "tokenByIndex", abi = "tokenByIndex(uint256)")] + pub struct TokenByIndexCall { + pub index: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `tokenOfOwnerByIndex` function with signature `tokenOfOwnerByIndex(address,uint256)` and selector `0x2f745c59` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "tokenOfOwnerByIndex", + abi = "tokenOfOwnerByIndex(address,uint256)" + )] + pub struct TokenOfOwnerByIndexCall { + pub owner: ::ethers::core::types::Address, + pub index: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "totalSupply", abi = "totalSupply()")] + pub struct TotalSupplyCall; + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721EnumerableCalls { + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + GetApproved(GetApprovedCall), + IsApprovedForAll(IsApprovedForAllCall), + OwnerOf(OwnerOfCall), + SafeTransferFrom(SafeTransferFromCall), + SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall), + SetApprovalForAll(SetApprovalForAllCall), + SupportsInterface(SupportsInterfaceCall), + TokenByIndex(TokenByIndexCall), + TokenOfOwnerByIndex(TokenOfOwnerByIndexCall), + TotalSupply(TotalSupplyCall), + TransferFrom(TransferFromCall), + } + impl ::ethers::core::abi::AbiDecode for IERC721EnumerableCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetApproved(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsApprovedForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OwnerOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFrom(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetApprovalForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SupportsInterface(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TokenByIndex(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TokenOfOwnerByIndex(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TotalSupply(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferFrom(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for IERC721EnumerableCalls { + fn encode(self) -> Vec { + match self { + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::GetApproved(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsApprovedForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::OwnerOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SafeTransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetApprovalForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SupportsInterface(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TokenByIndex(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TokenOfOwnerByIndex(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for IERC721EnumerableCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f), + Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), + Self::TokenByIndex(element) => ::core::fmt::Display::fmt(element, f), + Self::TokenOfOwnerByIndex(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: GetApprovedCall) -> Self { + Self::GetApproved(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: IsApprovedForAllCall) -> Self { + Self::IsApprovedForAll(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: OwnerOfCall) -> Self { + Self::OwnerOf(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: SafeTransferFromCall) -> Self { + Self::SafeTransferFrom(value) + } + } + impl ::core::convert::From + for IERC721EnumerableCalls { + fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self { + Self::SafeTransferFromWithFromAndToAndData(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: SetApprovalForAllCall) -> Self { + Self::SetApprovalForAll(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: SupportsInterfaceCall) -> Self { + Self::SupportsInterface(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: TokenByIndexCall) -> Self { + Self::TokenByIndex(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: TokenOfOwnerByIndexCall) -> Self { + Self::TokenOfOwnerByIndex(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: TotalSupplyCall) -> Self { + Self::TotalSupply(value) + } + } + impl ::core::convert::From for IERC721EnumerableCalls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetApprovedReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsApprovedForAllReturn(pub bool); + ///Container type for all return fields from the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerOfReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); + ///Container type for all return fields from the `tokenByIndex` function with signature `tokenByIndex(uint256)` and selector `0x4f6ccce7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TokenByIndexReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `tokenOfOwnerByIndex` function with signature `tokenOfOwnerByIndex(address,uint256)` and selector `0x2f745c59` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TokenOfOwnerByIndexReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); +} diff --git a/crates/bindings-uniswapx/src/ierc721_metadata.rs b/crates/bindings-uniswapx/src/ierc721_metadata.rs new file mode 100644 index 0000000..6f150e7 --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc721_metadata.rs @@ -0,0 +1,1412 @@ +pub use ierc721_metadata::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc721_metadata { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getApproved"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getApproved"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("name"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_name"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ownerOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ownerOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceID"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("symbol"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_symbol"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("tokenURI"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("tokenURI"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC721METADATA_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + pub struct IERC721Metadata(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC721Metadata { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC721Metadata { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC721Metadata { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC721Metadata { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC721Metadata)) + .field(&self.address()) + .finish() + } + } + impl IERC721Metadata { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC721METADATA_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + approved: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (approved, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], owner) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getApproved` (0x081812fc) function + pub fn get_approved( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([8, 24, 18, 252], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function + pub fn is_approved_for_all( + &self, + owner: ::ethers::core::types::Address, + operator: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([233, 133, 233, 197], (owner, operator)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([6, 253, 222, 3], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `ownerOf` (0x6352211e) function + pub fn owner_of( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([99, 82, 33, 30], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0x42842e0e) function + pub fn safe_transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([66, 132, 46, 14], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0xb88d4fde) function + pub fn safe_transfer_from_with_from_and_to_and_data( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([184, 141, 79, 222], (from, to, token_id, data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setApprovalForAll` (0xa22cb465) function + pub fn set_approval_for_all( + &self, + operator: ::ethers::core::types::Address, + approved: bool, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([162, 44, 180, 101], (operator, approved)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `symbol` (0x95d89b41) function + pub fn symbol( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([149, 216, 155, 65], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `tokenURI` (0xc87b56dd) function + pub fn token_uri( + &self, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([200, 123, 86, 221], token_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, token_id)) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { + self.0.event() + } + ///Gets the contract's `ApprovalForAll` event + pub fn approval_for_all_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalForAllFilter, + > { + self.0.event() + } + ///Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IERC721MetadataEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IERC721Metadata { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub approved: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")] + pub struct ApprovalForAllFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721MetadataEvents { + ApprovalFilter(ApprovalFilter), + ApprovalForAllFilter(ApprovalForAllFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for IERC721MetadataEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(IERC721MetadataEvents::ApprovalFilter(decoded)); + } + if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) { + return Ok(IERC721MetadataEvents::ApprovalForAllFilter(decoded)); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(IERC721MetadataEvents::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IERC721MetadataEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::ApprovalForAllFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721MetadataEvents { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for IERC721MetadataEvents { + fn from(value: ApprovalForAllFilter) -> Self { + Self::ApprovalForAllFilter(value) + } + } + impl ::core::convert::From for IERC721MetadataEvents { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub approved: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "getApproved", abi = "getApproved(uint256)")] + pub struct GetApprovedCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")] + pub struct IsApprovedForAllCall { + pub owner: ::ethers::core::types::Address, + pub operator: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "name", abi = "name()")] + pub struct NameCall; + ///Container type for all input parameters for the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")] + pub struct OwnerOfCall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256)` and selector `0x42842e0e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256)" + )] + pub struct SafeTransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,bytes)` and selector `0xb88d4fde` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256,bytes)" + )] + pub struct SafeTransferFromWithFromAndToAndDataCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + pub data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")] + pub struct SetApprovalForAllCall { + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "symbol", abi = "symbol()")] + pub struct SymbolCall; + ///Container type for all input parameters for the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "tokenURI", abi = "tokenURI(uint256)")] + pub struct TokenURICall { + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum IERC721MetadataCalls { + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + GetApproved(GetApprovedCall), + IsApprovedForAll(IsApprovedForAllCall), + Name(NameCall), + OwnerOf(OwnerOfCall), + SafeTransferFrom(SafeTransferFromCall), + SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall), + SetApprovalForAll(SetApprovalForAllCall), + SupportsInterface(SupportsInterfaceCall), + Symbol(SymbolCall), + TokenURI(TokenURICall), + TransferFrom(TransferFromCall), + } + impl ::ethers::core::abi::AbiDecode for IERC721MetadataCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetApproved(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsApprovedForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Name(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OwnerOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFrom(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetApprovalForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SupportsInterface(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Symbol(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TokenURI(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferFrom(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for IERC721MetadataCalls { + fn encode(self) -> Vec { + match self { + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::GetApproved(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsApprovedForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::OwnerOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SafeTransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetApprovalForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SupportsInterface(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TokenURI(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for IERC721MetadataCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f), + Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::Name(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), + Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), + Self::TokenURI(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: GetApprovedCall) -> Self { + Self::GetApproved(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: IsApprovedForAllCall) -> Self { + Self::IsApprovedForAll(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: NameCall) -> Self { + Self::Name(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: OwnerOfCall) -> Self { + Self::OwnerOf(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: SafeTransferFromCall) -> Self { + Self::SafeTransferFrom(value) + } + } + impl ::core::convert::From + for IERC721MetadataCalls { + fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self { + Self::SafeTransferFromWithFromAndToAndData(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: SetApprovalForAllCall) -> Self { + Self::SetApprovalForAll(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: SupportsInterfaceCall) -> Self { + Self::SupportsInterface(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: SymbolCall) -> Self { + Self::Symbol(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: TokenURICall) -> Self { + Self::TokenURI(value) + } + } + impl ::core::convert::From for IERC721MetadataCalls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetApprovedReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsApprovedForAllReturn(pub bool); + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct NameReturn { + pub name: ::std::string::String, + } + ///Container type for all return fields from the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerOfReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SymbolReturn { + pub symbol: ::std::string::String, + } + ///Container type for all return fields from the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TokenURIReturn(pub ::std::string::String); +} diff --git a/crates/bindings-uniswapx/src/ierc721_token_receiver.rs b/crates/bindings-uniswapx/src/ierc721_token_receiver.rs new file mode 100644 index 0000000..c2a4062 --- /dev/null +++ b/crates/bindings-uniswapx/src/ierc721_token_receiver.rs @@ -0,0 +1,177 @@ +pub use ierc721_token_receiver::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod ierc721_token_receiver { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("onERC721Received"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("onERC721Received"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_data"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IERC721TOKENRECEIVER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + pub struct IERC721TokenReceiver(::ethers::contract::Contract); + impl ::core::clone::Clone for IERC721TokenReceiver { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IERC721TokenReceiver { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IERC721TokenReceiver { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IERC721TokenReceiver { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IERC721TokenReceiver)) + .field(&self.address()) + .finish() + } + } + impl IERC721TokenReceiver { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IERC721TOKENRECEIVER_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `onERC721Received` (0x150b7a02) function + pub fn on_erc721_received( + &self, + operator: ::ethers::core::types::Address, + from: ::ethers::core::types::Address, + token_id: ::ethers::core::types::U256, + data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([21, 11, 122, 2], (operator, from, token_id, data)) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for IERC721TokenReceiver { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Container type for all input parameters for the `onERC721Received` function with signature `onERC721Received(address,address,uint256,bytes)` and selector `0x150b7a02` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "onERC721Received", + abi = "onERC721Received(address,address,uint256,bytes)" + )] + pub struct OnERC721ReceivedCall { + pub operator: ::ethers::core::types::Address, + pub from: ::ethers::core::types::Address, + pub token_id: ::ethers::core::types::U256, + pub data: ::ethers::core::types::Bytes, + } + ///Container type for all return fields from the `onERC721Received` function with signature `onERC721Received(address,address,uint256,bytes)` and selector `0x150b7a02` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OnERC721ReceivedReturn(pub [u8; 4]); +} diff --git a/crates/bindings-uniswapx/src/lib.rs b/crates/bindings-uniswapx/src/lib.rs index 982f1b3..80037c7 100644 --- a/crates/bindings-uniswapx/src/lib.rs +++ b/crates/bindings-uniswapx/src/lib.rs @@ -8,6 +8,7 @@ pub mod base_reactor; pub mod bytes_lib; pub mod currency_library; pub mod deploy_dutch; +pub mod deploy_dutch_v2; pub mod deploy_exclusive_dutch; pub mod deploy_permit_2; pub mod deploy_swap_router_02_executor; @@ -20,8 +21,7 @@ pub mod erc20; pub mod exclusive_dutch_order_lib; pub mod exclusive_dutch_order_reactor; pub mod exclusive_filler_validation; -pub mod exclusivity_override_lib; -pub mod expected_balance_lib; +pub mod exclusivity_lib; pub mod fixed_point_math_lib; pub mod gas_snapshot; pub mod i_allowance_transfer; @@ -31,24 +31,30 @@ pub mod i_reactor; pub mod i_reactor_callback; pub mod i_signature_transfer; pub mod i_swap_router_02; -pub mod i_uni_v3_swap_router; pub mod i_validation_callback; pub mod ieip712; +pub mod ierc165; +pub mod ierc20; pub mod ierc5267; +pub mod ierc721; +pub mod ierc721_enumerable; +pub mod ierc721_metadata; +pub mod ierc721_token_receiver; pub mod limit_order_lib; pub mod limit_order_reactor; pub mod math; -pub mod mock_direct_filler; pub mod mock_dutch_order_reactor; pub mod mock_erc20; -pub mod mock_exclusivity_override_lib; -pub mod mock_expected_balance_lib; +pub mod mock_erc721; +pub mod mock_exclusivity_lib; pub mod mock_fee_controller; pub mod mock_fee_controller_duplicates; +pub mod mock_fee_controller_input_and_output_fees; +pub mod mock_fee_controller_input_fees; pub mod mock_fee_controller_zero_fee; pub mod mock_fill_contract; +pub mod mock_fill_contract_double_execution; pub mod mock_fill_contract_with_output_override; -pub mod mock_order_struct; pub mod mock_protocol_fees; pub mod mock_resolved_order_lib; pub mod mock_swap_router; @@ -63,9 +69,12 @@ pub mod path; pub mod path_builder; pub mod permit_2_lib; pub mod permit_signature; +pub mod priority_fee_lib; +pub mod priority_order_lib; +pub mod priority_order_reactor; +pub mod priority_order_reactor_integration; pub mod protocol_fees; pub mod reactor_events; -pub mod reactor_structs; pub mod reentrancy_guard; pub mod resolved_order_lib; pub mod safe_cast; @@ -73,10 +82,11 @@ pub mod safe_transfer_lib; pub mod shared_types; pub mod short_strings; pub mod signed_math; -pub mod std_invariant; -pub mod std_style; +pub mod solarray; pub mod storage_slot; pub mod strings; pub mod swap_router_02_executor; pub mod uint_string; +pub mod v2_dutch_order_lib; +pub mod v2_dutch_order_reactor; pub mod weth; diff --git a/crates/bindings-uniswapx/src/limit_order_lib.rs b/crates/bindings-uniswapx/src/limit_order_lib.rs index 9892cb5..73b1ceb 100644 --- a/crates/bindings-uniswapx/src/limit_order_lib.rs +++ b/crates/bindings-uniswapx/src/limit_order_lib.rs @@ -7,7 +7,7 @@ pub use limit_order_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod limit_order_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod limit_order_lib { } } ///The parsed JSON ABI of the contract. - pub static LIMITORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static LIMITORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xC6t\x8F\r~?\x14{\xD0\x07\r\x8C\xC09\x1B\xEB\xD9\x15\x95\xE6\xA4\xFAg\xE9\xBC%\x84\xD5\xA5-\xC3\x18dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x95\xBD\x1E\xB8\xB1\xA5q\x02\x05\x9B\xBF\xBE\x06g*\xA9P\x90b\x12\x11&\xF0\xA6N,\xB8\x10\x81Y\xFF[dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static LIMITORDERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static LIMITORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xC6t\x8F\r~?\x14{\xD0\x07\r\x8C\xC09\x1B\xEB\xD9\x15\x95\xE6\xA4\xFAg\xE9\xBC%\x84\xD5\xA5-\xC3\x18dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x95\xBD\x1E\xB8\xB1\xA5q\x02\x05\x9B\xBF\xBE\x06g*\xA9P\x90b\x12\x11&\xF0\xA6N,\xB8\x10\x81Y\xFF[dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static LIMITORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static LIMITORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct LimitOrderLib(::ethers::contract::Contract); impl ::core::clone::Clone for LimitOrderLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod limit_order_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - LIMITORDERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + LIMITORDERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod limit_order_lib { } } impl From<::ethers::contract::Contract> - for LimitOrderLib - { + for LimitOrderLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/limit_order_reactor.rs b/crates/bindings-uniswapx/src/limit_order_reactor.rs index ea71a9d..b460933 100644 --- a/crates/bindings-uniswapx/src/limit_order_reactor.rs +++ b/crates/bindings-uniswapx/src/limit_order_reactor.rs @@ -7,7 +7,7 @@ pub use limit_order_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod limit_order_reactor { pub use super::super::shared_types::*; @@ -33,370 +33,438 @@ pub mod limit_order_reactor { ], }), functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IPermit2"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], - ), ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientEth"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientEth"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], ), ]), - receive: false, + receive: true, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static LIMITORDERREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static LIMITORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0,\t8\x03\x80b\0,\t\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa*\xE9b\0\x01 `\09`\0\x81\x81`\xA7\x01R\x81\x81a\x0F\xE8\x01Ra\x12Z\x01Ra*\xE9`\0\xF3\xFE`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a\x1D\x96V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a\x1E\x19V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a\x1E6V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a\x1E\x19V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea\x1F\x17V[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\x8DV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\tM\x81a\x15\x93V[PPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919`@Q` \x01a\t\x9A\x92\x91\x90a%\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\t\xBD\x83`\0\x01Qa\x16VV[` \x80\x85\x01Q\x80Q\x91\x01Q`@\x86\x01Qa\t\xD6\x90a\x16\xF0V[`@\x80Q` \x81\x01\x96\x90\x96R\x85\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\nPWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\n\xA7\x90\x85\x90`\x04\x01a&\xEDV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xC4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0B\n\x91\x90\x81\x01\x90a'\0V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0B\"\x82\x84a'\xFFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B:Wa\x0B:a\x1E\xE8V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xA3W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0BXW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0B\xF4W\x85`@\x01Q\x81\x81Q\x81\x10a\x0B\xC7Wa\x0B\xC7a\x1F\x17V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0B\xE1Wa\x0B\xE1a\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xA9V[P`\0[\x82\x81\x10\x15a\x0E\x9BW`\0\x85\x82\x81Q\x81\x10a\x0C\x14Wa\x0C\x14a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x0C\xD2W\x86\x81\x81Q\x81\x10a\x0C;Wa\x0C;a\x1F\x17V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x0C\xCAW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x0C!V[P`\0\x80[\x86\x81\x10\x15a\rWW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x0C\xF7Wa\x0C\xF7a\x1F\x17V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\rNW` \x81\x01Qa\rK\x90\x84a'\xFFV[\x92P[P`\x01\x01a\x0C\xD7V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\r\x94W` \x80\x89\x01Q\x01Qa\r\x91\x90\x82a'\xFFV[\x90P[\x80`\0\x03a\r\xE9W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\r\xF7\x81`\x05a'\x10a\x17\x8EV[\x82` \x01Q\x11\x15a\x0EjW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x0Ev\x85\x89a'\xFFV[\x81Q\x81\x10a\x0E\x86Wa\x0E\x86a\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0B\xF8V[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x0E\xFBW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x0F:W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x0F\xE2W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x0F\xB6\x90\x84\x90\x86\x90`\x04\x01a(\x12V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x0F\xCEW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\tMW=`\0\x80>=`\0\xFD[PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x10\xA6\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x10\xB0\x85\x85a\x17\xCAV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919`@Q` \x01a\x11\x01\x92\x91\x90a%\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a)\xF9` \x83\x019`@Q` \x01a\x11T\x92\x91\x90a(IV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x11\xC1\x96\x95\x94\x93\x92`\x04\x01a(\xA4V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x11\xDBW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\tMW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x12\xB7W`\0\x82\x82\x81Q\x81\x10a\x12\x0FWa\x12\x0Fa\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x12\xADW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x12AWa\x12Aa\x1F\x17V[` \x02` \x01\x01Q\x90Pa\x12\xA4\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\x11\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x12\x1CV[PP`\x01\x01a\x11\xF2V[PG\x15a\x12\xCAWa\x12\xCA`\x003Ga\x19\x8EV[PV[```\0\x80[\x83Q\x81\x10\x15a\x13\x0CW\x83\x81\x81Q\x81\x10a\x12\xEEWa\x12\xEEa\x1F\x17V[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x12\xD3V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13&Wa\x13&a\x1E\xE8V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\x8FW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x15\x8BW`\0\x84\x82\x81Q\x81\x10a\x13\xB4Wa\x13\xB4a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x15\x81W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x13\xE6Wa\x13\xE6a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x14\xC2W`\0\x88\x82\x81Q\x81\x10a\x14\x10Wa\x14\x10a\x1F\x17V[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x14\x90WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x14\xB9W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x14\xAF\x91\x90a'\xFFV[\x90RPa\x14\xC2\x90PV[P`\x01\x01a\x13\xF4V[P\x80a\x15wW`@\x82\x01Q\x82Q`\0\x91a\x14\xF2\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a\x1AiV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x15O\x91\x90a'\xFFV[\x81RP\x88\x88\x81Q\x81\x10a\x15dWa\x15da\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x13\xC1V[PP`\x01\x01a\x13\x97V[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\x0F\xE2W`\0\x82\x82\x81Q\x81\x10a\x15\xB3Wa\x15\xB3a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0a\x15\xF0\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Ai\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x16AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x16N\x90a)lV[\x91PPa\x15\x96V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\n\x13\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x17\x10Wa\x17\x10a\x1E\xE8V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x17:W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x17\x7FW`\0a\x17m\x85\x83\x81Q\x81\x10a\x17`Wa\x17`a\x1F\x17V[` \x02` \x01\x01Qa\x1B;V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x17@V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x17\xC3W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a\x18\xCCW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x18\x86W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x18\x8BV[``\x91P[PP\x90P\x80a\x18\xC6W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a\x18\xF3\x86a\x1B\xA2V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19pW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x19\x84W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ACW`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1A\x03W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1A\x08V[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Ads\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x1CLV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1A\xA4WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x18\x0BV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\x10W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B4\x91\x90a)\xA4V[\x93\x92PPPV[`\0`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x81Q\x95\x86\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x90\x85\x01R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01a\n\x13V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1CHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x12\xCAW`\0\x80\xFD[\x805a\x1DH\x81a\x1D\x1BV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D_W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DwW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\x8FW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a\x1D\xACW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1D\xC4W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a\x1D\xD8W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a\x1D\xEA\x82a\x1D\x1BV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a\x1E\0W`\0\x80\xFD[Pa\x1E\r\x87\x82\x88\x01a\x1DMV[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x1E+W`\0\x80\xFD[\x815a\x1B4\x81a\x1D\x1BV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x1ENW`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1EfW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x1EzW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x1E\x89W`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1E\x9EW`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa\x1E\xB4` \x89\x01a\x1D=V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\x1E\xCAW`\0\x80\xFD[Pa\x1E\xD7\x88\x82\x89\x01a\x1DMV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a\x1FzW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x1F\xB9W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1F\xD4W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\x8FW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a \x0CWa \x0Ca\x1E\xE8V[`@R\x90V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a \x0CWa \x0Ca\x1E\xE8V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a |Wa |a\x1E\xE8V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a \x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xAFWa \xAFa\x1E\xE8V[a \xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a 5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a \xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a!$W`\0\x80\xFD[a!,a\x1F\xE9V[\x90P\x815a!9\x81a\x1D\x1BV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a!qWa!qa\x1E\xE8V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a!\x8CW`\0\x80\xFD[\x815` a!\xA1a!\x9C\x83a!WV[a 5V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a!\xC0W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\"\x19W\x81\x81\x8A\x03\x12\x15a!\xDCW`\0\x80\x81\xFD[a!\xE4a\x1F\xE9V[\x815a!\xEF\x81a\x1D\x1BV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\"\x08\x81a\x1D\x1BV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a!\xC4V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\"8W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"PW`\0\x80\xFD[\x90\x83\x01\x90`\xA0\x82\x86\x03\x12\x15a\"dW`\0\x80\xFD[a\"la\x1F\xE9V[\x825\x82\x81\x11\x15a\"{W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a\"\x8DW`\0\x80\xFD[a\"\x95a \x12V[\x815a\"\xA0\x81a\x1D\x1BV[\x81R` \x82\x015a\"\xB0\x81a\x1D\x1BV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\"\xD9\x81a\x1D\x1BV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a\"\xF0W`\0\x80\xFD[a\"\xFC\x89\x82\x85\x01a \x84V[`\xA0\x83\x01RP\x82RPa#\x12\x86` \x85\x01a!\x12V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a#)W`\0\x80\xFD[a#5\x87\x82\x86\x01a!{V[`@\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a#_W\x81\x81\x01Q\x83\x82\x01R` \x01a#GV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\x80\x81` \x86\x01` \x86\x01a#DV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a$\x11W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xC6V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\x90a\x01\xA0\x85\x01\x82a#hV[\x90P` \x83\x01Qa$\xCE` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xE6\x82\x82a#\xB2V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%\0\x82\x82a#hV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a%\x8CW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra%z\x86\x83Qa$\x1CV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%@V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[\x7FLimitOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7FOutputToken[] outputs)\0\0\0\0\0\0\0\0\0\0`A\x82\x01R`\0\x83Qa&\xCA\x81`W\x85\x01` \x88\x01a#DV[\x83Q\x90\x83\x01\x90a&\xE1\x81`W\x84\x01` \x88\x01a#DV[\x01`W\x01\x94\x93PPPPV[` \x81R`\0a\x1B4` \x83\x01\x84a$\x1CV[`\0` \x80\x83\x85\x03\x12\x15a'\x13W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'*W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a';W`\0\x80\xFD[\x80Qa'Ia!\x9C\x82a!WV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a'hW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a'\xC4W\x80\x85\x8A\x03\x12\x15a'\x85W`\0\x80\x81\xFD[a'\x8Da\x1F\xE9V[\x85Qa'\x98\x81a\x1D\x1BV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa'\xB1\x81a\x1D\x1BV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a'mV[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x18\x0BWa\x18\x0Ba'\xD0V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a(A`@\x83\x01\x84a$\x1CV[\x94\x93PPPPV[\x7FLimitOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa(\x81\x81`\x13\x85\x01` \x88\x01a#DV[\x83Q\x90\x83\x01\x90a(\x98\x81`\x13\x84\x01` \x88\x01a#DV[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a(\xD4\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra)\x15`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra)J\x81\x84\x01\x86a#hV[\x90P\x82\x81\x03a\x01 \x84\x01Ra)_\x81\x85a#hV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a)\x9DWa)\x9Da'\xD0V[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a)\xB6W`\0\x80\xFD[PQ\x91\x90PV\xFEOutputToken(address token,uint256 amount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xF2\xF0c\x84\xC0Y0&C\xDD\x81Fkm\xFC\x1A\x9Ck]\xFEb\x05G\xA51\x84\xCE\xD8\xC3F\xB2\x7FdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0(N8\x03\x80b\0(N\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa'5b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x13u\x01Ra'5`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x19\xD2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1A\x80V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1A\xC2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1BPV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1BtV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1BPV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\x1B\xE0V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B\x03V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\x1D\xE3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0BTV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\x1B\xE0V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\x1E\xA9V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B\x03V[a\x04\xB5\x81a\x0BTV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\x1B\xE0V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B\x03V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\x1D\xE3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0BTV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\x1B\xE0V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B\x03V[a\x08\x86\x81a\x0BTV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a\x1E\xE7V[\x81\x01\x90a\n|\x91\x90a!\x89V[\x90P`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01\x82` \x01Q\x81R` \x01\x82`@\x01Q\x81R` \x01\x84\x80` \x01\x90a\n\xB7\x91\x90a\x1E\xE7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\n\xFA\x83a\x0C\xA7V[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B$Wa\x0B$a\x1B\xE0V[` \x02` \x01\x01Q\x90Pa\x0B7\x81a\r\x82V[a\x0BA\x813a\x12rV[a\x0BK\x813a\x13sV[P`\x01\x01a\x0B\x08V[\x80Q`\0[\x81\x81\x10\x15a\x0C\x96W`\0\x83\x82\x81Q\x81\x10a\x0BuWa\x0Bua\x1B\xE0V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0B\xF6W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xACWa\x0B\xACa\x1B\xE0V[` \x02` \x01\x01Q\x90Pa\x0B\xED\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15|\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\x8CV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C?Wa\x0C?a\x1B\xE0V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\x84\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0BYV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x15\xC3V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919`@Q` \x01a\x0C\xEC\x92\x91\x90a\"\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x0F\x83`\0\x01Qa\x16]V[` \x80\x85\x01Q\x80Q\x91\x01Q`@\x86\x01Qa\r(\x90a\x16\xF7V[`@\x80Q` \x81\x01\x96\x90\x96R\x85\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\r\xA2WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\r\xF9\x90\x85\x90`\x04\x01a#\x9AV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\x16W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0E\\\x91\x90\x81\x01\x90a#\xADV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0Et\x82\x84a$}V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x8CWa\x0E\x8Ca\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0E\xF5W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xAAW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0FFW\x85`@\x01Q\x81\x81Q\x81\x10a\x0F\x19Wa\x0F\x19a\x1B\xE0V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0F3Wa\x0F3a\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0E\xFBV[P`\0\x80`\0[\x84\x81\x10\x15a\x12aW`\0\x87\x82\x81Q\x81\x10a\x0FiWa\x0Fia\x1B\xE0V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x10'W\x88\x81\x81Q\x81\x10a\x0F\x90Wa\x0F\x90a\x1B\xE0V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\x1FW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x0FvV[P`\0\x80[\x88\x81\x10\x15a\x10\xE8W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x10LWa\x10La\x1B\xE0V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\xDFW\x85\x15a\x10\xC9W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x10\xD8\x90\x84a$}V[\x92P`\x01\x96P[P`\x01\x01a\x10,V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x11aW\x84\x15a\x11HW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x11Z\x90\x82a$}V[\x90P`\x01\x93P[\x80`\0\x03a\x11\xB6W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x11\xC4\x81`\x05a'\x10a\x17\x95V[\x82` \x01Q\x11\x15a\x127W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x12LWa\x12La\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0FMV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x12\xC3W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x13?\x90\x84\x90\x86\x90`\x04\x01a$\xB7V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x13WW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13kW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x143\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x14=\x85\x85a\x17\xD1V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919`@Q` \x01a\x14\x8E\x92\x91\x90a\"\xA7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a&E` \x83\x019`@Q` \x01a\x14\xE1\x92\x91\x90a$\xE6V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x15N\x96\x95\x94\x93\x92`\x04\x01a%AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15hW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13kW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x15\xA1Wa\x03_\x82\x82a\x15\xC3V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x18\x18V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x16\x1DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x16\"V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\re\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x17\x17Wa\x17\x17a\x1B\xB1V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x17AW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x17\x86W`\0a\x17t\x85\x83\x81Q\x81\x10a\x17gWa\x17ga\x1B\xE0V[` \x02` \x01\x01Qa\x19\nV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x17GV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x17\xCAW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x19\x03W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x81Q\x95\x86\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x90\x85\x01R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01a\reV[`\0`@\x82\x84\x03\x12\x15a\x19\x83W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x19\x9BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xB3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x19\xCBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x19\xE7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x19\xFFW`\0\x80\xFD[a\x1A\x0B\x87\x83\x88\x01a\x19qV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1A!W`\0\x80\xFD[Pa\x1A.\x86\x82\x87\x01a\x19\x89V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1AMW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AeW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x19\xCBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1A\x93W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\xAAW`\0\x80\xFD[a\x1A\xB6\x85\x82\x86\x01a\x1A;V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1A\xD8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1A\xF0W`\0\x80\xFD[a\x1A\xFC\x88\x83\x89\x01a\x1A;V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1B\x15W`\0\x80\xFD[Pa\x1B\"\x87\x82\x88\x01a\x19\x89V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1BbW`\0\x80\xFD[\x815a\x1Bm\x81a\x1B.V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1B\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\x9DW`\0\x80\xFD[a\x1B\xA9\x84\x82\x85\x01a\x19qV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x1C*W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1C\x12V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1CK\x81` \x86\x01` \x86\x01a\x1C\x0FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x1C\xDDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x1C\x92V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra\x1D\\a\x01\xA0\x85\x01\x82a\x1C3V[\x90P` \x83\x01Qa\x1D\x9A` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra\x1D\xB2\x82\x82a\x1C}V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra\x1D\xCC\x82\x82a\x1C3V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\x1EXW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\x1EF\x86\x83Qa\x1C\xE8V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\x1E\x0CV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a\x1E\xDDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x1F\x1CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1F7W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x19\xCBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1FoWa\x1Foa\x1B\xB1V[`@R\x90V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1FoWa\x1Foa\x1B\xB1V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1F\xDFWa\x1F\xDFa\x1B\xB1V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1F\xF8W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \x12Wa \x12a\x1B\xB1V[a C` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x1F\x98V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a XW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a \x87W`\0\x80\xFD[a \x8Fa\x1FLV[\x90P\x815a \x9C\x81a\x1B.V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a \xD4Wa \xD4a\x1B\xB1V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a \xEFW`\0\x80\xFD[\x815` a!\x04a \xFF\x83a \xBAV[a\x1F\x98V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a!#W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a!|W\x81\x81\x8A\x03\x12\x15a!?W`\0\x80\x81\xFD[a!Ga\x1FLV[\x815a!R\x81a\x1B.V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a!k\x81a\x1B.V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a!'V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a!\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xB3W`\0\x80\xFD[\x90\x83\x01\x90`\xA0\x82\x86\x03\x12\x15a!\xC7W`\0\x80\xFD[a!\xCFa\x1FLV[\x825\x82\x81\x11\x15a!\xDEW`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a!\xF0W`\0\x80\xFD[a!\xF8a\x1FuV[\x815a\"\x03\x81a\x1B.V[\x81R` \x82\x015a\"\x13\x81a\x1B.V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\"<\x81a\x1B.V[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a\"SW`\0\x80\xFD[a\"_\x89\x82\x85\x01a\x1F\xE7V[`\xA0\x83\x01RP\x82RPa\"u\x86` \x85\x01a uV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\"\x8CW`\0\x80\xFD[a\"\x98\x87\x82\x86\x01a \xDEV[`@\x83\x01RP\x95\x94PPPPPV[\x7FLimitOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7FOutputToken[] outputs)\0\0\0\0\0\0\0\0\0\0`A\x82\x01R`\0\x83Qa#w\x81`W\x85\x01` \x88\x01a\x1C\x0FV[\x83Q\x90\x83\x01\x90a#\x8E\x81`W\x84\x01` \x88\x01a\x1C\x0FV[\x01`W\x01\x94\x93PPPPV[` \x81R`\0a\x1Bm` \x83\x01\x84a\x1C\xE8V[`\0` \x80\x83\x85\x03\x12\x15a#\xC0W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\xD7W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a#\xE8W`\0\x80\xFD[\x80Qa#\xF6a \xFF\x82a \xBAV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a$\x15W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a$qW\x80\x85\x8A\x03\x12\x15a$2W`\0\x80\x81\xFD[a$:a\x1FLV[\x85Qa$E\x81a\x1B.V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa$^\x81a\x1B.V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a$\x1AV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x18\x12W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1B\xA9`@\x83\x01\x84a\x1C\xE8V[\x7FLimitOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa%\x1E\x81`\x13\x85\x01` \x88\x01a\x1C\x0FV[\x83Q\x90\x83\x01\x90a%5\x81`\x13\x84\x01` \x88\x01a\x1C\x0FV[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a%q\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra%\xB2`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra%\xE7\x81\x84\x01\x86a\x1C3V[\x90P\x82\x81\x03a\x01 \x84\x01Ra%\xFC\x81\x85a\x1C3V[\x99\x98PPPPPPPPPV\xFEOutputToken(address token,uint256 amount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xD4\xD1KW&\xD4I\xEA\xF3\x02\xDF\xCA\x86\xAEiy\xF6\xC3j\x87_\x1Bw\x1D9\xC9\xD8\xC7M,G\xF6dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static LIMITORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static LIMITORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0{W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0NW\x80co\x1D_Q\x14a\x01?W\x80c\x8D\xA5\xCB[\x14a\x01RW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x7FW\x80c\xFC\xCB\xCA\xAF\x14a\x01\x9FW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x80W\x80c\x12&\x1E\xE7\x14a\0\x95W\x80c-w\x13\x89\x14a\0\xF2W\x80ci\x99\xB3w\x14a\x01\x12W[`\0\x80\xFD[a\0\x93a\0\x8E6`\x04a\x1D\x96V[a\x01\xB4V[\0[4\x80\x15a\0\xA1W`\0\x80\xFD[Pa\0\xC9\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\0\xFEW`\0\x80\xFD[Pa\0\x93a\x01\r6`\x04a\x1E\x19V[a\x02\xB6V[4\x80\x15a\x01\x1EW`\0\x80\xFD[P`\x01Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x93a\x01M6`\x04a\x1E6V[a\x03\xC2V[4\x80\x15a\x01^W`\0\x80\xFD[P`\0Ta\0\xC9\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\x8BW`\0\x80\xFD[Pa\0\x93a\x01\x9A6`\x04a\x1E\x19V[a\x05\x1EV[4\x80\x15a\x01\xABW`\0\x80\xFD[Pa\0\xC9`\x01\x81V[a\x01\xBCa\x06\x0FV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xD3W\x90PP\x90Pa\x02{\x85a\x06\x80V[\x81`\0\x81Q\x81\x10a\x02\x8EWa\x02\x8Ea\x1F\x17V[` \x02` \x01\x01\x81\x90RPa\x02\xA5\x81\x85\x85\x85a\x07\x8DV[Pa\x02\xB0`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03=`\0\xFD[PPPPa\tM\x81a\x15\x93V[PPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919`@Q` \x01a\t\x9A\x92\x91\x90a%\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\t\xBD\x83`\0\x01Qa\x16VV[` \x80\x85\x01Q\x80Q\x91\x01Q`@\x86\x01Qa\t\xD6\x90a\x16\xF0V[`@\x80Q` \x81\x01\x96\x90\x96R\x85\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\nPWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\n\xA7\x90\x85\x90`\x04\x01a&\xEDV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\n\xC4W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0B\n\x91\x90\x81\x01\x90a'\0V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0B\"\x82\x84a'\xFFV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B:Wa\x0B:a\x1E\xE8V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0B\xA3W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0BXW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0B\xF4W\x85`@\x01Q\x81\x81Q\x81\x10a\x0B\xC7Wa\x0B\xC7a\x1F\x17V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0B\xE1Wa\x0B\xE1a\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0B\xA9V[P`\0[\x82\x81\x10\x15a\x0E\x9BW`\0\x85\x82\x81Q\x81\x10a\x0C\x14Wa\x0C\x14a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x0C\xD2W\x86\x81\x81Q\x81\x10a\x0C;Wa\x0C;a\x1F\x17V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x0C\xCAW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[`\x01\x01a\x0C!V[P`\0\x80[\x86\x81\x10\x15a\rWW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x0C\xF7Wa\x0C\xF7a\x1F\x17V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\rNW` \x81\x01Qa\rK\x90\x84a'\xFFV[\x92P[P`\x01\x01a\x0C\xD7V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\r\x94W` \x80\x89\x01Q\x01Qa\r\x91\x90\x82a'\xFFV[\x90P[\x80`\0\x03a\r\xE9W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x033V[a\r\xF7\x81`\x05a'\x10a\x17\x8EV[\x82` \x01Q\x11\x15a\x0EjW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x033V[\x81\x84a\x0Ev\x85\x89a'\xFFV[\x81Q\x81\x10a\x0E\x86Wa\x0E\x86a\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0B\xF8V[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x0E\xFBW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x0F:W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x0F\xE2W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x0F\xB6\x90\x84\x90\x86\x90`\x04\x01a(\x12V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x0F\xCEW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\tMW=`\0\x80>=`\0\xFD[PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x10\xA6\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x10\xB0\x85\x85a\x17\xCAV[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919`@Q` \x01a\x11\x01\x92\x91\x90a%\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a)\xF9` \x83\x019`@Q` \x01a\x11T\x92\x91\x90a(IV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x11\xC1\x96\x95\x94\x93\x92`\x04\x01a(\xA4V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x11\xDBW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\tMW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x12\xB7W`\0\x82\x82\x81Q\x81\x10a\x12\x0FWa\x12\x0Fa\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x12\xADW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x12AWa\x12Aa\x1F\x17V[` \x02` \x01\x01Q\x90Pa\x12\xA4\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\x11\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x12\x1CV[PP`\x01\x01a\x11\xF2V[PG\x15a\x12\xCAWa\x12\xCA`\x003Ga\x19\x8EV[PV[```\0\x80[\x83Q\x81\x10\x15a\x13\x0CW\x83\x81\x81Q\x81\x10a\x12\xEEWa\x12\xEEa\x1F\x17V[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x12\xD3V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13&Wa\x13&a\x1E\xE8V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\x8FW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13DW\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x15\x8BW`\0\x84\x82\x81Q\x81\x10a\x13\xB4Wa\x13\xB4a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x15\x81W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x13\xE6Wa\x13\xE6a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x14\xC2W`\0\x88\x82\x81Q\x81\x10a\x14\x10Wa\x14\x10a\x1F\x17V[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x14\x90WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x14\xB9W`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x14\xAF\x91\x90a'\xFFV[\x90RPa\x14\xC2\x90PV[P`\x01\x01a\x13\xF4V[P\x80a\x15wW`@\x82\x01Q\x82Q`\0\x91a\x14\xF2\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a\x1AiV[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x15O\x91\x90a'\xFFV[\x81RP\x88\x88\x81Q\x81\x10a\x15dWa\x15da\x1F\x17V[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x13\xC1V[PP`\x01\x01a\x13\x97V[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\x0F\xE2W`\0\x82\x82\x81Q\x81\x10a\x15\xB3Wa\x15\xB3a\x1F\x17V[` \x02` \x01\x01Q\x90P`\0a\x15\xF0\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Ai\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x16AW\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x033\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x16N\x90a)lV[\x91PPa\x15\x96V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a*'`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\n\x13\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x17\x10Wa\x17\x10a\x1E\xE8V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x17:W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x17\x7FW`\0a\x17m\x85\x83\x81Q\x81\x10a\x17`Wa\x17`a\x1F\x17V[` \x02` \x01\x01Qa\x1B;V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x17@V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x17\xC3W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a\x18\xCCW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x18\x86W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x18\x8BV[``\x91P[PP\x90P\x80a\x18\xC6W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xB0V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a\x18\xF3\x86a\x1B\xA2V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x19pW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x19\x84W=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ACW`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1A\x03W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1A\x08V[``\x91P[PP\x90P\x80a\x02\xB0W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1Ads\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x1CLV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1A\xA4WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x18\x0BV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x1B\x10W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x1B4\x91\x90a)\xA4V[\x93\x92PPPV[`\0`@Q\x80``\x01`@R\x80`;\x81R` \x01a)\xBE`;\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x81Q\x95\x86\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x90\x85\x01R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01a\n\x13V[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1CHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x033V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xB0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x033V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x12\xCAW`\0\x80\xFD[\x805a\x1DH\x81a\x1D\x1BV[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D_W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DwW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\x8FW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a\x1D\xACW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1D\xC4W`\0\x80\xFD[\x90\x86\x01\x90`@\x82\x89\x03\x12\x15a\x1D\xD8W`\0\x80\xFD[\x90\x94P` \x86\x015\x90a\x1D\xEA\x82a\x1D\x1BV[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a\x1E\0W`\0\x80\xFD[Pa\x1E\r\x87\x82\x88\x01a\x1DMV[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x1E+W`\0\x80\xFD[\x815a\x1B4\x81a\x1D\x1BV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x1ENW`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1EfW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x1EzW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x1E\x89W`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1E\x9EW`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa\x1E\xB4` \x89\x01a\x1D=V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\x1E\xCAW`\0\x80\xFD[Pa\x1E\xD7\x88\x82\x89\x01a\x1DMV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a\x1FzW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x1F\xB9W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1F\xD4W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\x8FW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a \x0CWa \x0Ca\x1E\xE8V[`@R\x90V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a \x0CWa \x0Ca\x1E\xE8V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a |Wa |a\x1E\xE8V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a \x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xAFWa \xAFa\x1E\xE8V[a \xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a 5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a \xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a!$W`\0\x80\xFD[a!,a\x1F\xE9V[\x90P\x815a!9\x81a\x1D\x1BV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a!qWa!qa\x1E\xE8V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a!\x8CW`\0\x80\xFD[\x815` a!\xA1a!\x9C\x83a!WV[a 5V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a!\xC0W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\"\x19W\x81\x81\x8A\x03\x12\x15a!\xDCW`\0\x80\x81\xFD[a!\xE4a\x1F\xE9V[\x815a!\xEF\x81a\x1D\x1BV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\"\x08\x81a\x1D\x1BV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a!\xC4V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\"8W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\"PW`\0\x80\xFD[\x90\x83\x01\x90`\xA0\x82\x86\x03\x12\x15a\"dW`\0\x80\xFD[a\"la\x1F\xE9V[\x825\x82\x81\x11\x15a\"{W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a\"\x8DW`\0\x80\xFD[a\"\x95a \x12V[\x815a\"\xA0\x81a\x1D\x1BV[\x81R` \x82\x015a\"\xB0\x81a\x1D\x1BV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\"\xD9\x81a\x1D\x1BV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a\"\xF0W`\0\x80\xFD[a\"\xFC\x89\x82\x85\x01a \x84V[`\xA0\x83\x01RP\x82RPa#\x12\x86` \x85\x01a!\x12V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a#)W`\0\x80\xFD[a#5\x87\x82\x86\x01a!{V[`@\x83\x01RP\x95\x94PPPPPV[`\0[\x83\x81\x10\x15a#_W\x81\x81\x01Q\x83\x82\x01R` \x01a#GV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#\x80\x81` \x86\x01` \x86\x01a#DV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a$\x11W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xC6V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$\x90a\x01\xA0\x85\x01\x82a#hV[\x90P` \x83\x01Qa$\xCE` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xE6\x82\x82a#\xB2V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra%\0\x82\x82a#hV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a%\x8CW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra%z\x86\x83Qa$\x1CV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%@V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[\x7FLimitOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7FOutputToken[] outputs)\0\0\0\0\0\0\0\0\0\0`A\x82\x01R`\0\x83Qa&\xCA\x81`W\x85\x01` \x88\x01a#DV[\x83Q\x90\x83\x01\x90a&\xE1\x81`W\x84\x01` \x88\x01a#DV[\x01`W\x01\x94\x93PPPPV[` \x81R`\0a\x1B4` \x83\x01\x84a$\x1CV[`\0` \x80\x83\x85\x03\x12\x15a'\x13W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'*W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a';W`\0\x80\xFD[\x80Qa'Ia!\x9C\x82a!WV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a'hW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a'\xC4W\x80\x85\x8A\x03\x12\x15a'\x85W`\0\x80\x81\xFD[a'\x8Da\x1F\xE9V[\x85Qa'\x98\x81a\x1D\x1BV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa'\xB1\x81a\x1D\x1BV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a'mV[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x18\x0BWa\x18\x0Ba'\xD0V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a(A`@\x83\x01\x84a$\x1CV[\x94\x93PPPPV[\x7FLimitOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa(\x81\x81`\x13\x85\x01` \x88\x01a#DV[\x83Q\x90\x83\x01\x90a(\x98\x81`\x13\x84\x01` \x88\x01a#DV[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a(\xD4\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra)\x15`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra)J\x81\x84\x01\x86a#hV[\x90P\x82\x81\x03a\x01 \x84\x01Ra)_\x81\x85a#hV[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a)\x9DWa)\x9Da'\xD0V[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a)\xB6W`\0\x80\xFD[PQ\x91\x90PV\xFEOutputToken(address token,uint256 amount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xF2\xF0c\x84\xC0Y0&C\xDD\x81Fkm\xFC\x1A\x9Ck]\xFEb\x05G\xA51\x84\xCE\xD8\xC3F\xB2\x7FdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x19\xD2V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1A\x80V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1A\xC2V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1BPV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1BtV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1BPV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\x1B\xE0V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B\x03V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\x1D\xE3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0BTV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\x1B\xE0V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\x1E\xA9V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B\x03V[a\x04\xB5\x81a\x0BTV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\x1B\xE0V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B\x03V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\x1D\xE3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0BTV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\x1B\xE0V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B\x03V[a\x08\x86\x81a\x0BTV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a\x1E\xE7V[\x81\x01\x90a\n|\x91\x90a!\x89V[\x90P`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01\x82` \x01Q\x81R` \x01\x82`@\x01Q\x81R` \x01\x84\x80` \x01\x90a\n\xB7\x91\x90a\x1E\xE7V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\n\xFA\x83a\x0C\xA7V[\x90R\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B$Wa\x0B$a\x1B\xE0V[` \x02` \x01\x01Q\x90Pa\x0B7\x81a\r\x82V[a\x0BA\x813a\x12rV[a\x0BK\x813a\x13sV[P`\x01\x01a\x0B\x08V[\x80Q`\0[\x81\x81\x10\x15a\x0C\x96W`\0\x83\x82\x81Q\x81\x10a\x0BuWa\x0Bua\x1B\xE0V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0B\xF6W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xACWa\x0B\xACa\x1B\xE0V[` \x02` \x01\x01Q\x90Pa\x0B\xED\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15|\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\x8CV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C?Wa\x0C?a\x1B\xE0V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\x84\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0BYV[PG\x15a\x04\xC1Wa\x04\xC13Ga\x15\xC3V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919`@Q` \x01a\x0C\xEC\x92\x91\x90a\"\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x0F\x83`\0\x01Qa\x16]V[` \x80\x85\x01Q\x80Q\x91\x01Q`@\x86\x01Qa\r(\x90a\x16\xF7V[`@\x80Q` \x81\x01\x96\x90\x96R\x85\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\r\xA2WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\r\xF9\x90\x85\x90`\x04\x01a#\x9AV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\x16W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0E\\\x91\x90\x81\x01\x90a#\xADV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0Et\x82\x84a$}V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x8CWa\x0E\x8Ca\x1B\xB1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0E\xF5W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0E\xAAW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0FFW\x85`@\x01Q\x81\x81Q\x81\x10a\x0F\x19Wa\x0F\x19a\x1B\xE0V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0F3Wa\x0F3a\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0E\xFBV[P`\0\x80`\0[\x84\x81\x10\x15a\x12aW`\0\x87\x82\x81Q\x81\x10a\x0FiWa\x0Fia\x1B\xE0V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x10'W\x88\x81\x81Q\x81\x10a\x0F\x90Wa\x0F\x90a\x1B\xE0V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\x1FW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x0FvV[P`\0\x80[\x88\x81\x10\x15a\x10\xE8W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x10LWa\x10La\x1B\xE0V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\xDFW\x85\x15a\x10\xC9W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x10\xD8\x90\x84a$}V[\x92P`\x01\x96P[P`\x01\x01a\x10,V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x11aW\x84\x15a\x11HW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x11Z\x90\x82a$}V[\x90P`\x01\x93P[\x80`\0\x03a\x11\xB6W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x11\xC4\x81`\x05a'\x10a\x17\x95V[\x82` \x01Q\x11\x15a\x127W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x12LWa\x12La\x1B\xE0V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0FMV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x12\xC3W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x13?\x90\x84\x90\x86\x90`\x04\x01a$\xB7V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x13WW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x13kW=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x143\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[a\x14=\x85\x85a\x17\xD1V[\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919`@Q` \x01a\x14\x8E\x92\x91\x90a\"\xA7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a&E` \x83\x019`@Q` \x01a\x14\xE1\x92\x91\x90a$\xE6V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x15N\x96\x95\x94\x93\x92`\x04\x01a%AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x15hW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x13kW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x15\xA1Wa\x03_\x82\x82a\x15\xC3V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x18\x18V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x16\x1DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x16\"V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a&s`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\re\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x17\x17Wa\x17\x17a\x1B\xB1V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x17AW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x17\x86W`\0a\x17t\x85\x83\x81Q\x81\x10a\x17gWa\x17ga\x1B\xE0V[` \x02` \x01\x01Qa\x19\nV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x17GV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x17\xCAW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x82R\x83\x81\x01Q\x81\x01Q\x90\x82\x01R[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x19\x03W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80``\x01`@R\x80`;\x81R` \x01a&\n`;\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x81Q\x95\x86\x01\x94\x90\x94Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x90\x85\x01R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01a\reV[`\0`@\x82\x84\x03\x12\x15a\x19\x83W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x19\x9BW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x19\xB3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x19\xCBW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x19\xE7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x19\xFFW`\0\x80\xFD[a\x1A\x0B\x87\x83\x88\x01a\x19qV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1A!W`\0\x80\xFD[Pa\x1A.\x86\x82\x87\x01a\x19\x89V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1AMW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AeW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x19\xCBW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1A\x93W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1A\xAAW`\0\x80\xFD[a\x1A\xB6\x85\x82\x86\x01a\x1A;V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1A\xD8W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1A\xF0W`\0\x80\xFD[a\x1A\xFC\x88\x83\x89\x01a\x1A;V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1B\x15W`\0\x80\xFD[Pa\x1B\"\x87\x82\x88\x01a\x19\x89V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1BbW`\0\x80\xFD[\x815a\x1Bm\x81a\x1B.V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1B\x86W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1B\x9DW`\0\x80\xFD[a\x1B\xA9\x84\x82\x85\x01a\x19qV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x1C*W\x81\x81\x01Q\x83\x82\x01R` \x01a\x1C\x12V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x1CK\x81` \x86\x01` \x86\x01a\x1C\x0FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x1C\xDDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x1C\x92V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra\x1D\\a\x01\xA0\x85\x01\x82a\x1C3V[\x90P` \x83\x01Qa\x1D\x9A` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra\x1D\xB2\x82\x82a\x1C}V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra\x1D\xCC\x82\x82a\x1C3V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\x1EXW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\x1EF\x86\x83Qa\x1C\xE8V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\x1E\x0CV[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a\x1E\xDDW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x1F\x1CW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x1F7W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x19\xCBW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1FoWa\x1Foa\x1B\xB1V[`@R\x90V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1FoWa\x1Foa\x1B\xB1V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x1F\xDFWa\x1F\xDFa\x1B\xB1V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x1F\xF8W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \x12Wa \x12a\x1B\xB1V[a C` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x1F\x98V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a XW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a \x87W`\0\x80\xFD[a \x8Fa\x1FLV[\x90P\x815a \x9C\x81a\x1B.V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a \xD4Wa \xD4a\x1B\xB1V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a \xEFW`\0\x80\xFD[\x815` a!\x04a \xFF\x83a \xBAV[a\x1F\x98V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a!#W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a!|W\x81\x81\x8A\x03\x12\x15a!?W`\0\x80\x81\xFD[a!Ga\x1FLV[\x815a!R\x81a\x1B.V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a!k\x81a\x1B.V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a!'V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a!\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xB3W`\0\x80\xFD[\x90\x83\x01\x90`\xA0\x82\x86\x03\x12\x15a!\xC7W`\0\x80\xFD[a!\xCFa\x1FLV[\x825\x82\x81\x11\x15a!\xDEW`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a!\xF0W`\0\x80\xFD[a!\xF8a\x1FuV[\x815a\"\x03\x81a\x1B.V[\x81R` \x82\x015a\"\x13\x81a\x1B.V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\"<\x81a\x1B.V[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a\"SW`\0\x80\xFD[a\"_\x89\x82\x85\x01a\x1F\xE7V[`\xA0\x83\x01RP\x82RPa\"u\x86` \x85\x01a uV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\"\x8CW`\0\x80\xFD[a\"\x98\x87\x82\x86\x01a \xDEV[`@\x83\x01RP\x95\x94PPPPPV[\x7FLimitOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7FOutputToken[] outputs)\0\0\0\0\0\0\0\0\0\0`A\x82\x01R`\0\x83Qa#w\x81`W\x85\x01` \x88\x01a\x1C\x0FV[\x83Q\x90\x83\x01\x90a#\x8E\x81`W\x84\x01` \x88\x01a\x1C\x0FV[\x01`W\x01\x94\x93PPPPV[` \x81R`\0a\x1Bm` \x83\x01\x84a\x1C\xE8V[`\0` \x80\x83\x85\x03\x12\x15a#\xC0W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#\xD7W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a#\xE8W`\0\x80\xFD[\x80Qa#\xF6a \xFF\x82a \xBAV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a$\x15W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a$qW\x80\x85\x8A\x03\x12\x15a$2W`\0\x80\x81\xFD[a$:a\x1FLV[\x85Qa$E\x81a\x1B.V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa$^\x81a\x1B.V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a$\x1AV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x18\x12W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1B\xA9`@\x83\x01\x84a\x1C\xE8V[\x7FLimitOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa%\x1E\x81`\x13\x85\x01` \x88\x01a\x1C\x0FV[\x83Q\x90\x83\x01\x90a%5\x81`\x13\x84\x01` \x88\x01a\x1C\x0FV[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a%q\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra%\xB2`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra%\xE7\x81\x84\x01\x86a\x1C3V[\x90P\x82\x81\x03a\x01 \x84\x01Ra%\xFC\x81\x85a\x1C3V[\x99\x98PPPPPPPPPV\xFEOutputToken(address token,uint256 amount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 \xD4\xD1KW&\xD4I\xEA\xF3\x02\xDF\xCA\x86\xAEiy\xF6\xC3j\x87_\x1Bw\x1D9\xC9\xD8\xC7M,G\xF6dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static LIMITORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static LIMITORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct LimitOrderReactor(::ethers::contract::Contract); impl ::core::clone::Clone for LimitOrderReactor { fn clone(&self) -> Self { @@ -428,11 +496,13 @@ pub mod limit_order_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - LIMITORDERREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + LIMITORDERREACTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -473,40 +543,51 @@ pub mod limit_order_reactor { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `DIRECT_FILL` (0xfccbcaaf) function - pub fn direct_fill( + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( &self, - ) -> ::ethers::contract::builders::ContractCall { + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([252, 203, 202, 175], ()) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `execute` (0x05afc977) function - pub fn execute( + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( &self, - order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + orders: ::std::vec::Vec, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function - pub fn execute_batch( + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -514,7 +595,10 @@ pub mod limit_order_reactor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -522,7 +606,10 @@ pub mod limit_order_reactor { ///Calls the contract's `permit2` (0x12261ee7) function pub fn permit_2( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([18, 38, 30, 231], ()) .expect("method not found (this should never happen)") @@ -554,8 +641,11 @@ pub mod limit_order_reactor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -571,42 +661,32 @@ pub mod limit_order_reactor { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LimitOrderReactorEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LimitOrderReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for LimitOrderReactor - { + for LimitOrderReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -617,11 +697,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -629,48 +711,33 @@ pub mod limit_order_reactor { pub amount: ::ethers::core::types::U256, pub recipient: ::ethers::core::types::Address, } - ///Custom Error type `InsufficientEth` with signature `InsufficientEth()` and selector `0xa01a9df6` + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[etherror(name = "InsufficientEth", abi = "InsufficientEth()")] - pub struct InsufficientEth; - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { @@ -681,11 +748,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; @@ -694,22 +763,31 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum LimitOrderReactorErrors { - DeadlinePassed(DeadlinePassed), DuplicateFeeOutput(DuplicateFeeOutput), FeeTooLarge(FeeTooLarge), - InsufficientEth(InsufficientEth), - InsufficientOutput(InsufficientOutput), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), @@ -722,39 +800,39 @@ pub mod limit_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InsufficientEth(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InsufficientOutput(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -763,17 +841,21 @@ pub mod limit_order_reactor { impl ::ethers::core::abi::AbiEncode for LimitOrderReactorErrors { fn encode(self) -> ::std::vec::Vec { match self { - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientEth(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientOutput(element) => { + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -785,32 +867,26 @@ pub mod limit_order_reactor { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => true, + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -820,14 +896,18 @@ pub mod limit_order_reactor { impl ::core::fmt::Display for LimitOrderReactorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientEth(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -837,11 +917,6 @@ pub mod limit_order_reactor { Self::RevertString(value) } } - impl ::core::convert::From for LimitOrderReactorErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } impl ::core::convert::From for LimitOrderReactorErrors { fn from(value: DuplicateFeeOutput) -> Self { Self::DuplicateFeeOutput(value) @@ -852,14 +927,9 @@ pub mod limit_order_reactor { Self::FeeTooLarge(value) } } - impl ::core::convert::From for LimitOrderReactorErrors { - fn from(value: InsufficientEth) -> Self { - Self::InsufficientEth(value) - } - } - impl ::core::convert::From for LimitOrderReactorErrors { - fn from(value: InsufficientOutput) -> Self { - Self::InsufficientOutput(value) + impl ::core::convert::From for LimitOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) } } impl ::core::convert::From for LimitOrderReactorErrors { @@ -881,11 +951,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { @@ -901,11 +973,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -921,11 +995,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -936,7 +1012,16 @@ pub mod limit_order_reactor { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum LimitOrderReactorEvents { FillFilter(FillFilter), OwnershipTransferredFilter(OwnershipTransferredFilter), @@ -953,9 +1038,9 @@ pub mod limit_order_reactor { return Ok(LimitOrderReactorEvents::OwnershipTransferredFilter(decoded)); } if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { - return Ok(LimitOrderReactorEvents::ProtocolFeeControllerSetFilter( - decoded, - )); + return Ok( + LimitOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ); } Err(::ethers::core::abi::Error::InvalidData) } @@ -964,7 +1049,9 @@ pub mod limit_order_reactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -981,71 +1068,100 @@ pub mod limit_order_reactor { Self::OwnershipTransferredFilter(value) } } - impl ::core::convert::From for LimitOrderReactorEvents { + impl ::core::convert::From + for LimitOrderReactorEvents { fn from(value: ProtocolFeeControllerSetFilter) -> Self { Self::ProtocolFeeControllerSetFilter(value) } } - ///Container type for all input parameters for the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "DIRECT_FILL", abi = "DIRECT_FILL()")] - pub struct DirectFillCall; - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] - pub struct ExecuteCall { - pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -1054,11 +1170,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -1067,11 +1185,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "permit2", abi = "permit2()")] pub struct Permit2Call; @@ -1080,11 +1200,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -1098,22 +1220,34 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum LimitOrderReactorCalls { - DirectFill(DirectFillCall), Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), FeeController(FeeControllerCall), Owner(OwnerCall), Permit2(Permit2Call), @@ -1125,34 +1259,49 @@ pub mod limit_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DirectFill(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit2(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1161,38 +1310,51 @@ pub mod limit_order_reactor { impl ::ethers::core::abi::AbiEncode for LimitOrderReactorCalls { fn encode(self) -> Vec { match self { - Self::DirectFill(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for LimitOrderReactorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DirectFill(element) => ::core::fmt::Display::fmt(element, f), Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for LimitOrderReactorCalls { - fn from(value: DirectFillCall) -> Self { - Self::DirectFill(value) - } - } impl ::core::convert::From for LimitOrderReactorCalls { fn from(value: ExecuteCall) -> Self { Self::Execute(value) @@ -1203,6 +1365,16 @@ pub mod limit_order_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From for LimitOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for LimitOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } impl ::core::convert::From for LimitOrderReactorCalls { fn from(value: FeeControllerCall) -> Self { Self::FeeController(value) @@ -1228,28 +1400,18 @@ pub mod limit_order_reactor { Self::TransferOwnership(value) } } - ///Container type for all return fields from the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DirectFillReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -1257,11 +1419,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` @@ -1269,11 +1433,13 @@ pub mod limit_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Permit2Return(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/math.rs b/crates/bindings-uniswapx/src/math.rs index 10e39bd..df09857 100644 --- a/crates/bindings-uniswapx/src/math.rs +++ b/crates/bindings-uniswapx/src/math.rs @@ -7,7 +7,7 @@ pub use math::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod math { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod math { } } ///The parsed JSON ABI of the contract. - pub static MATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x0B\x98\x9C \xC7\xC2\xD5\xA9\xD1\xA1\x0F\x1D\x07Y*\xCB\xD5\xF3\x1Fw\x87\x96>Z\xDE\xF9\x80\xB3\xF9\x84\xD0\x08dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEBf\xD4h|\xBE\x0E\xD8\xD03@\x1B\xF5\xBF\xCB\x02\xF9\x98y\xF7\xE0\x1B\xC3\x1B,s\xED\xEE\xEE\x81C\x85dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MATH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MATH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x0B\x98\x9C \xC7\xC2\xD5\xA9\xD1\xA1\x0F\x1D\x07Y*\xCB\xD5\xF3\x1Fw\x87\x96>Z\xDE\xF9\x80\xB3\xF9\x84\xD0\x08dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEBf\xD4h|\xBE\x0E\xD8\xD03@\x1B\xF5\xBF\xCB\x02\xF9\x98y\xF7\xE0\x1B\xC3\x1B,s\xED\xEE\xEE\x81C\x85dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct Math(::ethers::contract::Contract); impl ::core::clone::Clone for Math { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod math { } impl ::core::fmt::Debug for Math { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Math)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Math)).field(&self.address()).finish() } } impl Math { @@ -65,11 +66,13 @@ pub mod math { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MATH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MATH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod math { Ok(deployer) } } - impl From<::ethers::contract::Contract> for Math { + impl From<::ethers::contract::Contract> + for Math { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/mock_direct_filler.rs b/crates/bindings-uniswapx/src/mock_direct_filler.rs deleted file mode 100644 index 20c159c..0000000 --- a/crates/bindings-uniswapx/src/mock_direct_filler.rs +++ /dev/null @@ -1,180 +0,0 @@ -pub use mock_direct_filler::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_direct_filler { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKDIRECTFILLER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x01\xA8\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xFEZ\x02\x1D\xF4\xCDxB\xE92UW\x03\xF6\xCF\xF2\xAD\xD0\xAD7\xC9\x1DhuC\xDCQ\x90A\xCFp\x8AdsolcC\0\x08\x13\x003"; - /// The bytecode of the contract. - pub static MOCKDIRECTFILLER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xFEZ\x02\x1D\xF4\xCDxB\xE92UW\x03\xF6\xCF\xF2\xAD\xD0\xAD7\xC9\x1DhuC\xDCQ\x90A\xCFp\x8AdsolcC\0\x08\x13\x003"; - /// The deployed bytecode of the contract. - pub static MOCKDIRECTFILLER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockDirectFiller(::ethers::contract::Contract); - impl ::core::clone::Clone for MockDirectFiller { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockDirectFiller { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockDirectFiller { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockDirectFiller { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockDirectFiller)) - .field(&self.address()) - .finish() - } - } - impl MockDirectFiller { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKDIRECTFILLER_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKDIRECTFILLER_ABI.clone(), - MOCKDIRECTFILLER_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `approve` (0xe1f21c67) function - pub fn approve( - &self, - token: ::ethers::core::types::Address, - to: ::ethers::core::types::Address, - amount: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([225, 242, 28, 103], (token, to, amount)) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for MockDirectFiller - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `approve` function with signature `approve(address,address,uint256)` and selector `0xe1f21c67` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "approve", abi = "approve(address,address,uint256)")] - pub struct ApproveCall { - pub token: ::ethers::core::types::Address, - pub to: ::ethers::core::types::Address, - pub amount: ::ethers::core::types::U256, - } -} diff --git a/crates/bindings-uniswapx/src/mock_dutch_order_reactor.rs b/crates/bindings-uniswapx/src/mock_dutch_order_reactor.rs index b8ff4cd..fd2e7c9 100644 --- a/crates/bindings-uniswapx/src/mock_dutch_order_reactor.rs +++ b/crates/bindings-uniswapx/src/mock_dutch_order_reactor.rs @@ -7,7 +7,7 @@ pub use mock_dutch_order_reactor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_dutch_order_reactor { pub use super::super::shared_types::*; @@ -33,448 +33,546 @@ pub mod mock_dutch_order_reactor { ], }), functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DIRECT_FILL"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), ( ::std::borrow::ToOwned::to_owned("execute"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("execute"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("executeBatch"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("executeBatch"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("orders"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Bytes, ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillContract"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IReactorCallback",), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit2"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit2"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IPermit2"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("resolveOrder"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("resolveOrder"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct SignedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("resolveOrder"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "DeadlineBeforeEndTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "EndTimeBeforeStartTime", + ), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InputAndOutputDecay"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InputAndOutputDecay",), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("InsufficientEth"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientEth"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InputAndOutputDecay", + ), + inputs: ::std::vec![], + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NativeTransferFailed",), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], ), ]), - receive: false, + receive: true, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static MOCKDUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKDUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004\x9E8\x03\x80b\x004\x9E\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xC0V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x84\x92\x84\x92\x83\x92\x83\x92\x90\x91\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xFF\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xD4W`\0\x80\xFD[\x82Qb\0\0\xE1\x81b\0\0\xA7V[` \x84\x01Q\x90\x92Pb\0\0\xF4\x81b\0\0\xA7V[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3vb\0\x01(`\09`\0\x81\x81`\xC2\x01R\x81\x81a\x10\x8D\x01Ra\x14\x9C\x01Ra3v`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x96W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0iW\x80c\x9B\xB3\"e\x11a\0NW\x80c\x9B\xB3\"e\x14a\x01\x9BW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xC8W\x80c\xFC\xCB\xCA\xAF\x14a\x01\xE8W`\0\x80\xFD[\x80co\x1D_Q\x14a\x01[W\x80c\x8D\xA5\xCB[\x14a\x01nW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x9BW\x80c\x12&\x1E\xE7\x14a\0\xB0W\x80c-w\x13\x89\x14a\x01\x0EW\x80ci\x99\xB3w\x14a\x01.W[`\0\x80\xFD[a\0\xAEa\0\xA96`\x04a&1V[a\x01\xFDV[\0[4\x80\x15a\0\xBCW`\0\x80\xFD[Pa\0\xE4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\x1AW`\0\x80\xFD[Pa\0\xAEa\x01)6`\x04a&\xACV[a\x02\xFFV[4\x80\x15a\x01:W`\0\x80\xFD[P`\x01Ta\0\xE4\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\xAEa\x01i6`\x04a&\xC9V[a\x04\x0BV[4\x80\x15a\x01zW`\0\x80\xFD[P`\0Ta\0\xE4\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xA7W`\0\x80\xFD[Pa\x01\xBBa\x01\xB66`\x04a'{V[a\x05gV[`@Qa\x01\x05\x91\x90a)\x83V[4\x80\x15a\x01\xD4W`\0\x80\xFD[Pa\0\xAEa\x01\xE36`\x04a&\xACV[a\x05\xE5V[4\x80\x15a\x01\xF4W`\0\x80\xFD[Pa\0\xE4`\x01\x81V[a\x02\x05a\x06\xD6V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\x1CW\x90PP\x90Pa\x02\xC4\x85a\x07GV[\x81`\0\x81Q\x81\x10a\x02\xD7Wa\x02\xD7a)\xC5V[` \x02` \x01\x01\x81\x90RPa\x02\xEE\x81\x85\x85\x85a\x07\xBFV[Pa\x02\xF9`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x04\x13a\x06\xD6V[`\0\x84g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04.Wa\x04.a)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04\xE9W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04LW\x90P[P\x90P`\0[\x85\x81\x10\x15a\x05HWa\x05#\x87\x87\x83\x81\x81\x10a\x05\x0CWa\x05\x0Ca)\xC5V[\x90P` \x02\x81\x01\x90a\x05\x1E\x91\x90a)\xF4V[a\x07GV[\x82\x82\x81Q\x81\x10a\x055Wa\x055a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04\xEFV[Pa\x05U\x81\x85\x85\x85a\x07\xBFV[Pa\x05``\x01`\x02UV[PPPPPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x05\xDF\x82a\x07GV[\x92\x91PPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x06fW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03|V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\x07AW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x03|V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x05\xDF\x82a\t\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x01\x14`\0[\x85Q\x81\x10\x15a\x08\xC9W`\0\x86\x82\x81Q\x81\x10a\x07\xF9Wa\x07\xF9a)\xC5V[` \x02` \x01\x01Q\x90Pa\x08\x0C\x81a\n\xD5V[a\x08\x16\x813a\x0FOV[a\x08+\x81\x84a\x08%W\x87a\x10\x8BV[3a\x10\x8BV[\x80`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x88\x84\x81Q\x81\x10a\x08sWa\x08sa)\xC5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x84`\0\x01Q`@\x01Q`@Qa\x08\xB8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4P`\x01\x01a\x07\xDCV[P\x80\x15a\x08\xDEWa\x08\xD9\x85a\x141V[a\x05`V[`\0a\x08\xE9\x86a\x15\x0FV[`@Q\x7F\x99C\xFA\x89\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x90c\x99C\xFA\x89\x90a\tD\x90\x89\x903\x90\x89\x90\x89\x90`\x04\x01a*2V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\t^W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\trW=`\0\x80>=`\0\xFD[PPPPa\t\x7F\x81a\x17\xD5V[PPPPPPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\n\0\x83\x80a+\x15V[\x81\x01\x90a\n\r\x91\x90a.\x07V[\x90Pa\n\x18\x81a\x18\x98V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\nN\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x19\x83\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\nt\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x1AU\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\x89\x91\x90a+\x15V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\n\xCC\x83a\x1B=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0B\xAF\x91\x90\x81\x01\x90a/;V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0B\xC7\x82\x84a0:V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xDFWa\x0B\xDFa)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0CHW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xFDW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0C\x99W\x85`@\x01Q\x81\x81Q\x81\x10a\x0ClWa\x0Cla)\xC5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0C\x86Wa\x0C\x86a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CNV[P`\0[\x82\x81\x10\x15a\x0F@W`\0\x85\x82\x81Q\x81\x10a\x0C\xB9Wa\x0C\xB9a)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\rwW\x86\x81\x81Q\x81\x10a\x0C\xE0Wa\x0C\xE0a)\xC5V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\roW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x03|V[`\x01\x01a\x0C\xC6V[P`\0\x80[\x86\x81\x10\x15a\r\xFCW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\r\x9CWa\r\x9Ca)\xC5V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\r\xF3W` \x81\x01Qa\r\xF0\x90\x84a0:V[\x92P[P`\x01\x01a\r|V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x0E9W` \x80\x89\x01Q\x01Qa\x0E6\x90\x82a0:V[\x90P[\x80`\0\x03a\x0E\x8EW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x03|V[a\x0E\x9C\x81`\x05a'\x10a\x1D\xA6V[\x82` \x01Q\x11\x15a\x0F\x0FW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x03|V[\x81\x84a\x0F\x1B\x85\x89a0:V[\x81Q\x81\x10a\x0F+Wa\x0F+a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0C\x9DV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x0F\xA0W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x0F\xDFW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x10\x87W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x10[\x90\x84\x90\x86\x90`\x04\x01a0MV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x10sW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x7FW=`\0\x80>=`\0\xFD[PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x11K\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x12\xD6\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a24` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919`@Q` \x01a\x13C\x93\x92\x91\x90a0|V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a2\x86` \x83\x019`@Q` \x01a\x13\x96\x92\x91\x90a0\xBFV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x14\x03\x96\x95\x94\x93\x92`\x04\x01a1\x1AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14\x1DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x7FW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x14\xF9W`\0\x82\x82\x81Q\x81\x10a\x14QWa\x14Qa)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x14\xEFW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x14\x83Wa\x14\x83a)\xC5V[` \x02` \x01\x01Q\x90Pa\x14\xE6\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D\xE2\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x14^V[PP`\x01\x01a\x144V[PG\x15a\x15\x0CWa\x15\x0C`\x003Ga\x1F_V[PV[```\0\x80[\x83Q\x81\x10\x15a\x15NW\x83\x81\x81Q\x81\x10a\x150Wa\x150a)\xC5V[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x15\x15V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15hWa\x15ha)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15\xD1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15\x86W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x17\xCDW`\0\x84\x82\x81Q\x81\x10a\x15\xF6Wa\x15\xF6a)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x17\xC3W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x16(Wa\x16(a)\xC5V[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x17\x04W`\0\x88\x82\x81Q\x81\x10a\x16RWa\x16Ra)\xC5V[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x16\xD2WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x16\xFBW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x16\xF1\x91\x90a0:V[\x90RPa\x17\x04\x90PV[P`\x01\x01a\x166V[P\x80a\x17\xB9W`@\x82\x01Q\x82Q`\0\x91a\x174\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a :V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x17\x91\x91\x90a0:V[\x81RP\x88\x88\x81Q\x81\x10a\x17\xA6Wa\x17\xA6a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x16\x03V[PP`\x01\x01a\x15\xD9V[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\x10\x87W`\0\x82\x82\x81Q\x81\x10a\x17\xF5Wa\x17\xF5a)\xC5V[` \x02` \x01\x01Q\x90P`\0a\x182\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a :\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x18\x83W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x03|\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x18\x90\x90a1\xE2V[\x91PPa\x17\xD8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\x18\xDBW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x15\x0CW`\0[\x81`\x80\x01QQ\x81\x10\x15a\x10\x87W\x81`\x80\x01Q\x81\x81Q\x81\x10a\x19\x16Wa\x19\x16a)\xC5V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\x198Wa\x198a)\xC5V[` \x02` \x01\x01Q` \x01Q\x14a\x19{W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x18\xF3V[a\x19\xBD`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x19\xFFW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1A\x15\x85` \x01Q\x86`@\x01Q\x86\x86a!\x0CV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AsWa\x1Asa)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xDCW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\x91W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x1B3Wa\x1B\x0E\x86\x82\x81Q\x81\x10a\x1A\xFFWa\x1A\xFFa)\xC5V[` \x02` \x01\x01Q\x86\x86a!\xA6V[\x83\x82\x81Q\x81\x10a\x1B Wa\x1B a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x1A\xE2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a24` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919`@Q` \x01a\x1C\xE2\x93\x92\x91\x90a0|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x1D\x05\x83`\0\x01Qa\"vV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x1D7\x89`\x80\x01Qa#\x10V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\xDBW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a\x1E\x9DW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1EWW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\\V[``\x91P[PP\x90P\x80a\x1E\x97W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xF9V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a\x1E\xC4\x86a#\xAEV[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1FAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1FUW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a \x14W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xD4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xD9V[``\x91P[PP\x90P\x80a\x02\xF9W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a 5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a$XV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x05\xDFV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a \xE1W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a!\x05\x91\x90a2\x1AV[\x93\x92PPPV[`\0\x82\x82\x10\x15a!HW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a!VWP\x82a!\x9EV[B\x83\x10a!dWP\x83a!\x9EV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a!\x89Wa!\x80\x86\x88\x03\x83\x83a\x1D\xA6V[\x87\x03\x92Pa!\x9BV[a!\x96\x87\x87\x03\x83\x83a\x1D\xA6V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\"\x05W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\"\x1B\x85` \x01Q\x86`@\x01Q\x86\x86a!\x0CV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x1D\x89\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#0Wa#0a)\x96V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a#ZW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a#\x9FW`\0a#\x8D\x85\x83\x81Q\x81\x10a#\x80Wa#\x80a)\xC5V[` \x02` \x01\x01Qa%'V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a#`V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a$TW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x03|V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xF9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03|V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a24`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x1D\x89\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a%\xB0W`\0\x80\xFD[P\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x15\x0CW`\0\x80\xFD[\x805a%\xE3\x81a%\xB6V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a%\xFAW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x12W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&*W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&GW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&_W`\0\x80\xFD[a&k\x88\x83\x89\x01a%\x9EV[\x95P` \x87\x015\x91Pa&}\x82a%\xB6V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\x93W`\0\x80\xFD[Pa&\xA0\x87\x82\x88\x01a%\xE8V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a&\xBEW`\0\x80\xFD[\x815a!\x05\x81a%\xB6V[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a&\xE1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xF9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'\rW`\0\x80\xFD[\x815\x81\x81\x11\x15a'\x1CW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'G` \x89\x01a%\xD8V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a']W`\0\x80\xFD[Pa'j\x88\x82\x89\x01a%\xE8V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a'\x8DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA4W`\0\x80\xFD[a!\x9E\x84\x82\x85\x01a%\x9EV[`\0[\x83\x81\x10\x15a'\xCBW\x81\x81\x01Q\x83\x82\x01R` \x01a'\xB3V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra'\xEC\x81` \x86\x01` \x86\x01a'\xB0V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a(}W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a(2V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra(\xFCa\x01\xA0\x85\x01\x82a'\xD4V[\x90P` \x83\x01Qa):` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra)R\x82\x82a(\x1EV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra)l\x82\x82a'\xD4V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[` \x81R`\0a!\x05` \x83\x01\x84a(\x88V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a*(W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a*\xA7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra*\x95\x86\x83Qa(\x88V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a*[V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a+JW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+eW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&*W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a,SWa,Sa)\x96V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a,lW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\x86Wa,\x86a)\x96V[a,\xB7` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a,\x0CV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a,\xCCW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a,\xFBW`\0\x80\xFD[a-\x03a+zV[\x90P\x815a-\x10\x81a%\xB6V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a-HWa-Ha)\x96V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a-cW`\0\x80\xFD[\x815` a-xa-s\x83a-.V[a,\x0CV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a-\x97W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a-\xFCW`\x80\x81\x89\x03\x12\x15a-\xB4W`\0\x80\x81\xFD[a-\xBCa+\xA3V[\x815a-\xC7\x81a%\xB6V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a-\xEA\x81a%\xB6V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a-\x9BV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a.\x19W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.1W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a.EW`\0\x80\xFD[a.Ma+\xC6V[\x825\x82\x81\x11\x15a.\\W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a.nW`\0\x80\xFD[a.va+\xE9V[\x815a.\x81\x81a%\xB6V[\x81R` \x82\x015a.\x91\x81a%\xB6V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a.\xBA\x81a%\xB6V[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a.\xD1W`\0\x80\xFD[a.\xDD\x89\x82\x85\x01a,[V[`\xA0\x83\x01RP\x80\x83RPP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra/\t\x86``\x85\x01a,\xE9V[``\x82\x01R`\xC0\x83\x015\x82\x81\x11\x15a/ W`\0\x80\xFD[a/,\x87\x82\x86\x01a-RV[`\x80\x83\x01RP\x95\x94PPPPPV[`\0` \x80\x83\x85\x03\x12\x15a/NW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/eW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/vW`\0\x80\xFD[\x80Qa/\x84a-s\x82a-.V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/\xA3W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xFFW\x80\x85\x8A\x03\x12\x15a/\xC0W`\0\x80\x81\xFD[a/\xC8a+zV[\x85Qa/\xD3\x81a%\xB6V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xEC\x81a%\xB6V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/\xA8V[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05\xDFWa\x05\xDFa0\x0BV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a!\x9E`@\x83\x01\x84a(\x88V[`\0\x84Qa0\x8E\x81\x84` \x89\x01a'\xB0V[\x84Q\x90\x83\x01\x90a0\xA2\x81\x83` \x89\x01a'\xB0V[\x84Q\x91\x01\x90a0\xB5\x81\x83` \x88\x01a'\xB0V[\x01\x95\x94PPPPPV[\x7FDutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa0\xF7\x81`\x13\x85\x01` \x88\x01a'\xB0V[\x83Q\x90\x83\x01\x90a1\x0E\x81`\x13\x84\x01` \x88\x01a'\xB0V[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a1J\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x8B`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1\xC0\x81\x84\x01\x86a'\xD4V[\x90P\x82\x81\x03a\x01 \x84\x01Ra1\xD5\x81\x85a'\xD4V[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x13Wa2\x13a0\x0BV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2,W`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 D\xF5\xBDm&\x1CQDz\xBB\x03\xDE_\xBA\xCF9\xAD\xFD\x9F\x95\xB2\xC3\xA1>>\xC9\x17\x95\xD65\xFC\xB3dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x000\xEF8\x03\x80b\x000\xEF\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xC0V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x84\x92\x84\x92\x83\x92\x83\x92\x90\x91\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xFF\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xBDW`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xD4W`\0\x80\xFD[\x82Qb\0\0\xE1\x81b\0\0\xA7V[` \x84\x01Q\x90\x92Pb\0\0\xF4\x81b\0\0\xA7V[\x80\x91PP\x92P\x92\x90PV[`\x80Qa/\xCEb\0\x01!`\09`\0\x81\x81`\xFB\x01Ra\x14\x1A\x01Ra/\xCE`\0\xF3\xFE`\x80`@R`\x046\x10a\0\xB5W`\x005`\xE0\x1C\x80c?b\x19.\x11a\0iW\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\xBAW\x80c\x9B\xB3\"e\x14a\x01\xE7W\x80c\xF2\xFD\xE3\x8B\x14a\x02\x14W`\0\x80\xFD[\x80c?b\x19.\x14a\x01zW\x80ci\x99\xB3w\x14a\x01\x8DW`\0\x80\xFD[\x80c\x12&\x1E\xE7\x11a\0\x9AW\x80c\x12&\x1E\xE7\x14a\0\xE9W\x80c\x13\xFBr\xC7\x14a\x01GW\x80c-w\x13\x89\x14a\x01ZW`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xC1W\x80c\rz\x16\xC3\x14a\0\xD6W`\0\x80\xFD[6a\0\xBCW\0[`\0\x80\xFD[a\0\xD4a\0\xCF6`\x04a\"\xA6V[a\x024V[\0[a\0\xD4a\0\xE46`\x04a#TV[a\x03\xADV[4\x80\x15a\0\xF5W`\0\x80\xFD[Pa\x01\x1D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD4a\x01U6`\x04a#\x96V[a\x05\x0EV[4\x80\x15a\x01fW`\0\x80\xFD[Pa\0\xD4a\x01u6`\x04a$$V[a\x06\xCCV[a\0\xD4a\x01\x886`\x04a$HV[a\x07\xD8V[4\x80\x15a\x01\x99W`\0\x80\xFD[P`\x01Ta\x01\x1D\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xC6W`\0\x80\xFD[P`\0Ta\x01\x1D\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xF3W`\0\x80\xFD[Pa\x02\x07a\x02\x026`\x04a$HV[a\x08\xDDV[`@Qa\x01>\x91\x90a&QV[4\x80\x15a\x02 W`\0\x80\xFD[Pa\0\xD4a\x02/6`\x04a$$V[a\t[V[a\x02=`\0\xFD[PPPPa\x03\x9D\x81a\x0B\x86V[Pa\x03\xA8`\x01`\x02UV[PPPV[a\x03\xB5a\nLV[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\xD1Wa\x03\xD1a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04\x8CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xEFW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xEBWa\x04\xC6\x85\x85\x83\x81\x81\x10a\x04\xAFWa\x04\xAFa&\x93V[\x90P` \x02\x81\x01\x90a\x04\xC1\x91\x90a'\x88V[a\n\xBDV[\x82\x82\x81Q\x81\x10a\x04\xD8Wa\x04\xD8a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04\x92V[Pa\x04\xF5\x81a\x0B5V[a\x04\xFE\x81a\x0B\x86V[PPa\x05\n`\x01`\x02UV[PPV[a\x05\x16a\nLV[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x052Wa\x052a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xEDW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05PW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x065Wa\x06\x10\x87\x87\x83\x81\x81\x10a\x04\xAFWa\x04\xAFa&\x93V[\x82\x82\x81Q\x81\x10a\x06\"Wa\x06\"a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xF3V[Pa\x06?\x81a\x0B5V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x06\x7F\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xC2V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06\x99W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06\xADW=`\0\x80>=`\0\xFD[PPPPa\x06\xBA\x81a\x0B\x86V[PPa\x06\xC6`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07RW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\xE0a\nLV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xF7W\x90PP\x90Pa\x08\x9F\x82a\n\xBDV[\x81`\0\x81Q\x81\x10a\x08\xB2Wa\x08\xB2a&\x93V[` \x02` \x01\x01\x81\x90RPa\x08\xC6\x81a\x0B5V[a\x08\xCF\x81a\x0B\x86V[Pa\x08\xDA`\x01`\x02UV[PV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\tU\x82a\n\xBDV[\x92\x91PPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\xDCW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07IV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\n\xB7W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07IV[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\tU\x82a\x0C\xD9V[\x80Q`\0[\x81\x81\x10\x15a\x03\xA8W`\0\x83\x82\x81Q\x81\x10a\x0BVWa\x0BVa&\x93V[` \x02` \x01\x01Q\x90Pa\x0Bi\x81a\x0E'V[a\x0Bs\x813a\x13\x17V[a\x0B}\x813a\x14\x18V[P`\x01\x01a\x0B:V[\x80Q`\0[\x81\x81\x10\x15a\x0C\xC8W`\0\x83\x82\x81Q\x81\x10a\x0B\xA7Wa\x0B\xA7a&\x93V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C(W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xDEWa\x0B\xDEa&\x93V[` \x02` \x01\x01Q\x90Pa\x0C\x1F\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x17\xBE\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xBEV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0CqWa\x0Cqa&\x93V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xB6\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x8BV[PG\x15a\x05\nWa\x05\n3Ga\x18\x05V[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\rR\x83\x80a'\xC6V[\x81\x01\x90a\r_\x91\x90a*\xB8V[\x90Pa\rj\x81a\x18\x9FV[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\r\xA0\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x19\x8A\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\r\xC6\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x1A\\\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\r\xDB\x91\x90a'\xC6V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0E\x1E\x83a\x1BCV[\x90R\x93\x92PPPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0EGWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0E\x9E\x90\x85\x90`\x04\x01a&QV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xBBW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x01\x91\x90\x81\x01\x90a+\xECV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x19\x82\x84a,\xBCV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F1Wa\x0F1a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F\x9AW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0FOW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0F\xEBW\x85`@\x01Q\x81\x81Q\x81\x10a\x0F\xBEWa\x0F\xBEa&\x93V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0F\xD8Wa\x0F\xD8a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F\xA0V[P`\0\x80`\0[\x84\x81\x10\x15a\x13\x06W`\0\x87\x82\x81Q\x81\x10a\x10\x0EWa\x10\x0Ea&\x93V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x10\xCCW\x88\x81\x81Q\x81\x10a\x105Wa\x105a&\x93V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\xC4W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07IV[`\x01\x01a\x10\x1BV[P`\0\x80[\x88\x81\x10\x15a\x11\x8DW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x10\xF1Wa\x10\xF1a&\x93V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\x84W\x85\x15a\x11nW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x11}\x90\x84a,\xBCV[\x92P`\x01\x96P[P`\x01\x01a\x10\xD1V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\x06W\x84\x15a\x11\xEDW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x11\xFF\x90\x82a,\xBCV[\x90P`\x01\x93P[\x80`\0\x03a\x12[W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07IV[a\x12i\x81`\x05a'\x10a\x1D\xADV[\x82` \x01Q\x11\x15a\x12\xDCW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07IV[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x12\xF1Wa\x12\xF1a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0F\xF2V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13hW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x05\nW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x13\xE4\x90\x84\x90\x86\x90`\x04\x01a,\xF6V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x13\xFCW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x14\x10W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x14\xD8\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16c\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a.\x8C` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919`@Q` \x01a\x16\xD0\x93\x92\x91\x90a-%V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a.\xDE` \x83\x019`@Q` \x01a\x17#\x92\x91\x90a-hV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x90\x96\x95\x94\x93\x92`\x04\x01a-\xC3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xAAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\x10W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x17\xE3Wa\x03\xA8\x82\x82a\x18\x05V[a\x03\xA8s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1D\xE9V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x18_W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x18dV[``\x91P[PP\x90P\x80a\x03\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\x18\xE2W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\xDAW`\0[\x81`\x80\x01QQ\x81\x10\x15a\x05\nW\x81`\x80\x01Q\x81\x81Q\x81\x10a\x19\x1DWa\x19\x1Da&\x93V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\x19?Wa\x19?a&\x93V[` \x02` \x01\x01Q` \x01Q\x14a\x19\x82W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x18\xFAV[a\x19\xC4`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x1A\x06W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1A\x1C\x85` \x01Q\x86`@\x01Q\x86\x86a\x1E\xDBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AzWa\x1Aza&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xE3W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\x98W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x1B:Wa\x1B\x15\x86\x82\x81Q\x81\x10a\x1B\x06Wa\x1B\x06a&\x93V[` \x02` \x01\x01Q\x86\x86a\x1F\x82V[\x83\x82\x81Q\x81\x10a\x1B'Wa\x1B'a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x1A\xE9V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a.\x8C` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919`@Q` \x01a\x1C\xE9\x93\x92\x91\x90a-%V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x1D\x0C\x83`\0\x01Qa RV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x1D>\x89`\x80\x01Qa \xECV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\xE2W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1E\xD4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07IV[PPPPPV[`\0\x83\x85\x03a\x1E\xEBWP\x83a\x1FzV[\x82\x82\x11a\x1F$W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1F2WP\x82a\x1FzV[B\x83\x10a\x1F@WP\x83a\x1FzV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1FeWa\x1F\\\x86\x88\x03\x83\x83a\x1D\xADV[\x87\x03\x92Pa\x1FwV[a\x1Fr\x87\x87\x03\x83\x83a!\x8AV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1F\xE1W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1F\xF7\x85` \x01Q\x86`@\x01Q\x86\x86a\x1E\xDBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x1D\x90\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\x0CWa!\x0Ca&dV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a!6W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a!{W`\0a!i\x85\x83\x81Q\x81\x10a!\\Wa!\\a&\x93V[` \x02` \x01\x01Qa!\xCEV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a!\xD6\x81dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKDUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKDUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x96W`\x005`\xE0\x1C\x80co\x1D_Q\x11a\0iW\x80c\x9B\xB3\"e\x11a\0NW\x80c\x9B\xB3\"e\x14a\x01\x9BW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xC8W\x80c\xFC\xCB\xCA\xAF\x14a\x01\xE8W`\0\x80\xFD[\x80co\x1D_Q\x14a\x01[W\x80c\x8D\xA5\xCB[\x14a\x01nW`\0\x80\xFD[\x80c\x05\xAF\xC9w\x14a\0\x9BW\x80c\x12&\x1E\xE7\x14a\0\xB0W\x80c-w\x13\x89\x14a\x01\x0EW\x80ci\x99\xB3w\x14a\x01.W[`\0\x80\xFD[a\0\xAEa\0\xA96`\x04a&1V[a\x01\xFDV[\0[4\x80\x15a\0\xBCW`\0\x80\xFD[Pa\0\xE4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01\x1AW`\0\x80\xFD[Pa\0\xAEa\x01)6`\x04a&\xACV[a\x02\xFFV[4\x80\x15a\x01:W`\0\x80\xFD[P`\x01Ta\0\xE4\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\xAEa\x01i6`\x04a&\xC9V[a\x04\x0BV[4\x80\x15a\x01zW`\0\x80\xFD[P`\0Ta\0\xE4\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xA7W`\0\x80\xFD[Pa\x01\xBBa\x01\xB66`\x04a'{V[a\x05gV[`@Qa\x01\x05\x91\x90a)\x83V[4\x80\x15a\x01\xD4W`\0\x80\xFD[Pa\0\xAEa\x01\xE36`\x04a&\xACV[a\x05\xE5V[4\x80\x15a\x01\xF4W`\0\x80\xFD[Pa\0\xE4`\x01\x81V[a\x02\x05a\x06\xD6V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\x1CW\x90PP\x90Pa\x02\xC4\x85a\x07GV[\x81`\0\x81Q\x81\x10a\x02\xD7Wa\x02\xD7a)\xC5V[` \x02` \x01\x01\x81\x90RPa\x02\xEE\x81\x85\x85\x85a\x07\xBFV[Pa\x02\xF9`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x04\x13a\x06\xD6V[`\0\x84g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04.Wa\x04.a)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04\xE9W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04LW\x90P[P\x90P`\0[\x85\x81\x10\x15a\x05HWa\x05#\x87\x87\x83\x81\x81\x10a\x05\x0CWa\x05\x0Ca)\xC5V[\x90P` \x02\x81\x01\x90a\x05\x1E\x91\x90a)\xF4V[a\x07GV[\x82\x82\x81Q\x81\x10a\x055Wa\x055a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04\xEFV[Pa\x05U\x81\x85\x85\x85a\x07\xBFV[Pa\x05``\x01`\x02UV[PPPPPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x05\xDF\x82a\x07GV[\x92\x91PPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x06fW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03|V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\x07AW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x03|V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x05\xDF\x82a\t\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\x01\x14`\0[\x85Q\x81\x10\x15a\x08\xC9W`\0\x86\x82\x81Q\x81\x10a\x07\xF9Wa\x07\xF9a)\xC5V[` \x02` \x01\x01Q\x90Pa\x08\x0C\x81a\n\xD5V[a\x08\x16\x813a\x0FOV[a\x08+\x81\x84a\x08%W\x87a\x10\x8BV[3a\x10\x8BV[\x80`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x88\x84\x81Q\x81\x10a\x08sWa\x08sa)\xC5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x84`\0\x01Q`@\x01Q`@Qa\x08\xB8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4P`\x01\x01a\x07\xDCV[P\x80\x15a\x08\xDEWa\x08\xD9\x85a\x141V[a\x05`V[`\0a\x08\xE9\x86a\x15\x0FV[`@Q\x7F\x99C\xFA\x89\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x90c\x99C\xFA\x89\x90a\tD\x90\x89\x903\x90\x89\x90\x89\x90`\x04\x01a*2V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\t^W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\trW=`\0\x80>=`\0\xFD[PPPPa\t\x7F\x81a\x17\xD5V[PPPPPPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\n\0\x83\x80a+\x15V[\x81\x01\x90a\n\r\x91\x90a.\x07V[\x90Pa\n\x18\x81a\x18\x98V[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\nN\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x19\x83\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\nt\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x1AU\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\n\x89\x91\x90a+\x15V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\n\xCC\x83a\x1B=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0B\xAF\x91\x90\x81\x01\x90a/;V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0B\xC7\x82\x84a0:V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0B\xDFWa\x0B\xDFa)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0CHW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0B\xFDW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0C\x99W\x85`@\x01Q\x81\x81Q\x81\x10a\x0ClWa\x0Cla)\xC5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0C\x86Wa\x0C\x86a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0CNV[P`\0[\x82\x81\x10\x15a\x0F@W`\0\x85\x82\x81Q\x81\x10a\x0C\xB9Wa\x0C\xB9a)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\rwW\x86\x81\x81Q\x81\x10a\x0C\xE0Wa\x0C\xE0a)\xC5V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\roW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x03|V[`\x01\x01a\x0C\xC6V[P`\0\x80[\x86\x81\x10\x15a\r\xFCW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\r\x9CWa\r\x9Ca)\xC5V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\r\xF3W` \x81\x01Qa\r\xF0\x90\x84a0:V[\x92P[P`\x01\x01a\r|V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x0E9W` \x80\x89\x01Q\x01Qa\x0E6\x90\x82a0:V[\x90P[\x80`\0\x03a\x0E\x8EW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x03|V[a\x0E\x9C\x81`\x05a'\x10a\x1D\xA6V[\x82` \x01Q\x11\x15a\x0F\x0FW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x03|V[\x81\x84a\x0F\x1B\x85\x89a0:V[\x81Q\x81\x10a\x0F+Wa\x0F+a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0C\x9DV[P`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x0F\xA0W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\x0F\xDFW`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x10\x87W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x10[\x90\x84\x90\x86\x90`\x04\x01a0MV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x10sW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\t\x7FW=`\0\x80>=`\0\xFD[PPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x11K\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x12\xD6\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a24` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919`@Q` \x01a\x13C\x93\x92\x91\x90a0|V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a2\x86` \x83\x019`@Q` \x01a\x13\x96\x92\x91\x90a0\xBFV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x14\x03\x96\x95\x94\x93\x92`\x04\x01a1\x1AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14\x1DW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x7FW=`\0\x80>=`\0\xFD[`\0[\x81Q\x81\x10\x15a\x14\xF9W`\0\x82\x82\x81Q\x81\x10a\x14QWa\x14Qa)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x14\xEFW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x14\x83Wa\x14\x83a)\xC5V[` \x02` \x01\x01Q\x90Pa\x14\xE6\x81`@\x01Q\x82` \x01Q\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D\xE2\x90\x93\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x14^V[PP`\x01\x01a\x144V[PG\x15a\x15\x0CWa\x15\x0C`\x003Ga\x1F_V[PV[```\0\x80[\x83Q\x81\x10\x15a\x15NW\x83\x81\x81Q\x81\x10a\x150Wa\x150a)\xC5V[` \x02` \x01\x01Q`@\x01QQ\x82\x01\x91P\x80\x80`\x01\x01\x91PPa\x15\x15V[P\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15hWa\x15ha)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15\xD1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15\x86W\x90P[P\x91PP`\0\x80[\x83Q\x81\x10\x15a\x17\xCDW`\0\x84\x82\x81Q\x81\x10a\x15\xF6Wa\x15\xF6a)\xC5V[` \x02` \x01\x01Q\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\x17\xC3W`\0\x82`@\x01Q\x82\x81Q\x81\x10a\x16(Wa\x16(a)\xC5V[` \x02` \x01\x01Q\x90P`\0\x80[\x86\x81\x10\x15a\x17\x04W`\0\x88\x82\x81Q\x81\x10a\x16RWa\x16Ra)\xC5V[` \x02` \x01\x01Q\x90P\x83`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x80\x15a\x16\xD2WP\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[\x15a\x16\xFBW`\x01\x92P\x83` \x01Q\x81`@\x01\x81\x81Qa\x16\xF1\x91\x90a0:V[\x90RPa\x17\x04\x90PV[P`\x01\x01a\x166V[P\x80a\x17\xB9W`@\x82\x01Q\x82Q`\0\x91a\x174\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90a :V[\x90P`@Q\x80``\x01`@R\x80\x84`@\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x84` \x01Q\x83a\x17\x91\x91\x90a0:V[\x81RP\x88\x88\x81Q\x81\x10a\x17\xA6Wa\x17\xA6a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01RP`\x01\x90\x95\x01\x94[PP`\x01\x01a\x16\x03V[PP`\x01\x01a\x15\xD9V[P\x81R\x91\x90PV[`\0[\x81Q\x81\x10\x15a\x10\x87W`\0\x82\x82\x81Q\x81\x10a\x17\xF5Wa\x17\xF5a)\xC5V[` \x02` \x01\x01Q\x90P`\0a\x182\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a :\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x18\x83W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x03|\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[PP\x80\x80a\x18\x90\x90a1\xE2V[\x91PPa\x17\xD8V[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\x18\xDBW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x15\x0CW`\0[\x81`\x80\x01QQ\x81\x10\x15a\x10\x87W\x81`\x80\x01Q\x81\x81Q\x81\x10a\x19\x16Wa\x19\x16a)\xC5V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\x198Wa\x198a)\xC5V[` \x02` \x01\x01Q` \x01Q\x14a\x19{W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x18\xF3V[a\x19\xBD`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x19\xFFW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1A\x15\x85` \x01Q\x86`@\x01Q\x86\x86a!\x0CV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AsWa\x1Asa)\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xDCW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\x91W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x1B3Wa\x1B\x0E\x86\x82\x81Q\x81\x10a\x1A\xFFWa\x1A\xFFa)\xC5V[` \x02` \x01\x01Q\x86\x86a!\xA6V[\x83\x82\x81Q\x81\x10a\x1B Wa\x1B a)\xC5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x1A\xE2V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a24` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919`@Q` \x01a\x1C\xE2\x93\x92\x91\x90a0|V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x1D\x05\x83`\0\x01Qa\"vV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x1D7\x89`\x80\x01Qa#\x10V[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\xDBW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16a\x1E\x9DW`\0\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1EWW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\\V[``\x91P[PP\x90P\x80a\x1E\x97W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Pa\x02\xF9V[\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c6\xC7\x85\x163\x85a\x1E\xC4\x86a#\xAEV[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x91\x83\x16`$\x83\x01R\x82\x16`D\x82\x01R\x90\x87\x16`d\x82\x01R`\x84\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1FAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x1FUW=`\0\x80>=`\0\xFD[PPPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a \x14W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1F\xD4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1F\xD9V[``\x91P[PP\x90P\x80a\x02\xF9W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a 5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a$XV[PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a uWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x05\xDFV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a \xE1W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a!\x05\x91\x90a2\x1AV[\x93\x92PPPV[`\0\x82\x82\x10\x15a!HW`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a!VWP\x82a!\x9EV[B\x83\x10a!dWP\x83a!\x9EV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a!\x89Wa!\x80\x86\x88\x03\x83\x83a\x1D\xA6V[\x87\x03\x92Pa!\x9BV[a!\x96\x87\x87\x03\x83\x83a\x1D\xA6V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\"\x05W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\"\x1B\x85` \x01Q\x86`@\x01Q\x86\x86a!\x0CV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xB4`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x1D\x89\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a#0Wa#0a)\x96V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a#ZW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a#\x9FW`\0a#\x8D\x85\x83\x81Q\x81\x10a#\x80Wa#\x80a)\xC5V[` \x02` \x01\x01Qa%'V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a#`V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a$TW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`'`$\x82\x01R\x7FSafeCast: value doesn't fit in 1`D\x82\x01R\x7F60 bits\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`d\x82\x01R`\x84\x01a\x03|V[P\x90V[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x02\xF9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03|V[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a24`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x1D\x89\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a%\xB0W`\0\x80\xFD[P\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x15\x0CW`\0\x80\xFD[\x805a%\xE3\x81a%\xB6V[\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a%\xFAW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x12W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a&*W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80``\x85\x87\x03\x12\x15a&GW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&_W`\0\x80\xFD[a&k\x88\x83\x89\x01a%\x9EV[\x95P` \x87\x015\x91Pa&}\x82a%\xB6V[\x90\x93P`@\x86\x015\x90\x80\x82\x11\x15a&\x93W`\0\x80\xFD[Pa&\xA0\x87\x82\x88\x01a%\xE8V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a&\xBEW`\0\x80\xFD[\x815a!\x05\x81a%\xB6V[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a&\xE1W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\xF9W`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a'\rW`\0\x80\xFD[\x815\x81\x81\x11\x15a'\x1CW`\0\x80\xFD[\x89` \x82`\x05\x1B\x85\x01\x01\x11\x15a'1W`\0\x80\xFD[` \x83\x01\x97P\x80\x96PPa'G` \x89\x01a%\xD8V[\x94P`@\x88\x015\x91P\x80\x82\x11\x15a']W`\0\x80\xFD[Pa'j\x88\x82\x89\x01a%\xE8V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a'\x8DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'\xA4W`\0\x80\xFD[a!\x9E\x84\x82\x85\x01a%\x9EV[`\0[\x83\x81\x10\x15a'\xCBW\x81\x81\x01Q\x83\x82\x01R` \x01a'\xB3V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra'\xEC\x81` \x86\x01` \x86\x01a'\xB0V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a(}W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a(2V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra(\xFCa\x01\xA0\x85\x01\x82a'\xD4V[\x90P` \x83\x01Qa):` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra)R\x82\x82a(\x1EV[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra)l\x82\x82a'\xD4V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[` \x81R`\0a!\x05` \x83\x01\x84a(\x88V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a*(W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0``\x82\x01``\x83R\x80\x87Q\x80\x83R`\x80\x85\x01\x91P`\x80\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x8A\x01`\0[\x83\x81\x10\x15a*\xA7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x88\x87\x03\x01\x85Ra*\x95\x86\x83Qa(\x88V[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a*[V[PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x89\x16\x81\x87\x01R\x85\x84\x03`@\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x97\x96PPPPPPPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a+JW`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a+eW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a&*W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a+\x9DWa+\x9Da)\x96V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a,SWa,Sa)\x96V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a,lW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\x86Wa,\x86a)\x96V[a,\xB7` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a,\x0CV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a,\xCCW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a,\xFBW`\0\x80\xFD[a-\x03a+zV[\x90P\x815a-\x10\x81a%\xB6V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a-HWa-Ha)\x96V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a-cW`\0\x80\xFD[\x815` a-xa-s\x83a-.V[a,\x0CV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a-\x97W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a-\xFCW`\x80\x81\x89\x03\x12\x15a-\xB4W`\0\x80\x81\xFD[a-\xBCa+\xA3V[\x815a-\xC7\x81a%\xB6V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a-\xEA\x81a%\xB6V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a-\x9BV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a.\x19W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.1W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a.EW`\0\x80\xFD[a.Ma+\xC6V[\x825\x82\x81\x11\x15a.\\W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a.nW`\0\x80\xFD[a.va+\xE9V[\x815a.\x81\x81a%\xB6V[\x81R` \x82\x015a.\x91\x81a%\xB6V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a.\xBA\x81a%\xB6V[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a.\xD1W`\0\x80\xFD[a.\xDD\x89\x82\x85\x01a,[V[`\xA0\x83\x01RP\x80\x83RPP` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01Ra/\t\x86``\x85\x01a,\xE9V[``\x82\x01R`\xC0\x83\x015\x82\x81\x11\x15a/ W`\0\x80\xFD[a/,\x87\x82\x86\x01a-RV[`\x80\x83\x01RP\x95\x94PPPPPV[`\0` \x80\x83\x85\x03\x12\x15a/NW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/eW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/vW`\0\x80\xFD[\x80Qa/\x84a-s\x82a-.V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/\xA3W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xFFW\x80\x85\x8A\x03\x12\x15a/\xC0W`\0\x80\x81\xFD[a/\xC8a+zV[\x85Qa/\xD3\x81a%\xB6V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xEC\x81a%\xB6V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/\xA8V[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x05\xDFWa\x05\xDFa0\x0BV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a!\x9E`@\x83\x01\x84a(\x88V[`\0\x84Qa0\x8E\x81\x84` \x89\x01a'\xB0V[\x84Q\x90\x83\x01\x90a0\xA2\x81\x83` \x89\x01a'\xB0V[\x84Q\x91\x01\x90a0\xB5\x81\x83` \x88\x01a'\xB0V[\x01\x95\x94PPPPPV[\x7FDutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa0\xF7\x81`\x13\x85\x01` \x88\x01a'\xB0V[\x83Q\x90\x83\x01\x90a1\x0E\x81`\x13\x84\x01` \x88\x01a'\xB0V[\x01`\x13\x01\x94\x93PPPPV[`\0a\x01@a1J\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x8B`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1\xC0\x81\x84\x01\x86a'\xD4V[\x90P\x82\x81\x03a\x01 \x84\x01Ra1\xD5\x81\x85a'\xD4V[\x99\x98PPPPPPPPPV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a2\x13Wa2\x13a0\x0BV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a2,W`\0\x80\xFD[PQ\x91\x90PV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 D\xF5\xBDm&\x1CQDz\xBB\x03\xDE_\xBA\xCF9\xAD\xFD\x9F\x95\xB2\xC3\xA1>>\xC9\x17\x95\xD65\xFC\xB3dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\xB5W`\x005`\xE0\x1C\x80c?b\x19.\x11a\0iW\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\xBAW\x80c\x9B\xB3\"e\x14a\x01\xE7W\x80c\xF2\xFD\xE3\x8B\x14a\x02\x14W`\0\x80\xFD[\x80c?b\x19.\x14a\x01zW\x80ci\x99\xB3w\x14a\x01\x8DW`\0\x80\xFD[\x80c\x12&\x1E\xE7\x11a\0\x9AW\x80c\x12&\x1E\xE7\x14a\0\xE9W\x80c\x13\xFBr\xC7\x14a\x01GW\x80c-w\x13\x89\x14a\x01ZW`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xC1W\x80c\rz\x16\xC3\x14a\0\xD6W`\0\x80\xFD[6a\0\xBCW\0[`\0\x80\xFD[a\0\xD4a\0\xCF6`\x04a\"\xA6V[a\x024V[\0[a\0\xD4a\0\xE46`\x04a#TV[a\x03\xADV[4\x80\x15a\0\xF5W`\0\x80\xFD[Pa\x01\x1D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD4a\x01U6`\x04a#\x96V[a\x05\x0EV[4\x80\x15a\x01fW`\0\x80\xFD[Pa\0\xD4a\x01u6`\x04a$$V[a\x06\xCCV[a\0\xD4a\x01\x886`\x04a$HV[a\x07\xD8V[4\x80\x15a\x01\x99W`\0\x80\xFD[P`\x01Ta\x01\x1D\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xC6W`\0\x80\xFD[P`\0Ta\x01\x1D\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xF3W`\0\x80\xFD[Pa\x02\x07a\x02\x026`\x04a$HV[a\x08\xDDV[`@Qa\x01>\x91\x90a&QV[4\x80\x15a\x02 W`\0\x80\xFD[Pa\0\xD4a\x02/6`\x04a$$V[a\t[V[a\x02=`\0\xFD[PPPPa\x03\x9D\x81a\x0B\x86V[Pa\x03\xA8`\x01`\x02UV[PPPV[a\x03\xB5a\nLV[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\xD1Wa\x03\xD1a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04\x8CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xEFW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xEBWa\x04\xC6\x85\x85\x83\x81\x81\x10a\x04\xAFWa\x04\xAFa&\x93V[\x90P` \x02\x81\x01\x90a\x04\xC1\x91\x90a'\x88V[a\n\xBDV[\x82\x82\x81Q\x81\x10a\x04\xD8Wa\x04\xD8a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04\x92V[Pa\x04\xF5\x81a\x0B5V[a\x04\xFE\x81a\x0B\x86V[PPa\x05\n`\x01`\x02UV[PPV[a\x05\x16a\nLV[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x052Wa\x052a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xEDW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05PW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x065Wa\x06\x10\x87\x87\x83\x81\x81\x10a\x04\xAFWa\x04\xAFa&\x93V[\x82\x82\x81Q\x81\x10a\x06\"Wa\x06\"a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xF3V[Pa\x06?\x81a\x0B5V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x06\x7F\x90\x84\x90\x88\x90\x88\x90`\x04\x01a&\xC2V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06\x99W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06\xADW=`\0\x80>=`\0\xFD[PPPPa\x06\xBA\x81a\x0B\x86V[PPa\x06\xC6`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07RW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\xE0a\nLV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xF7W\x90PP\x90Pa\x08\x9F\x82a\n\xBDV[\x81`\0\x81Q\x81\x10a\x08\xB2Wa\x08\xB2a&\x93V[` \x02` \x01\x01\x81\x90RPa\x08\xC6\x81a\x0B5V[a\x08\xCF\x81a\x0B\x86V[Pa\x08\xDA`\x01`\x02UV[PV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\tU\x82a\n\xBDV[\x92\x91PPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\xDCW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07IV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\n\xB7W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07IV[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\tU\x82a\x0C\xD9V[\x80Q`\0[\x81\x81\x10\x15a\x03\xA8W`\0\x83\x82\x81Q\x81\x10a\x0BVWa\x0BVa&\x93V[` \x02` \x01\x01Q\x90Pa\x0Bi\x81a\x0E'V[a\x0Bs\x813a\x13\x17V[a\x0B}\x813a\x14\x18V[P`\x01\x01a\x0B:V[\x80Q`\0[\x81\x81\x10\x15a\x0C\xC8W`\0\x83\x82\x81Q\x81\x10a\x0B\xA7Wa\x0B\xA7a&\x93V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C(W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xDEWa\x0B\xDEa&\x93V[` \x02` \x01\x01Q\x90Pa\x0C\x1F\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x17\xBE\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xBEV[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0CqWa\x0Cqa&\x93V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xB6\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x8BV[PG\x15a\x05\nWa\x05\n3Ga\x18\x05V[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\rR\x83\x80a'\xC6V[\x81\x01\x90a\r_\x91\x90a*\xB8V[\x90Pa\rj\x81a\x18\x9FV[`@Q\x80`\xA0\x01`@R\x80\x82`\0\x01Q\x81R` \x01a\r\xA0\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x19\x8A\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\r\xC6\x83` \x01Q\x84`@\x01Q\x85`\x80\x01Qa\x1A\\\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x84\x80` \x01\x90a\r\xDB\x91\x90a'\xC6V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0E\x1E\x83a\x1BCV[\x90R\x93\x92PPPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0EGWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x0E\x9E\x90\x85\x90`\x04\x01a&QV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x0E\xBBW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x0F\x01\x91\x90\x81\x01\x90a+\xECV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x0F\x19\x82\x84a,\xBCV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F1Wa\x0F1a&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0F\x9AW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0FOW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x0F\xEBW\x85`@\x01Q\x81\x81Q\x81\x10a\x0F\xBEWa\x0F\xBEa&\x93V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x0F\xD8Wa\x0F\xD8a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0F\xA0V[P`\0\x80`\0[\x84\x81\x10\x15a\x13\x06W`\0\x87\x82\x81Q\x81\x10a\x10\x0EWa\x10\x0Ea&\x93V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x10\xCCW\x88\x81\x81Q\x81\x10a\x105Wa\x105a&\x93V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x10\xC4W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07IV[`\x01\x01a\x10\x1BV[P`\0\x80[\x88\x81\x10\x15a\x11\x8DW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x10\xF1Wa\x10\xF1a&\x93V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x11\x84W\x85\x15a\x11nW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x11}\x90\x84a,\xBCV[\x92P`\x01\x96P[P`\x01\x01a\x10\xD1V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x12\x06W\x84\x15a\x11\xEDW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x11\xFF\x90\x82a,\xBCV[\x90P`\x01\x93P[\x80`\0\x03a\x12[W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07IV[a\x12i\x81`\x05a'\x10a\x1D\xADV[\x82` \x01Q\x11\x15a\x12\xDCW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07IV[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x12\xF1Wa\x12\xF1a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x0F\xF2V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x13hW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x05\nW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x13\xE4\x90\x84\x90\x86\x90`\x04\x01a,\xF6V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x13\xFCW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x14\x10W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x14\xD8\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q` \x01a\x16c\x90\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0B\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`\x1A\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`1\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`F\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`Y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`r\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\x89\x82\x01R`\x9F\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a.\x8C` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919`@Q` \x01a\x16\xD0\x93\x92\x91\x90a-%V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a.\xDE` \x83\x019`@Q` \x01a\x17#\x92\x91\x90a-hV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x17\x90\x96\x95\x94\x93\x92`\x04\x01a-\xC3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x17\xAAW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\x10W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x17\xE3Wa\x03\xA8\x82\x82a\x18\x05V[a\x03\xA8s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1D\xE9V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x18_W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x18dV[``\x91P[PP\x90P\x80a\x03\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q\x81Q``\x01Q\x10\x15a\x18\xE2W`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[``\x81\x01Q`@\x81\x01Q` \x90\x91\x01Q\x14a\x08\xDAW`\0[\x81`\x80\x01QQ\x81\x10\x15a\x05\nW\x81`\x80\x01Q\x81\x81Q\x81\x10a\x19\x1DWa\x19\x1Da&\x93V[` \x02` \x01\x01Q`@\x01Q\x82`\x80\x01Q\x82\x81Q\x81\x10a\x19?Wa\x19?a&\x93V[` \x02` \x01\x01Q` \x01Q\x14a\x19\x82W`@Q\x7F\xD3\x03u\x8B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x18\xFAV[a\x19\xC4`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x1A\x06W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1A\x1C\x85` \x01Q\x86`@\x01Q\x86\x86a\x1E\xDBV[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1AzWa\x1Aza&dV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x1A\xE3W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x1A\x98W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x1B:Wa\x1B\x15\x86\x82\x81Q\x81\x10a\x1B\x06Wa\x1B\x06a&\x93V[` \x02` \x01\x01Q\x86\x86a\x1F\x82V[\x83\x82\x81Q\x81\x10a\x1B'Wa\x1B'a&\x93V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x1A\xE9V[PP\x93\x92PPPV[`@Q\x7FDutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`+\x82\x01R\x7Fuint256 decayStartTime,\0\0\0\0\0\0\0\0\0`:\x82\x01R\x7Fuint256 decayEndTime,\0\0\0\0\0\0\0\0\0\0\0`Q\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`f\x82\x01R\x7Fuint256 inputStartAmount,\0\0\0\0\0\0\0`y\x82\x01R\x7Fuint256 inputEndAmount,\0\0\0\0\0\0\0\0\0`\x92\x82\x01R\x7FDutchOutput[] outputs)\0\0\0\0\0\0\0\0\0\0`\xA9\x82\x01R`\0\x90`\xBF\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a.\x8C` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919`@Q` \x01a\x1C\xE9\x93\x92\x91\x90a-%V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x1D\x0C\x83`\0\x01Qa RV[\x83` \x01Q\x84`@\x01Q\x85``\x01Q`\0\x01Q\x86``\x01Q` \x01Q\x87``\x01Q`@\x01Qa\x1D>\x89`\x80\x01Qa \xECV[`@\x80Q` \x81\x01\x99\x90\x99R\x88\x01\x96\x90\x96R``\x87\x01\x94\x90\x94R`\x80\x86\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\xA0\x85\x01R`\xC0\x84\x01R`\xE0\x83\x01Ra\x01\0\x82\x01Ra\x01 \x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\xE2W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1E\xD4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07IV[PPPPPV[`\0\x83\x85\x03a\x1E\xEBWP\x83a\x1FzV[\x82\x82\x11a\x1F$W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a\x1F2WP\x82a\x1FzV[B\x83\x10a\x1F@WP\x83a\x1FzV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a\x1FeWa\x1F\\\x86\x88\x03\x83\x83a\x1D\xADV[\x87\x03\x92Pa\x1FwV[a\x1Fr\x87\x87\x03\x83\x83a!\x8AV[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a\x1F\xE1W`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x1F\xF7\x85` \x01Q\x86`@\x01Q\x86\x86a\x1E\xDBV[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x0C`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x1D\x90\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\x0CWa!\x0Ca&dV[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a!6W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a!{W`\0a!i\x85\x83\x81Q\x81\x10a!\\Wa!\\a&\x93V[` \x02` \x01\x01Qa!\xCEV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a!\xD6\x81dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKDUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKDUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockDutchOrderReactor(::ethers::contract::Contract); impl ::core::clone::Clone for MockDutchOrderReactor { fn clone(&self) -> Self { @@ -506,11 +604,13 @@ pub mod mock_dutch_order_reactor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKDUTCHORDERREACTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKDUTCHORDERREACTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -551,40 +651,51 @@ pub mod mock_dutch_order_reactor { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `DIRECT_FILL` (0xfccbcaaf) function - pub fn direct_fill( + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( &self, - ) -> ::ethers::contract::builders::ContractCall { + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([252, 203, 202, 175], ()) + .method_hash([63, 98, 25, 46], (order,)) .expect("method not found (this should never happen)") } - ///Calls the contract's `execute` (0x05afc977) function - pub fn execute( + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( &self, - order: SignedOrder, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + orders: ::std::vec::Vec, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([5, 175, 201, 119], (order, fill_contract, fill_data)) + .method_hash([13, 122, 22, 195], orders) .expect("method not found (this should never happen)") } - ///Calls the contract's `executeBatch` (0x6f1d5f51) function - pub fn execute_batch( + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( &self, orders: ::std::vec::Vec, - fill_contract: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([111, 29, 95, 81], (orders, fill_contract, fill_data)) + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -592,7 +703,10 @@ pub mod mock_dutch_order_reactor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -600,7 +714,10 @@ pub mod mock_dutch_order_reactor { ///Calls the contract's `permit2` (0x12261ee7) function pub fn permit_2( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([18, 38, 30, 231], ()) .expect("method not found (this should never happen)") @@ -641,8 +758,11 @@ pub mod mock_dutch_order_reactor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -658,15 +778,16 @@ pub mod mock_dutch_order_reactor { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MockDutchOrderReactorEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + MockDutchOrderReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for MockDutchOrderReactor - { + for MockDutchOrderReactor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -676,37 +797,28 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DeadlineBeforeEndTime", abi = "DeadlineBeforeEndTime()")] pub struct DeadlineBeforeEndTime; - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -717,11 +829,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "EndTimeBeforeStartTime", abi = "EndTimeBeforeStartTime()")] pub struct EndTimeBeforeStartTime; @@ -730,11 +844,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -747,11 +863,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "IncorrectAmounts", abi = "IncorrectAmounts()")] pub struct IncorrectAmounts; @@ -760,56 +878,43 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InputAndOutputDecay", abi = "InputAndOutputDecay()")] pub struct InputAndOutputDecay; - ///Custom Error type `InsufficientEth` with signature `InsufficientEth()` and selector `0xa01a9df6` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "InsufficientEth", abi = "InsufficientEth()")] - pub struct InsufficientEth; - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" + Hash )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { @@ -820,11 +925,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; @@ -833,26 +940,35 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockDutchOrderReactorErrors { DeadlineBeforeEndTime(DeadlineBeforeEndTime), - DeadlinePassed(DeadlinePassed), DuplicateFeeOutput(DuplicateFeeOutput), EndTimeBeforeStartTime(EndTimeBeforeStartTime), FeeTooLarge(FeeTooLarge), IncorrectAmounts(IncorrectAmounts), InputAndOutputDecay(InputAndOutputDecay), - InsufficientEth(InsufficientEth), - InsufficientOutput(InsufficientOutput), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), @@ -865,58 +981,59 @@ pub mod mock_dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DeadlineBeforeEndTime(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::EndTimeBeforeStartTime(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IncorrectAmounts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InputAndOutputDecay(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InsufficientEth(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::InsufficientOutput(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -928,24 +1045,30 @@ pub mod mock_dutch_order_reactor { Self::DeadlineBeforeEndTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } Self::EndTimeBeforeStartTime(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::IncorrectAmounts(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IncorrectAmounts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::InputAndOutputDecay(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InsufficientEth(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InsufficientOutput(element) => { + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -958,49 +1081,41 @@ pub mod mock_dutch_order_reactor { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { - true - } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => true, + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -1010,18 +1125,28 @@ pub mod mock_dutch_order_reactor { impl ::core::fmt::Display for MockDutchOrderReactorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DeadlineBeforeEndTime(element) => ::core::fmt::Display::fmt(element, f), - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), - Self::EndTimeBeforeStartTime(element) => ::core::fmt::Display::fmt(element, f), + Self::DeadlineBeforeEndTime(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::EndTimeBeforeStartTime(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), Self::IncorrectAmounts(element) => ::core::fmt::Display::fmt(element, f), - Self::InputAndOutputDecay(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientEth(element) => ::core::fmt::Display::fmt(element, f), - Self::InsufficientOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputDecay(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1036,11 +1161,6 @@ pub mod mock_dutch_order_reactor { Self::DeadlineBeforeEndTime(value) } } - impl ::core::convert::From for MockDutchOrderReactorErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } impl ::core::convert::From for MockDutchOrderReactorErrors { fn from(value: DuplicateFeeOutput) -> Self { Self::DuplicateFeeOutput(value) @@ -1066,14 +1186,9 @@ pub mod mock_dutch_order_reactor { Self::InputAndOutputDecay(value) } } - impl ::core::convert::From for MockDutchOrderReactorErrors { - fn from(value: InsufficientEth) -> Self { - Self::InsufficientEth(value) - } - } - impl ::core::convert::From for MockDutchOrderReactorErrors { - fn from(value: InsufficientOutput) -> Self { - Self::InsufficientOutput(value) + impl ::core::convert::From for MockDutchOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) } } impl ::core::convert::From for MockDutchOrderReactorErrors { @@ -1095,11 +1210,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { @@ -1115,11 +1232,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -1135,11 +1254,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -1150,7 +1271,16 @@ pub mod mock_dutch_order_reactor { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockDutchOrderReactorEvents { FillFilter(FillFilter), OwnershipTransferredFilter(OwnershipTransferredFilter), @@ -1164,14 +1294,14 @@ pub mod mock_dutch_order_reactor { return Ok(MockDutchOrderReactorEvents::FillFilter(decoded)); } if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { - return Ok(MockDutchOrderReactorEvents::OwnershipTransferredFilter( - decoded, - )); + return Ok( + MockDutchOrderReactorEvents::OwnershipTransferredFilter(decoded), + ); } if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { - return Ok(MockDutchOrderReactorEvents::ProtocolFeeControllerSetFilter( - decoded, - )); + return Ok( + MockDutchOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ); } Err(::ethers::core::abi::Error::InvalidData) } @@ -1180,7 +1310,9 @@ pub mod mock_dutch_order_reactor { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -1192,76 +1324,106 @@ pub mod mock_dutch_order_reactor { Self::FillFilter(value) } } - impl ::core::convert::From for MockDutchOrderReactorEvents { + impl ::core::convert::From + for MockDutchOrderReactorEvents { fn from(value: OwnershipTransferredFilter) -> Self { Self::OwnershipTransferredFilter(value) } } - impl ::core::convert::From for MockDutchOrderReactorEvents { + impl ::core::convert::From + for MockDutchOrderReactorEvents { fn from(value: ProtocolFeeControllerSetFilter) -> Self { Self::ProtocolFeeControllerSetFilter(value) } } - ///Container type for all input parameters for the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "DIRECT_FILL", abi = "DIRECT_FILL()")] - pub struct DirectFillCall; - ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),address,bytes)` and selector `0x05afc977` + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "execute", abi = "execute((bytes,bytes),address,bytes)")] - pub struct ExecuteCall { - pub order: SignedOrder, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, } - ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],address,bytes)` and selector `0x6f1d5f51` + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( - name = "executeBatch", - abi = "executeBatch((bytes,bytes)[],address,bytes)" + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" )] - pub struct ExecuteBatchCall { + pub struct ExecuteBatchWithCallbackCall { pub orders: ::std::vec::Vec, - pub fill_contract: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -1270,11 +1432,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -1283,11 +1447,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "permit2", abi = "permit2()")] pub struct Permit2Call; @@ -1296,11 +1462,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "resolveOrder", abi = "resolveOrder((bytes,bytes))")] pub struct ResolveOrderCall { @@ -1311,11 +1479,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -1329,22 +1499,34 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockDutchOrderReactorCalls { - DirectFill(DirectFillCall), Execute(ExecuteCall), ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), FeeController(FeeControllerCall), Owner(OwnerCall), Permit2(Permit2Call), @@ -1357,38 +1539,54 @@ pub mod mock_dutch_order_reactor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DirectFill(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Execute(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExecuteBatch(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit2(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ResolveOrder(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1397,40 +1595,55 @@ pub mod mock_dutch_order_reactor { impl ::ethers::core::abi::AbiEncode for MockDutchOrderReactorCalls { fn encode(self) -> Vec { match self { - Self::DirectFill(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExecuteBatch(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ResolveOrder(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ResolveOrder(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for MockDutchOrderReactorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DirectFill(element) => ::core::fmt::Display::fmt(element, f), Self::Execute(element) => ::core::fmt::Display::fmt(element, f), Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), Self::ResolveOrder(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for MockDutchOrderReactorCalls { - fn from(value: DirectFillCall) -> Self { - Self::DirectFill(value) - } - } impl ::core::convert::From for MockDutchOrderReactorCalls { fn from(value: ExecuteCall) -> Self { Self::Execute(value) @@ -1441,6 +1654,17 @@ pub mod mock_dutch_order_reactor { Self::ExecuteBatch(value) } } + impl ::core::convert::From + for MockDutchOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for MockDutchOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } impl ::core::convert::From for MockDutchOrderReactorCalls { fn from(value: FeeControllerCall) -> Self { Self::FeeController(value) @@ -1461,7 +1685,8 @@ pub mod mock_dutch_order_reactor { Self::ResolveOrder(value) } } - impl ::core::convert::From for MockDutchOrderReactorCalls { + impl ::core::convert::From + for MockDutchOrderReactorCalls { fn from(value: SetProtocolFeeControllerCall) -> Self { Self::SetProtocolFeeController(value) } @@ -1471,28 +1696,18 @@ pub mod mock_dutch_order_reactor { Self::TransferOwnership(value) } } - ///Container type for all return fields from the `DIRECT_FILL` function with signature `DIRECT_FILL()` and selector `0xfccbcaaf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct DirectFillReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -1500,11 +1715,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` @@ -1512,11 +1729,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Permit2Return(pub ::ethers::core::types::Address); ///Container type for all return fields from the `resolveOrder` function with signature `resolveOrder((bytes,bytes))` and selector `0x9bb32265` @@ -1524,11 +1743,13 @@ pub mod mock_dutch_order_reactor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ResolveOrderReturn { pub resolved_order: ResolvedOrder, diff --git a/crates/bindings-uniswapx/src/mock_erc20.rs b/crates/bindings-uniswapx/src/mock_erc20.rs index d63516b..9bb5f19 100644 --- a/crates/bindings-uniswapx/src/mock_erc20.rs +++ b/crates/bindings-uniswapx/src/mock_erc20.rs @@ -7,465 +7,494 @@ pub use mock_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_erc20 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("name"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("symbol"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("decimals"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ], - }), + constructor: ::core::option::Option::None, functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("forceApprove"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("forceApprove"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::borrow::ToOwned::to_owned("initialize"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("initialize"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("name_"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("symbol_"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("decimals_"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("nonces"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("nonces"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("nonces"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deadline"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("v"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("r"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deadline"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("v"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("r"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("s"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -474,18 +503,21 @@ pub mod mock_erc20 { } } ///The parsed JSON ABI of the contract. - pub static MOCKERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x12.8\x03\x80b\0\x12.\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01\xDBV[\x82\x82\x82`\0b\0\0E\x84\x82b\0\x02\xEFV[P`\x01b\0\0T\x83\x82b\0\x02\xEFV[P`\xFF\x81\x16`\x80RF`\xA0Rb\0\0jb\0\0zV[`\xC0RPb\0\x049\x94PPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qb\0\0\xAE\x91\x90b\0\x03\xBBV[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01>W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01[Wb\0\x01[b\0\x01\x16V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\x86Wb\0\x01\x86b\0\x01\x16V[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\xA3W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01\xC7W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xA8V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01\xF1W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\tW`\0\x80\xFD[b\0\x02\x17\x87\x83\x88\x01b\0\x01,V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x02.W`\0\x80\xFD[Pb\0\x02=\x86\x82\x87\x01b\0\x01,V[\x92PP`@\x84\x01Q`\xFF\x81\x16\x81\x14b\0\x02UW`\0\x80\xFD[\x80\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02uW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x96WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02\xEAW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02\xC5WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02\xE6W\x82\x81U`\x01\x01b\0\x02\xD1V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03\x0BWb\0\x03\x0Bb\0\x01\x16V[b\0\x03#\x81b\0\x03\x1C\x84Tb\0\x02`V[\x84b\0\x02\x9CV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03[W`\0\x84\x15b\0\x03BWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02\xE6V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x8CW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03kV[P\x85\x82\x10\x15b\0\x03\xABW\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x80\x83Tb\0\x03\xCB\x81b\0\x02`V[`\x01\x82\x81\x16\x80\x15b\0\x03\xE6W`\x01\x81\x14b\0\x03\xFCWb\0\x04-V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pb\0\x04-V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15b\0\x04$W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01b\0\x04\tV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x80Q`\xA0Q`\xC0Qa\r\xC5b\0\x04i`\09`\0a\x04\xE1\x01R`\0a\x04\xAC\x01R`\0a\x01_\x01Ra\r\xC5`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80ca\xF4\x9E\xD6\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x03W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0BW\x80c\xD5\x05\xAC\xCF\x14a\x02\x1EW\x80c\xDDb\xED>\x14a\x021W`\0\x80\xFD[\x80ca\xF4\x9E\xD6\x14a\x01\xB0W\x80cp\xA0\x821\x14a\x01\xC3W\x80c~\xCE\xBE\0\x14a\x01\xE3W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01GW\x80c1<\xE5g\x14a\x01ZW\x80c6D\xE5\x15\x14a\x01\x93W\x80c@\xC1\x0F\x19\x14a\x01\x9BW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\\V[`@Qa\x01\x04\x91\x90a\nNV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\n\xE3V[a\x02\xEAV[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x019`\x02T\x81V[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01U6`\x04a\x0B\rV[a\x03dV[a\x01\x81\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\x019a\x04\xA8V[a\x01\xAEa\x01\xA96`\x04a\n\xE3V[a\x05\x03V[\0[a\x01 a\x01\xBE6`\x04a\x0B\rV[a\x05\x11V[a\x019a\x01\xD16`\x04a\x0BIV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x019a\x01\xF16`\x04a\x0BIV[`\x05` R`\0\x90\x81R`@\x90 T\x81V[a\0\xF7a\x05\x86V[a\x01 a\x02\x196`\x04a\n\xE3V[a\x05\x93V[a\x01\xAEa\x02,6`\x04a\x0BkV[a\x06\x18V[a\x019a\x02?6`\x04a\x0B\xDEV[`\x04` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`\0\x80Ta\x02i\x90a\x0C\x11V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x95\x90a\x0C\x11V[\x80\x15a\x02\xE2W\x80`\x1F\x10a\x02\xB7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xE2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xC5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\0\x81\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03R\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x03\xF8Wa\x03\xC6\x83\x82a\x0C\x93V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x04-\x90\x84\x90a\x0C\x93V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16`\0\x81\x81R`\x03` R`@\x90\x81\x90 \x80T\x87\x01\x90UQ\x90\x91\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x04\x95\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\x14a\x04\xDEWa\x04\xD9a\t=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\x08`WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\x08\xC6W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06~V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\tn\x91\x90a\x0C\xA6V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[\x80`\x02`\0\x82\x82Ta\t\xE8\x91\x90a\r|V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\n{W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\n_V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xDEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xF6W`\0\x80\xFD[a\n\xFF\x83a\n\xBAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0B\"W`\0\x80\xFD[a\x0B+\x84a\n\xBAV[\x92Pa\x0B9` \x85\x01a\n\xBAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0B[W`\0\x80\xFD[a\x0Bd\x82a\n\xBAV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0B\x86W`\0\x80\xFD[a\x0B\x8F\x88a\n\xBAV[\x96Pa\x0B\x9D` \x89\x01a\n\xBAV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0B\xC1W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0B\xF1W`\0\x80\xFD[a\x0B\xFA\x83a\n\xBAV[\x91Pa\x0C\x08` \x84\x01a\n\xBAV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C%W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C^W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x03^Wa\x03^a\x0CdV[`\0\x80\x83T\x81`\x01\x82\x81\x1C\x91P\x80\x83\x16\x80a\x0C\xC2W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0C\xFAW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\r\x0EW`\x01\x81\x14a\rAWa\rnV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\rnV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\rfW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\rMV[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03^Wa\x03^a\x0CdV\xFE\xA2dipfsX\"\x12 \xDB;\x8B\xC7h\xFC\xCB3^\xF9\x12\x0F\x93Q\x1Dx\xDBt),\x03\xB31\xE1QV\x0Bu\x1Dd\xFC\xA8dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x11\xCF\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xDFW`\x005`\xE0\x1C\x80c6D\xE5\x15\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x01\xD2W\x80c\xA9\x05\x9C\xBB\x14a\x01\xDAW\x80c\xD5\x05\xAC\xCF\x14a\x01\xEDW\x80c\xDDb\xED>\x14a\x02\0W`\0\x80\xFD[\x80c6D\xE5\x15\x14a\x01tW\x80cp\xA0\x821\x14a\x01|W\x80c~\xCE\xBE\0\x14a\x01\xB2W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\0\xBDW\x80c\x18\x16\r\xDD\x14a\x01:W\x80c#\xB8r\xDD\x14a\x01LW\x80c1<\xE5g\x14a\x01_W`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xE4W\x80c\t^\xA7\xB3\x14a\x01\x02W\x80c\x16$\xF6\xC6\x14a\x01%W[`\0\x80\xFD[a\0\xECa\x02FV[`@Qa\0\xF9\x91\x90a\x0B\xA7V[`@Q\x80\x91\x03\x90\xF3[a\x01\x15a\x01\x106`\x04a\x0C=V[a\x02\xD8V[`@Q\x90\x15\x15\x81R` \x01a\0\xF9V[a\x018a\x0136`\x04a\rRV[a\x03RV[\0[`\x03T[`@Q\x90\x81R` \x01a\0\xF9V[a\x01\x15a\x01Z6`\x04a\r\xC6V[a\x04QV[`\x02T`@Q`\xFF\x90\x91\x16\x81R` \x01a\0\xF9V[a\x01>a\x05\xC5V[a\x01>a\x01\x8A6`\x04a\x0E\x02V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x04` R`@\x90 T\x90V[a\x01>a\x01\xC06`\x04a\x0E\x02V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[a\0\xECa\x05\xEBV[a\x01\x15a\x01\xE86`\x04a\x0C=V[a\x05\xFAV[a\x018a\x01\xFB6`\x04a\x0E\x1DV[a\x06\xABV[a\x01>a\x02\x0E6`\x04a\x0E\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\0\x80Ta\x02U\x90a\x0E\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x81\x90a\x0E\xBAV[\x80\x15a\x02\xCEW\x80`\x1F\x10a\x02\xA3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xCEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xB1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03@\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[`\tT`\xFF\x16\x15a\x03\xC4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xD0\x84\x82a\x0F^V[P`\x01a\x03\xDD\x83\x82a\x0F^V[P`\x02\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\xFF\x83\x16\x17\x90Ua\x04\x13a\t\xF1V[`\x06Ua\x04\x1Ea\n\nV[`\x07UPP`\t\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x04\xE5Wa\x04\xB3\x81\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x04` R`@\x90 Ta\x05\x15\x90\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x04` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x05Q\x90\x84a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x86\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x90\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x05\xB2\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0`\x06Ta\x05\xD2a\t\xF1V[\x14a\x05\xE4Wa\x05\xDFa\n\nV[\x90P\x90V[P`\x07T\x90V[```\x01\x80Ta\x02U\x90a\x0E\xBAV[3`\0\x90\x81R`\x04` R`@\x81 Ta\x06\x14\x90\x83a\n\xADV[3`\0\x90\x81R`\x04` R`@\x80\x82 \x92\x90\x92Us\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R Ta\x06M\x90\x83a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x92\x90\x92U\x90Q3\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x03@\x90\x86\x81R` \x01\x90V[B\x84\x10\x15a\x07\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FPERMIT_DEADLINE_EXPIRED\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[`\0`\x01a\x07!a\x05\xC5V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16`\0\x90\x81R`\x08` R`@\x81 \x80T\x7Fnq\xED\xAE\x12\xB1\xB9\x7FM\x1F`7\x0F\xEF\x10\x10_\xA2\xFA\xAE\x01&\x11J\x16\x9Cd\x84]a&\xC9\x92\x8D\x92\x8D\x92\x8D\x92\x90\x91\x90a\x07|\x83a\x10\xA7V[\x90\x91UP`@\x80Q` \x81\x01\x96\x90\x96Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x90\x86\x01R\x92\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x81\x01\x88\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q` \x01a\x08\x1D\x92\x91\x90\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x87\x16\x90\x82\x01R``\x81\x01\x85\x90R`\x80\x81\x01\x84\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x08\x99W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x14WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\tzW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x8B\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x8A\x90UQ\x89\x81R\x91\x92\x8B\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPPV[`\0a\x0B\xA3\x80a\n\x03c\xFF\xFF\xFF\xFF\x82\x16V[\x92PPP\x90V[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\n<\x91\x90a\x10\xDFV[`@Q\x80\x91\x03\x90 \x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6a\nma\t\xF1V[`@\x80Q` \x81\x01\x95\x90\x95R\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0\x81\x83\x10\x15a\x0B\x19W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FERC20: subtraction underflow\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[a\x0B#\x82\x84a\x11sV[\x93\x92PPPV[`\0\x80a\x0B7\x83\x85a\x11\x86V[\x90P\x83\x81\x10\x15a\x0B#W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FERC20: addition overflow\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[F\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0B\xD5W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0B\xB9V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[a\x0CY\x83a\x0C\x14V[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0C\xA7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xC2Wa\x0C\xC2a\x0CgV[`@Q`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\r\x08Wa\r\x08a\x0CgV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\r!W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[\x805`\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\rgW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x7FW`\0\x80\xFD[a\r\x8B\x87\x83\x88\x01a\x0C\x96V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\r\xA1W`\0\x80\xFD[Pa\r\xAE\x86\x82\x87\x01a\x0C\x96V[\x92PPa\r\xBD`@\x85\x01a\rAV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a\r\xDBW`\0\x80\xFD[a\r\xE4\x84a\x0C\x14V[\x92Pa\r\xF2` \x85\x01a\x0C\x14V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0E\x14W`\0\x80\xFD[a\x0B#\x82a\x0C\x14V[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0E8W`\0\x80\xFD[a\x0EA\x88a\x0C\x14V[\x96Pa\x0EO` \x89\x01a\x0C\x14V[\x95P`@\x88\x015\x94P``\x88\x015\x93Pa\x0Ek`\x80\x89\x01a\rAV[\x92P`\xA0\x88\x015\x91P`\xC0\x88\x015\x90P\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0E\x9AW`\0\x80\xFD[a\x0E\xA3\x83a\x0C\x14V[\x91Pa\x0E\xB1` \x84\x01a\x0C\x14V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0E\xCEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0F\x07W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x0FYW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x0F6WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x0FUW\x82\x81U`\x01\x01a\x0FBV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0FxWa\x0Fxa\x0CgV[a\x0F\x8C\x81a\x0F\x86\x84Ta\x0E\xBAV[\x84a\x0F\rV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x0F\xDFW`\0\x84\x15a\x0F\xA9WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x0FUV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x10,W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x10\rV[P\x85\x82\x10\x15a\x10hW\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x10\xD8Wa\x10\xD8a\x10xV[P`\x01\x01\x90V[`\0\x80\x83Ta\x10\xED\x81a\x0E\xBAV[`\x01\x82\x81\x16\x80\x15a\x11\x05W`\x01\x81\x14a\x118Wa\x11gV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x11gV[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x11^W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x11EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03LWa\x03La\x10xV[\x80\x82\x01\x80\x82\x11\x15a\x03LWa\x03La\x10xV\xFE\xA2dipfsX\"\x12 \xDB7>&\xC9x`v\xF1h\xDC\xAAk\xF4_\xEC\xA2\x95\xD2O=z\xAE\x9D\xADwl9c]\xE6ndsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKERC20_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80ca\xF4\x9E\xD6\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x03W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0BW\x80c\xD5\x05\xAC\xCF\x14a\x02\x1EW\x80c\xDDb\xED>\x14a\x021W`\0\x80\xFD[\x80ca\xF4\x9E\xD6\x14a\x01\xB0W\x80cp\xA0\x821\x14a\x01\xC3W\x80c~\xCE\xBE\0\x14a\x01\xE3W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01GW\x80c1<\xE5g\x14a\x01ZW\x80c6D\xE5\x15\x14a\x01\x93W\x80c@\xC1\x0F\x19\x14a\x01\x9BW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\\V[`@Qa\x01\x04\x91\x90a\nNV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\n\xE3V[a\x02\xEAV[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x019`\x02T\x81V[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01U6`\x04a\x0B\rV[a\x03dV[a\x01\x81\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\x019a\x04\xA8V[a\x01\xAEa\x01\xA96`\x04a\n\xE3V[a\x05\x03V[\0[a\x01 a\x01\xBE6`\x04a\x0B\rV[a\x05\x11V[a\x019a\x01\xD16`\x04a\x0BIV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x019a\x01\xF16`\x04a\x0BIV[`\x05` R`\0\x90\x81R`@\x90 T\x81V[a\0\xF7a\x05\x86V[a\x01 a\x02\x196`\x04a\n\xE3V[a\x05\x93V[a\x01\xAEa\x02,6`\x04a\x0BkV[a\x06\x18V[a\x019a\x02?6`\x04a\x0B\xDEV[`\x04` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`\0\x80Ta\x02i\x90a\x0C\x11V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x95\x90a\x0C\x11V[\x80\x15a\x02\xE2W\x80`\x1F\x10a\x02\xB7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xE2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xC5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\0\x81\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03R\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x03\xF8Wa\x03\xC6\x83\x82a\x0C\x93V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x04-\x90\x84\x90a\x0C\x93V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16`\0\x81\x81R`\x03` R`@\x90\x81\x90 \x80T\x87\x01\x90UQ\x90\x91\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x04\x95\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\x14a\x04\xDEWa\x04\xD9a\t=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\x08`WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\x08\xC6W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06~V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\tn\x91\x90a\x0C\xA6V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[\x80`\x02`\0\x82\x82Ta\t\xE8\x91\x90a\r|V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\n{W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\n_V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xDEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xF6W`\0\x80\xFD[a\n\xFF\x83a\n\xBAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0B\"W`\0\x80\xFD[a\x0B+\x84a\n\xBAV[\x92Pa\x0B9` \x85\x01a\n\xBAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0B[W`\0\x80\xFD[a\x0Bd\x82a\n\xBAV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0B\x86W`\0\x80\xFD[a\x0B\x8F\x88a\n\xBAV[\x96Pa\x0B\x9D` \x89\x01a\n\xBAV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0B\xC1W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0B\xF1W`\0\x80\xFD[a\x0B\xFA\x83a\n\xBAV[\x91Pa\x0C\x08` \x84\x01a\n\xBAV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C%W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C^W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x03^Wa\x03^a\x0CdV[`\0\x80\x83T\x81`\x01\x82\x81\x1C\x91P\x80\x83\x16\x80a\x0C\xC2W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0C\xFAW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\r\x0EW`\x01\x81\x14a\rAWa\rnV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\rnV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\rfW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\rMV[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03^Wa\x03^a\x0CdV\xFE\xA2dipfsX\"\x12 \xDB;\x8B\xC7h\xFC\xCB3^\xF9\x12\x0F\x93Q\x1Dx\xDBt),\x03\xB31\xE1QV\x0Bu\x1Dd\xFC\xA8dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xDFW`\x005`\xE0\x1C\x80c6D\xE5\x15\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x01\xD2W\x80c\xA9\x05\x9C\xBB\x14a\x01\xDAW\x80c\xD5\x05\xAC\xCF\x14a\x01\xEDW\x80c\xDDb\xED>\x14a\x02\0W`\0\x80\xFD[\x80c6D\xE5\x15\x14a\x01tW\x80cp\xA0\x821\x14a\x01|W\x80c~\xCE\xBE\0\x14a\x01\xB2W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\0\xBDW\x80c\x18\x16\r\xDD\x14a\x01:W\x80c#\xB8r\xDD\x14a\x01LW\x80c1<\xE5g\x14a\x01_W`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xE4W\x80c\t^\xA7\xB3\x14a\x01\x02W\x80c\x16$\xF6\xC6\x14a\x01%W[`\0\x80\xFD[a\0\xECa\x02FV[`@Qa\0\xF9\x91\x90a\x0B\xA7V[`@Q\x80\x91\x03\x90\xF3[a\x01\x15a\x01\x106`\x04a\x0C=V[a\x02\xD8V[`@Q\x90\x15\x15\x81R` \x01a\0\xF9V[a\x018a\x0136`\x04a\rRV[a\x03RV[\0[`\x03T[`@Q\x90\x81R` \x01a\0\xF9V[a\x01\x15a\x01Z6`\x04a\r\xC6V[a\x04QV[`\x02T`@Q`\xFF\x90\x91\x16\x81R` \x01a\0\xF9V[a\x01>a\x05\xC5V[a\x01>a\x01\x8A6`\x04a\x0E\x02V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x04` R`@\x90 T\x90V[a\x01>a\x01\xC06`\x04a\x0E\x02V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[a\0\xECa\x05\xEBV[a\x01\x15a\x01\xE86`\x04a\x0C=V[a\x05\xFAV[a\x018a\x01\xFB6`\x04a\x0E\x1DV[a\x06\xABV[a\x01>a\x02\x0E6`\x04a\x0E\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\0\x80Ta\x02U\x90a\x0E\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x81\x90a\x0E\xBAV[\x80\x15a\x02\xCEW\x80`\x1F\x10a\x02\xA3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xCEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xB1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03@\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[`\tT`\xFF\x16\x15a\x03\xC4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xD0\x84\x82a\x0F^V[P`\x01a\x03\xDD\x83\x82a\x0F^V[P`\x02\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\xFF\x83\x16\x17\x90Ua\x04\x13a\t\xF1V[`\x06Ua\x04\x1Ea\n\nV[`\x07UPP`\t\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x04\xE5Wa\x04\xB3\x81\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x04` R`@\x90 Ta\x05\x15\x90\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x04` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x05Q\x90\x84a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x86\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x90\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x05\xB2\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0`\x06Ta\x05\xD2a\t\xF1V[\x14a\x05\xE4Wa\x05\xDFa\n\nV[\x90P\x90V[P`\x07T\x90V[```\x01\x80Ta\x02U\x90a\x0E\xBAV[3`\0\x90\x81R`\x04` R`@\x81 Ta\x06\x14\x90\x83a\n\xADV[3`\0\x90\x81R`\x04` R`@\x80\x82 \x92\x90\x92Us\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R Ta\x06M\x90\x83a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x92\x90\x92U\x90Q3\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x03@\x90\x86\x81R` \x01\x90V[B\x84\x10\x15a\x07\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FPERMIT_DEADLINE_EXPIRED\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[`\0`\x01a\x07!a\x05\xC5V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16`\0\x90\x81R`\x08` R`@\x81 \x80T\x7Fnq\xED\xAE\x12\xB1\xB9\x7FM\x1F`7\x0F\xEF\x10\x10_\xA2\xFA\xAE\x01&\x11J\x16\x9Cd\x84]a&\xC9\x92\x8D\x92\x8D\x92\x8D\x92\x90\x91\x90a\x07|\x83a\x10\xA7V[\x90\x91UP`@\x80Q` \x81\x01\x96\x90\x96Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x90\x86\x01R\x92\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x81\x01\x88\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q` \x01a\x08\x1D\x92\x91\x90\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x87\x16\x90\x82\x01R``\x81\x01\x85\x90R`\x80\x81\x01\x84\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x08\x99W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x14WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\tzW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x8B\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x8A\x90UQ\x89\x81R\x91\x92\x8B\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPPV[`\0a\x0B\xA3\x80a\n\x03c\xFF\xFF\xFF\xFF\x82\x16V[\x92PPP\x90V[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\n<\x91\x90a\x10\xDFV[`@Q\x80\x91\x03\x90 \x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6a\nma\t\xF1V[`@\x80Q` \x81\x01\x95\x90\x95R\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0\x81\x83\x10\x15a\x0B\x19W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FERC20: subtraction underflow\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[a\x0B#\x82\x84a\x11sV[\x93\x92PPPV[`\0\x80a\x0B7\x83\x85a\x11\x86V[\x90P\x83\x81\x10\x15a\x0B#W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FERC20: addition overflow\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[F\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0B\xD5W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0B\xB9V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[a\x0CY\x83a\x0C\x14V[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0C\xA7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xC2Wa\x0C\xC2a\x0CgV[`@Q`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\r\x08Wa\r\x08a\x0CgV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\r!W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[\x805`\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\rgW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x7FW`\0\x80\xFD[a\r\x8B\x87\x83\x88\x01a\x0C\x96V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\r\xA1W`\0\x80\xFD[Pa\r\xAE\x86\x82\x87\x01a\x0C\x96V[\x92PPa\r\xBD`@\x85\x01a\rAV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a\r\xDBW`\0\x80\xFD[a\r\xE4\x84a\x0C\x14V[\x92Pa\r\xF2` \x85\x01a\x0C\x14V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0E\x14W`\0\x80\xFD[a\x0B#\x82a\x0C\x14V[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0E8W`\0\x80\xFD[a\x0EA\x88a\x0C\x14V[\x96Pa\x0EO` \x89\x01a\x0C\x14V[\x95P`@\x88\x015\x94P``\x88\x015\x93Pa\x0Ek`\x80\x89\x01a\rAV[\x92P`\xA0\x88\x015\x91P`\xC0\x88\x015\x90P\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0E\x9AW`\0\x80\xFD[a\x0E\xA3\x83a\x0C\x14V[\x91Pa\x0E\xB1` \x84\x01a\x0C\x14V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0E\xCEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0F\x07W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x0FYW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x0F6WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x0FUW\x82\x81U`\x01\x01a\x0FBV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0FxWa\x0Fxa\x0CgV[a\x0F\x8C\x81a\x0F\x86\x84Ta\x0E\xBAV[\x84a\x0F\rV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x0F\xDFW`\0\x84\x15a\x0F\xA9WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x0FUV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x10,W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x10\rV[P\x85\x82\x10\x15a\x10hW\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x10\xD8Wa\x10\xD8a\x10xV[P`\x01\x01\x90V[`\0\x80\x83Ta\x10\xED\x81a\x0E\xBAV[`\x01\x82\x81\x16\x80\x15a\x11\x05W`\x01\x81\x14a\x118Wa\x11gV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x11gV[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x11^W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x11EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03LWa\x03La\x10xV[\x80\x82\x01\x80\x82\x11\x15a\x03LWa\x03La\x10xV\xFE\xA2dipfsX\"\x12 \xDB7>&\xC9x`v\xF1h\xDC\xAAk\xF4_\xEC\xA2\x95\xD2O=z\xAE\x9D\xADwl9c]\xE6ndsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockERC20(::ethers::contract::Contract); impl ::core::clone::Clone for MockERC20 { fn clone(&self) -> Self { @@ -505,9 +537,7 @@ pub mod mock_erc20 { } impl ::core::fmt::Debug for MockERC20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockERC20)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(MockERC20)).field(&self.address()).finish() } } impl MockERC20 { @@ -517,11 +547,13 @@ pub mod mock_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKERC20_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKERC20_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -563,7 +595,9 @@ pub mod mock_erc20 { Ok(deployer) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -571,11 +605,11 @@ pub mod mock_erc20 { ///Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, - p0: ::ethers::core::types::Address, - p1: ::ethers::core::types::Address, + owner: ::ethers::core::types::Address, + spender: ::ethers::core::types::Address, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([221, 98, 237, 62], (p0, p1)) + .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } ///Calls the contract's `approve` (0x095ea7b3) function @@ -591,10 +625,10 @@ pub mod mock_erc20 { ///Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, - p0: ::ethers::core::types::Address, + owner: ::ethers::core::types::Address, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([112, 160, 130, 49], p0) + .method_hash([112, 160, 130, 49], owner) .expect("method not found (this should never happen)") } ///Calls the contract's `decimals` (0x313ce567) function @@ -603,29 +637,21 @@ pub mod mock_erc20 { .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `forceApprove` (0x61f49ed6) function - pub fn force_approve( + ///Calls the contract's `initialize` (0x1624f6c6) function + pub fn initialize( &self, - from: ::ethers::core::types::Address, - to: ::ethers::core::types::Address, - amount: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([97, 244, 158, 214], (from, to, amount)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `mint` (0x40c10f19) function - pub fn mint( - &self, - to: ::ethers::core::types::Address, - amount: ::ethers::core::types::U256, + name: ::std::string::String, + symbol: ::std::string::String, + decimals: u8, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([64, 193, 15, 25], (to, amount)) + .method_hash([22, 36, 246, 198], (name, symbol, decimals)) .expect("method not found (this should never happen)") } ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") @@ -697,24 +723,36 @@ pub mod mock_erc20 { ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MockERC20Events> { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + MockERC20Events, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for MockERC20 { + impl From<::ethers::contract::Contract> + for MockERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -723,11 +761,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -735,17 +775,19 @@ pub mod mock_erc20 { pub owner: ::ethers::core::types::Address, #[ethevent(indexed)] pub spender: ::ethers::core::types::Address, - pub amount: ::ethers::core::types::U256, + pub value: ::ethers::core::types::U256, } #[derive( Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -753,10 +795,19 @@ pub mod mock_erc20 { pub from: ::ethers::core::types::Address, #[ethevent(indexed)] pub to: ::ethers::core::types::Address, - pub amount: ::ethers::core::types::U256, + pub value: ::ethers::core::types::U256, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockERC20Events { ApprovalFilter(ApprovalFilter), TransferFilter(TransferFilter), @@ -797,11 +848,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -810,27 +863,31 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] - pub struct AllowanceCall( - pub ::ethers::core::types::Address, - pub ::ethers::core::types::Address, - ); + pub struct AllowanceCall { + pub owner: ::ethers::core::types::Address, + pub spender: ::ethers::core::types::Address, + } ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { @@ -842,70 +899,64 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] - pub struct BalanceOfCall(pub ::ethers::core::types::Address); + pub struct BalanceOfCall { + pub owner: ::ethers::core::types::Address, + } ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - ///Container type for all input parameters for the `forceApprove` function with signature `forceApprove(address,address,uint256)` and selector `0x61f49ed6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "forceApprove", abi = "forceApprove(address,address,uint256)")] - pub struct ForceApproveCall { - pub from: ::ethers::core::types::Address, - pub to: ::ethers::core::types::Address, - pub amount: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` + ///Container type for all input parameters for the `initialize` function with signature `initialize(string,string,uint8)` and selector `0x1624f6c6` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] - #[ethcall(name = "mint", abi = "mint(address,uint256)")] - pub struct MintCall { - pub to: ::ethers::core::types::Address, - pub amount: ::ethers::core::types::U256, + #[ethcall(name = "initialize", abi = "initialize(string,string,uint8)")] + pub struct InitializeCall { + pub name: ::std::string::String, + pub symbol: ::std::string::String, + pub decimals: u8, } ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; @@ -914,11 +965,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "nonces", abi = "nonces(address)")] pub struct NoncesCall(pub ::ethers::core::types::Address); @@ -927,11 +980,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -951,11 +1006,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; @@ -964,11 +1021,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; @@ -977,11 +1036,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { @@ -993,11 +1054,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1006,15 +1069,23 @@ pub mod mock_erc20 { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockERC20Calls { DomainSeparator(DomainSeparatorCall), Allowance(AllowanceCall), Approve(ApproveCall), BalanceOf(BalanceOfCall), Decimals(DecimalsCall), - ForceApprove(ForceApproveCall), - Mint(MintCall), + Initialize(InitializeCall), Name(NameCall), Nonces(NoncesCall), Permit(PermitCall), @@ -1028,50 +1099,69 @@ pub mod mock_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ForceApprove(decoded)); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Initialize(decoded)); } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::Mint(decoded)); - } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Nonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1080,20 +1170,35 @@ pub mod mock_erc20 { impl ::ethers::core::abi::AbiEncode for MockERC20Calls { fn encode(self) -> Vec { match self { - Self::DomainSeparator(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::DomainSeparator(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ForceApprove(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Initialize(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Nonces(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -1105,8 +1210,7 @@ pub mod mock_erc20 { Self::Approve(element) => ::core::fmt::Display::fmt(element, f), Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), - Self::ForceApprove(element) => ::core::fmt::Display::fmt(element, f), - Self::Mint(element) => ::core::fmt::Display::fmt(element, f), + Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), Self::Name(element) => ::core::fmt::Display::fmt(element, f), Self::Nonces(element) => ::core::fmt::Display::fmt(element, f), Self::Permit(element) => ::core::fmt::Display::fmt(element, f), @@ -1142,14 +1246,9 @@ pub mod mock_erc20 { Self::Decimals(value) } } - impl ::core::convert::From for MockERC20Calls { - fn from(value: ForceApproveCall) -> Self { - Self::ForceApprove(value) - } - } - impl ::core::convert::From for MockERC20Calls { - fn from(value: MintCall) -> Self { - Self::Mint(value) + impl ::core::convert::From for MockERC20Calls { + fn from(value: InitializeCall) -> Self { + Self::Initialize(value) } } impl ::core::convert::From for MockERC20Calls { @@ -1192,11 +1291,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` @@ -1204,11 +1305,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` @@ -1216,11 +1319,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` @@ -1228,11 +1333,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` @@ -1240,35 +1347,27 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `forceApprove` function with signature `forceApprove(address,address,uint256)` and selector `0x61f49ed6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ForceApproveReturn(pub bool); ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); ///Container type for all return fields from the `nonces` function with signature `nonces(address)` and selector `0x7ecebe00` @@ -1276,11 +1375,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NoncesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` @@ -1288,11 +1389,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` @@ -1300,11 +1403,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` @@ -1312,11 +1417,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` @@ -1324,11 +1431,13 @@ pub mod mock_erc20 { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/bindings-uniswapx/src/mock_erc721.rs b/crates/bindings-uniswapx/src/mock_erc721.rs new file mode 100644 index 0000000..bd8ddcd --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_erc721.rs @@ -0,0 +1,1529 @@ +pub use mock_erc721::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_erc721 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getApproved"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getApproved"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("initialize"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("initialize"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("name_"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("symbol_"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("isApprovedForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("name"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ownerOf"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ownerOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("safeTransferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("supportsInterface"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("supportsInterface"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("interfaceId"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 4usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes4"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("symbol"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("tokenURI"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("tokenURI"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("id"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("ApprovalForAll"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_operator"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_approved"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("_tokenId"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKERC721_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x14\x9F\x80a\0 `\09`\0\xF3\xFE`\x80`@R`\x046\x10a\0\xDDW`\x005`\xE0\x1C\x80ccR!\x1E\x11a\0\x7FW\x80c\xA2,\xB4e\x11a\0YW\x80c\xA2,\xB4e\x14a\x02_W\x80c\xB8\x8DO\xDE\x14a\x02\x7FW\x80c\xC8{V\xDD\x14a\x02\x92W\x80c\xE9\x85\xE9\xC5\x14a\x02\xB3W`\0\x80\xFD[\x80ccR!\x1E\x14a\x01\xFCW\x80cp\xA0\x821\x14a\x02\x1CW\x80c\x95\xD8\x9BA\x14a\x02JW`\0\x80\xFD[\x80c\t^\xA7\xB3\x11a\0\xBBW\x80c\t^\xA7\xB3\x14a\x01\xA1W\x80c#\xB8r\xDD\x14a\x01\xB6W\x80cB\x84.\x0E\x14a\x01\xC9W\x80cL\xD8\x8Bv\x14a\x01\xDCW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\xE2W\x80c\x06\xFD\xDE\x03\x14a\x01\x17W\x80c\x08\x18\x12\xFC\x14a\x019W[`\0\x80\xFD[4\x80\x15a\0\xEEW`\0\x80\xFD[Pa\x01\x02a\0\xFD6`\x04a\x0E\x1FV[a\x03\tV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01#W`\0\x80\xFD[Pa\x01,a\x03\xEEV[`@Qa\x01\x0E\x91\x90a\x0E\xA7V[4\x80\x15a\x01EW`\0\x80\xFD[Pa\x01|a\x01T6`\x04a\x0E\xBAV[`\0\x90\x81R`\x04` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x0EV[a\x01\xB4a\x01\xAF6`\x04a\x0E\xF7V[a\x04\x80V[\0[a\x01\xB4a\x01\xC46`\x04a\x0F!V[a\x05\xCFV[a\x01\xB4a\x01\xD76`\x04a\x0F!V[a\x08\xC4V[4\x80\x15a\x01\xE8W`\0\x80\xFD[Pa\x01\xB4a\x01\xF76`\x04a\x10@V[a\n\x18V[4\x80\x15a\x02\x08W`\0\x80\xFD[Pa\x01|a\x02\x176`\x04a\x0E\xBAV[a\n\xCEV[4\x80\x15a\x02(W`\0\x80\xFD[Pa\x02=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x89\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\n\x13W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPV[`\x06T`\xFF\x16\x15a\n\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[`\0a\n\x91\x83\x82a\x13\x06V[P`\x01a\n\x9E\x82\x82a\x13\x06V[PP`\x06\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[`\0\x81\x81R`\x02` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x80a\x0BZW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\n`$\x82\x01R\x7FNOT_MINTED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[\x91\x90PV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\xDEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FZERO_ADDRESS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x03` R`@\x90 T\x90V[```\x01\x80Ta\x03\xFD\x90a\x11\xAAV[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x90\x83R\x92\x81\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x86\x15\x15\x90\x81\x17\x90\x91U\x90Q\x90\x81R\x91\x92\x91\x7F\x170~\xAB9\xABa\x07\xE8\x89\x98E\xAD=Y\xBD\x96S\xF2\0\xF2 \x92\x04\x89\xCA+Y7il1\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[a\x0C\xB8\x84\x84\x84a\x05\xCFV[\x82;\x15\x80a\r\x82WP`@Q\x7F\x15\x0Bz\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x82R\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x15\x0Bz\x02\x90a\r\x1B\x903\x90\x89\x90\x88\x90\x88\x90`\x04\x01a\x14 V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\r:W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r^\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\r\xE8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPPV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x0E\x1CW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0E1W`\0\x80\xFD[\x815a\x0E<\x81a\r\xEEV[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0EiW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0EMV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a\x0E<` \x83\x01\x84a\x0ECV[`\0` \x82\x84\x03\x12\x15a\x0E\xCCW`\0\x80\xFD[P5\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0BZW`\0\x80\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x0F\nW`\0\x80\xFD[a\x0F\x13\x83a\x0E\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F6W`\0\x80\xFD[a\x0F?\x84a\x0E\xD3V[\x92Pa\x0FM` \x85\x01a\x0E\xD3V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x84\x11\x15a\x0F\xA7Wa\x0F\xA7a\x0F]V[`@Q`\x1F\x85\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x0F\xEDWa\x0F\xEDa\x0F]V[\x81`@R\x80\x93P\x85\x81R\x86\x86\x86\x01\x11\x15a\x10\x06W`\0\x80\xFD[\x85\x85` \x83\x017`\0` \x87\x83\x01\x01RPPP\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x101W`\0\x80\xFD[a\x0E<\x83\x835` \x85\x01a\x0F\x8CV[`\0\x80`@\x83\x85\x03\x12\x15a\x10SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10kW`\0\x80\xFD[a\x10w\x86\x83\x87\x01a\x10 V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x10\x8DW`\0\x80\xFD[Pa\x10\x9A\x85\x82\x86\x01a\x10 V[\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x10\xB6W`\0\x80\xFD[a\x0E<\x82a\x0E\xD3V[`\0\x80`@\x83\x85\x03\x12\x15a\x10\xD2W`\0\x80\xFD[a\x10\xDB\x83a\x0E\xD3V[\x91P` \x83\x015\x80\x15\x15\x81\x14a\x10\xF0W`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x11\x11W`\0\x80\xFD[a\x11\x1A\x85a\x0E\xD3V[\x93Pa\x11(` \x86\x01a\x0E\xD3V[\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11KW`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a\x11\\W`\0\x80\xFD[a\x11k\x87\x825` \x84\x01a\x0F\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a\x11\x8AW`\0\x80\xFD[a\x11\x93\x83a\x0E\xD3V[\x91Pa\x11\xA1` \x84\x01a\x0E\xD3V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x11\xBEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x11\xF7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x81a\x12;Wa\x12;a\x11\xFDV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x12\x92Wa\x12\x92a\x11\xFDV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x12\xABW`\0\x80\xFD[\x81Qa\x0E<\x81a\r\xEEV[`\x1F\x82\x11\x15a\n\x13W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x12\xDFWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x12\xFEW\x82\x81U`\x01\x01a\x12\xEBV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13 Wa\x13 a\x0F]V[a\x134\x81a\x13.\x84Ta\x11\xAAV[\x84a\x12\xB6V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x13\x87W`\0\x84\x15a\x13QWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x12\xFEV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x13\xD4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x13\xB5V[P\x85\x82\x10\x15a\x14\x10W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16\x83R\x80\x86\x16` \x84\x01RP\x83`@\x83\x01R`\x80``\x83\x01Ra\x14_`\x80\x83\x01\x84a\x0ECV[\x96\x95PPPPPPV\xFE\xA2dipfsX\"\x12 {Rh\xE62c\xAF\xF1\xF3u\rO\x8E\x9F\x03/\xE1S\xBDV\xF1\xFA\x01\x07\xDC\x16e\xD7\x15\xB3\xB5\xBFdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKERC721_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\xDDW`\x005`\xE0\x1C\x80ccR!\x1E\x11a\0\x7FW\x80c\xA2,\xB4e\x11a\0YW\x80c\xA2,\xB4e\x14a\x02_W\x80c\xB8\x8DO\xDE\x14a\x02\x7FW\x80c\xC8{V\xDD\x14a\x02\x92W\x80c\xE9\x85\xE9\xC5\x14a\x02\xB3W`\0\x80\xFD[\x80ccR!\x1E\x14a\x01\xFCW\x80cp\xA0\x821\x14a\x02\x1CW\x80c\x95\xD8\x9BA\x14a\x02JW`\0\x80\xFD[\x80c\t^\xA7\xB3\x11a\0\xBBW\x80c\t^\xA7\xB3\x14a\x01\xA1W\x80c#\xB8r\xDD\x14a\x01\xB6W\x80cB\x84.\x0E\x14a\x01\xC9W\x80cL\xD8\x8Bv\x14a\x01\xDCW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\xE2W\x80c\x06\xFD\xDE\x03\x14a\x01\x17W\x80c\x08\x18\x12\xFC\x14a\x019W[`\0\x80\xFD[4\x80\x15a\0\xEEW`\0\x80\xFD[Pa\x01\x02a\0\xFD6`\x04a\x0E\x1FV[a\x03\tV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01#W`\0\x80\xFD[Pa\x01,a\x03\xEEV[`@Qa\x01\x0E\x91\x90a\x0E\xA7V[4\x80\x15a\x01EW`\0\x80\xFD[Pa\x01|a\x01T6`\x04a\x0E\xBAV[`\0\x90\x81R`\x04` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x0EV[a\x01\xB4a\x01\xAF6`\x04a\x0E\xF7V[a\x04\x80V[\0[a\x01\xB4a\x01\xC46`\x04a\x0F!V[a\x05\xCFV[a\x01\xB4a\x01\xD76`\x04a\x0F!V[a\x08\xC4V[4\x80\x15a\x01\xE8W`\0\x80\xFD[Pa\x01\xB4a\x01\xF76`\x04a\x10@V[a\n\x18V[4\x80\x15a\x02\x08W`\0\x80\xFD[Pa\x01|a\x02\x176`\x04a\x0E\xBAV[a\n\xCEV[4\x80\x15a\x02(W`\0\x80\xFD[Pa\x02=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x89\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\n\x13W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPV[`\x06T`\xFF\x16\x15a\n\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[`\0a\n\x91\x83\x82a\x13\x06V[P`\x01a\n\x9E\x82\x82a\x13\x06V[PP`\x06\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[`\0\x81\x81R`\x02` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x80a\x0BZW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\n`$\x82\x01R\x7FNOT_MINTED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[\x91\x90PV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\xDEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FZERO_ADDRESS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x03` R`@\x90 T\x90V[```\x01\x80Ta\x03\xFD\x90a\x11\xAAV[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x90\x83R\x92\x81\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x86\x15\x15\x90\x81\x17\x90\x91U\x90Q\x90\x81R\x91\x92\x91\x7F\x170~\xAB9\xABa\x07\xE8\x89\x98E\xAD=Y\xBD\x96S\xF2\0\xF2 \x92\x04\x89\xCA+Y7il1\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[a\x0C\xB8\x84\x84\x84a\x05\xCFV[\x82;\x15\x80a\r\x82WP`@Q\x7F\x15\x0Bz\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x82R\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x15\x0Bz\x02\x90a\r\x1B\x903\x90\x89\x90\x88\x90\x88\x90`\x04\x01a\x14 V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\r:W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r^\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\r\xE8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPPV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x0E\x1CW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0E1W`\0\x80\xFD[\x815a\x0E<\x81a\r\xEEV[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0EiW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0EMV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a\x0E<` \x83\x01\x84a\x0ECV[`\0` \x82\x84\x03\x12\x15a\x0E\xCCW`\0\x80\xFD[P5\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0BZW`\0\x80\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x0F\nW`\0\x80\xFD[a\x0F\x13\x83a\x0E\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F6W`\0\x80\xFD[a\x0F?\x84a\x0E\xD3V[\x92Pa\x0FM` \x85\x01a\x0E\xD3V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x84\x11\x15a\x0F\xA7Wa\x0F\xA7a\x0F]V[`@Q`\x1F\x85\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x0F\xEDWa\x0F\xEDa\x0F]V[\x81`@R\x80\x93P\x85\x81R\x86\x86\x86\x01\x11\x15a\x10\x06W`\0\x80\xFD[\x85\x85` \x83\x017`\0` \x87\x83\x01\x01RPPP\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x101W`\0\x80\xFD[a\x0E<\x83\x835` \x85\x01a\x0F\x8CV[`\0\x80`@\x83\x85\x03\x12\x15a\x10SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10kW`\0\x80\xFD[a\x10w\x86\x83\x87\x01a\x10 V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x10\x8DW`\0\x80\xFD[Pa\x10\x9A\x85\x82\x86\x01a\x10 V[\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x10\xB6W`\0\x80\xFD[a\x0E<\x82a\x0E\xD3V[`\0\x80`@\x83\x85\x03\x12\x15a\x10\xD2W`\0\x80\xFD[a\x10\xDB\x83a\x0E\xD3V[\x91P` \x83\x015\x80\x15\x15\x81\x14a\x10\xF0W`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x11\x11W`\0\x80\xFD[a\x11\x1A\x85a\x0E\xD3V[\x93Pa\x11(` \x86\x01a\x0E\xD3V[\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11KW`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a\x11\\W`\0\x80\xFD[a\x11k\x87\x825` \x84\x01a\x0F\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a\x11\x8AW`\0\x80\xFD[a\x11\x93\x83a\x0E\xD3V[\x91Pa\x11\xA1` \x84\x01a\x0E\xD3V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x11\xBEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x11\xF7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x81a\x12;Wa\x12;a\x11\xFDV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x12\x92Wa\x12\x92a\x11\xFDV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x12\xABW`\0\x80\xFD[\x81Qa\x0E<\x81a\r\xEEV[`\x1F\x82\x11\x15a\n\x13W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x12\xDFWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x12\xFEW\x82\x81U`\x01\x01a\x12\xEBV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13 Wa\x13 a\x0F]V[a\x134\x81a\x13.\x84Ta\x11\xAAV[\x84a\x12\xB6V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x13\x87W`\0\x84\x15a\x13QWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x12\xFEV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x13\xD4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x13\xB5V[P\x85\x82\x10\x15a\x14\x10W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16\x83R\x80\x86\x16` \x84\x01RP\x83`@\x83\x01R`\x80``\x83\x01Ra\x14_`\x80\x83\x01\x84a\x0ECV[\x96\x95PPPPPPV\xFE\xA2dipfsX\"\x12 {Rh\xE62c\xAF\xF1\xF3u\rO\x8E\x9F\x03/\xE1S\xBDV\xF1\xFA\x01\x07\xDC\x16e\xD7\x15\xB3\xB5\xBFdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKERC721_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockERC721(::ethers::contract::Contract); + impl ::core::clone::Clone for MockERC721 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockERC721 { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockERC721 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockERC721 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockERC721)).field(&self.address()).finish() + } + } + impl MockERC721 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKERC721_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKERC721_ABI.clone(), + MOCKERC721_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + spender: ::ethers::core::types::Address, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (spender, id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], owner) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getApproved` (0x081812fc) function + pub fn get_approved( + &self, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([8, 24, 18, 252], id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `initialize` (0x4cd88b76) function + pub fn initialize( + &self, + name: ::std::string::String, + symbol: ::std::string::String, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([76, 216, 139, 118], (name, symbol)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `isApprovedForAll` (0xe985e9c5) function + pub fn is_approved_for_all( + &self, + owner: ::ethers::core::types::Address, + operator: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([233, 133, 233, 197], (owner, operator)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([6, 253, 222, 3], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `ownerOf` (0x6352211e) function + pub fn owner_of( + &self, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([99, 82, 33, 30], id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0x42842e0e) function + pub fn safe_transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([66, 132, 46, 14], (from, to, id)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `safeTransferFrom` (0xb88d4fde) function + pub fn safe_transfer_from_with_from_and_to_and_data( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + id: ::ethers::core::types::U256, + data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([184, 141, 79, 222], (from, to, id, data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setApprovalForAll` (0xa22cb465) function + pub fn set_approval_for_all( + &self, + operator: ::ethers::core::types::Address, + approved: bool, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([162, 44, 180, 101], (operator, approved)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `supportsInterface` (0x01ffc9a7) function + pub fn supports_interface( + &self, + interface_id: [u8; 4], + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([1, 255, 201, 167], interface_id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `symbol` (0x95d89b41) function + pub fn symbol( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([149, 216, 155, 65], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `tokenURI` (0xc87b56dd) function + pub fn token_uri( + &self, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([200, 123, 86, 221], id) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + id: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, id)) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { + self.0.event() + } + ///Gets the contract's `ApprovalForAll` event + pub fn approval_for_all_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalForAllFilter, + > { + self.0.event() + } + ///Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + MockERC721Events, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for MockERC721 { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub approved: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "ApprovalForAll", abi = "ApprovalForAll(address,address,bool)")] + pub struct ApprovalForAllFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub token_id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockERC721Events { + ApprovalFilter(ApprovalFilter), + ApprovalForAllFilter(ApprovalForAllFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for MockERC721Events { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(MockERC721Events::ApprovalFilter(decoded)); + } + if let Ok(decoded) = ApprovalForAllFilter::decode_log(log) { + return Ok(MockERC721Events::ApprovalForAllFilter(decoded)); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(MockERC721Events::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for MockERC721Events { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::ApprovalForAllFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockERC721Events { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for MockERC721Events { + fn from(value: ApprovalForAllFilter) -> Self { + Self::ApprovalForAllFilter(value) + } + } + impl ::core::convert::From for MockERC721Events { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub spender: ::ethers::core::types::Address, + pub id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "getApproved", abi = "getApproved(uint256)")] + pub struct GetApprovedCall { + pub id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `initialize` function with signature `initialize(string,string)` and selector `0x4cd88b76` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "initialize", abi = "initialize(string,string)")] + pub struct InitializeCall { + pub name: ::std::string::String, + pub symbol: ::std::string::String, + } + ///Container type for all input parameters for the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "isApprovedForAll", abi = "isApprovedForAll(address,address)")] + pub struct IsApprovedForAllCall { + pub owner: ::ethers::core::types::Address, + pub operator: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "name", abi = "name()")] + pub struct NameCall; + ///Container type for all input parameters for the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "ownerOf", abi = "ownerOf(uint256)")] + pub struct OwnerOfCall { + pub id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256)` and selector `0x42842e0e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256)" + )] + pub struct SafeTransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `safeTransferFrom` function with signature `safeTransferFrom(address,address,uint256,bytes)` and selector `0xb88d4fde` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "safeTransferFrom", + abi = "safeTransferFrom(address,address,uint256,bytes)" + )] + pub struct SafeTransferFromWithFromAndToAndDataCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub id: ::ethers::core::types::U256, + pub data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `setApprovalForAll` function with signature `setApprovalForAll(address,bool)` and selector `0xa22cb465` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setApprovalForAll", abi = "setApprovalForAll(address,bool)")] + pub struct SetApprovalForAllCall { + pub operator: ::ethers::core::types::Address, + pub approved: bool, + } + ///Container type for all input parameters for the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "supportsInterface", abi = "supportsInterface(bytes4)")] + pub struct SupportsInterfaceCall { + pub interface_id: [u8; 4], + } + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "symbol", abi = "symbol()")] + pub struct SymbolCall; + ///Container type for all input parameters for the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "tokenURI", abi = "tokenURI(uint256)")] + pub struct TokenURICall { + pub id: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub id: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockERC721Calls { + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + GetApproved(GetApprovedCall), + Initialize(InitializeCall), + IsApprovedForAll(IsApprovedForAllCall), + Name(NameCall), + OwnerOf(OwnerOfCall), + SafeTransferFrom(SafeTransferFromCall), + SafeTransferFromWithFromAndToAndData(SafeTransferFromWithFromAndToAndDataCall), + SetApprovalForAll(SetApprovalForAllCall), + SupportsInterface(SupportsInterfaceCall), + Symbol(SymbolCall), + TokenURI(TokenURICall), + TransferFrom(TransferFromCall), + } + impl ::ethers::core::abi::AbiDecode for MockERC721Calls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetApproved(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Initialize(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsApprovedForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Name(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OwnerOf(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFrom(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SafeTransferFromWithFromAndToAndData(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetApprovalForAll(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SupportsInterface(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Symbol(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TokenURI(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferFrom(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockERC721Calls { + fn encode(self) -> Vec { + match self { + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::GetApproved(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Initialize(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsApprovedForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::OwnerOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SafeTransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetApprovalForAll(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SupportsInterface(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TokenURI(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockERC721Calls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::GetApproved(element) => ::core::fmt::Display::fmt(element, f), + Self::Initialize(element) => ::core::fmt::Display::fmt(element, f), + Self::IsApprovedForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::Name(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnerOf(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::SafeTransferFromWithFromAndToAndData(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SetApprovalForAll(element) => ::core::fmt::Display::fmt(element, f), + Self::SupportsInterface(element) => ::core::fmt::Display::fmt(element, f), + Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), + Self::TokenURI(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: GetApprovedCall) -> Self { + Self::GetApproved(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: InitializeCall) -> Self { + Self::Initialize(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: IsApprovedForAllCall) -> Self { + Self::IsApprovedForAll(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: NameCall) -> Self { + Self::Name(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: OwnerOfCall) -> Self { + Self::OwnerOf(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: SafeTransferFromCall) -> Self { + Self::SafeTransferFrom(value) + } + } + impl ::core::convert::From + for MockERC721Calls { + fn from(value: SafeTransferFromWithFromAndToAndDataCall) -> Self { + Self::SafeTransferFromWithFromAndToAndData(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: SetApprovalForAllCall) -> Self { + Self::SetApprovalForAll(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: SupportsInterfaceCall) -> Self { + Self::SupportsInterface(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: SymbolCall) -> Self { + Self::Symbol(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: TokenURICall) -> Self { + Self::TokenURI(value) + } + } + impl ::core::convert::From for MockERC721Calls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getApproved` function with signature `getApproved(uint256)` and selector `0x081812fc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetApprovedReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `isApprovedForAll` function with signature `isApprovedForAll(address,address)` and selector `0xe985e9c5` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsApprovedForAllReturn(pub bool); + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct NameReturn(pub ::std::string::String); + ///Container type for all return fields from the `ownerOf` function with signature `ownerOf(uint256)` and selector `0x6352211e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerOfReturn { + pub owner: ::ethers::core::types::Address, + } + ///Container type for all return fields from the `supportsInterface` function with signature `supportsInterface(bytes4)` and selector `0x01ffc9a7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SupportsInterfaceReturn(pub bool); + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct SymbolReturn(pub ::std::string::String); + ///Container type for all return fields from the `tokenURI` function with signature `tokenURI(uint256)` and selector `0xc87b56dd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TokenURIReturn(pub ::std::string::String); +} diff --git a/crates/bindings-uniswapx/src/mock_exclusivity_lib.rs b/crates/bindings-uniswapx/src/mock_exclusivity_lib.rs new file mode 100644 index 0000000..d876f4a --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_exclusivity_lib.rs @@ -0,0 +1,479 @@ +pub use mock_exclusivity_lib::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_exclusivity_lib { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("handleExclusiveOverride"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "handleExclusiveOverride", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("exclusive"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "exclusivityEndTime", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "exclusivityOverrideBps", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("hasFillingRights"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("hasFillingRights"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("exclusive"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "exclusivityEndTime", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("pass"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NoExclusiveOverride", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKEXCLUSIVITYLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\tW\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cY\xF8\xA0T\x14a\0;W\x80c\xD3\xA1A\x0F\x14a\0cW[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\x8AV[a\0\x83V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0va\0q6`\x04a\x05\xCDV[a\0\x98V[`@Qa\0Z\x91\x90a\x07\x8EV[`\0a\0\x8F\x83\x83a\x01\x1CV[\x90P[\x92\x91PPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x01\x13\x85\x85\x85\x85a\x01gV[P\x92\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a\x01@WP\x81B\x11[\x80a\0\x8FWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14\x90P\x92\x91PPV[a\x01q\x83\x83a\x01\x1CV[a\x02\x0BW\x80a\x01\xACW`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x02\x08W`\0\x82\x82\x81Q\x81\x10a\x01\xD1Wa\x01\xD1a\x08\xB8V[` \x02` \x01\x01Q\x90Pa\x01\xFA\x84a'\x10a\x01\xEC\x91\x90a\x08\xE7V[` \x83\x01Q\x90a'\x10a\x02\x11V[` \x90\x91\x01R`\x01\x01a\x01\xB4V[PP[PPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x02FW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02wW`\0\x80\xFD[PV[\x805a\x02\x85\x81a\x02UV[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02\x9DW`\0\x80\xFD[\x825a\x02\xA8\x81a\x02UV[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x08Wa\x03\x08a\x02\xB6V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x08Wa\x03\x08a\x02\xB6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03xWa\x03xa\x02\xB6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03\x91W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\xABWa\x03\xABa\x02\xB6V[a\x03\xDC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x031V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\xF1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04 W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04DWa\x04Da\x02\xB6V[\x81`@R\x82\x93P\x845\x91Pa\x04X\x82a\x02UV[\x90\x82R` \x84\x015\x90a\x04j\x82a\x02UV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04\x94\x82a\x02UV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x04\xAEW`\0\x80\xFD[Pa\x04\xBB\x85\x82\x86\x01a\x03\x80V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x04\xDAW`\0\x80\xFD[a\x04\xE2a\x02\xE5V[\x90P\x815a\x04\xEF\x81a\x02UV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\x1EW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05:Wa\x05:a\x02\xB6V[a\x05H\x81\x83`\x05\x1B\x01a\x031V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05gW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x05\xC0W\x81\x81\x8A\x03\x12\x15a\x05\x83W`\0\x80\x81\xFD[a\x05\x8Ba\x02\xE5V[\x815a\x05\x96\x81a\x02UV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x05\xAF\x81a\x02UV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05kV[P\x90\x97\x96PPPPPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x05\xE3W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xFBW`\0\x80\xFD[\x90\x86\x01\x90`\xE0\x82\x89\x03\x12\x15a\x06\x0FW`\0\x80\xFD[a\x06\x17a\x03\x0EV[\x825\x82\x81\x11\x15a\x06&W`\0\x80\xFD[a\x062\x8A\x82\x86\x01a\x04\x0EV[\x82RPa\x06B\x89` \x85\x01a\x04\xC8V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x06YW`\0\x80\xFD[a\x06e\x8A\x82\x86\x01a\x05\rV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x06}W`\0\x80\xFD[a\x06\x89\x8A\x82\x86\x01a\x03\x80V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93Pa\x06\xAA` \x86\x01a\x02zV[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06\xE5W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06\xC9V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x07\x83W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x078V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x08\na\x01\xC0\x84\x01\x82a\x06\xBFV[\x90P` \x84\x01Qa\x08H`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x08\x83\x83\x83a\x07#V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x08\xA1\x82\x82a\x06\xBFV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\0\x92W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 I\x02Q\xF0\x1E\x9F\x13\x9DH\xA18\xEB\x0B\xBF.\x10\x9A\x85:\xB2\x0B~S\x03c\xC0\x8AHY\"^\x0EdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKEXCLUSIVITYLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cY\xF8\xA0T\x14a\0;W\x80c\xD3\xA1A\x0F\x14a\0cW[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\x8AV[a\0\x83V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0va\0q6`\x04a\x05\xCDV[a\0\x98V[`@Qa\0Z\x91\x90a\x07\x8EV[`\0a\0\x8F\x83\x83a\x01\x1CV[\x90P[\x92\x91PPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x01\x13\x85\x85\x85\x85a\x01gV[P\x92\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a\x01@WP\x81B\x11[\x80a\0\x8FWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14\x90P\x92\x91PPV[a\x01q\x83\x83a\x01\x1CV[a\x02\x0BW\x80a\x01\xACW`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x02\x08W`\0\x82\x82\x81Q\x81\x10a\x01\xD1Wa\x01\xD1a\x08\xB8V[` \x02` \x01\x01Q\x90Pa\x01\xFA\x84a'\x10a\x01\xEC\x91\x90a\x08\xE7V[` \x83\x01Q\x90a'\x10a\x02\x11V[` \x90\x91\x01R`\x01\x01a\x01\xB4V[PP[PPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x02FW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02wW`\0\x80\xFD[PV[\x805a\x02\x85\x81a\x02UV[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x02\x9DW`\0\x80\xFD[\x825a\x02\xA8\x81a\x02UV[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x08Wa\x03\x08a\x02\xB6V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x08Wa\x03\x08a\x02\xB6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03xWa\x03xa\x02\xB6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03\x91W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\xABWa\x03\xABa\x02\xB6V[a\x03\xDC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x031V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\xF1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04 W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04DWa\x04Da\x02\xB6V[\x81`@R\x82\x93P\x845\x91Pa\x04X\x82a\x02UV[\x90\x82R` \x84\x015\x90a\x04j\x82a\x02UV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04\x94\x82a\x02UV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x04\xAEW`\0\x80\xFD[Pa\x04\xBB\x85\x82\x86\x01a\x03\x80V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x04\xDAW`\0\x80\xFD[a\x04\xE2a\x02\xE5V[\x90P\x815a\x04\xEF\x81a\x02UV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\x1EW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05:Wa\x05:a\x02\xB6V[a\x05H\x81\x83`\x05\x1B\x01a\x031V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05gW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x05\xC0W\x81\x81\x8A\x03\x12\x15a\x05\x83W`\0\x80\x81\xFD[a\x05\x8Ba\x02\xE5V[\x815a\x05\x96\x81a\x02UV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x05\xAF\x81a\x02UV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05kV[P\x90\x97\x96PPPPPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x05\xE3W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xFBW`\0\x80\xFD[\x90\x86\x01\x90`\xE0\x82\x89\x03\x12\x15a\x06\x0FW`\0\x80\xFD[a\x06\x17a\x03\x0EV[\x825\x82\x81\x11\x15a\x06&W`\0\x80\xFD[a\x062\x8A\x82\x86\x01a\x04\x0EV[\x82RPa\x06B\x89` \x85\x01a\x04\xC8V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x06YW`\0\x80\xFD[a\x06e\x8A\x82\x86\x01a\x05\rV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x06}W`\0\x80\xFD[a\x06\x89\x8A\x82\x86\x01a\x03\x80V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93Pa\x06\xAA` \x86\x01a\x02zV[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06\xE5W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06\xC9V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x07\x83W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x078V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x08\na\x01\xC0\x84\x01\x82a\x06\xBFV[\x90P` \x84\x01Qa\x08H`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x08\x83\x83\x83a\x07#V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x08\xA1\x82\x82a\x06\xBFV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\0\x92W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 I\x02Q\xF0\x1E\x9F\x13\x9DH\xA18\xEB\x0B\xBF.\x10\x9A\x85:\xB2\x0B~S\x03c\xC0\x8AHY\"^\x0EdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKEXCLUSIVITYLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockExclusivityLib(::ethers::contract::Contract); + impl ::core::clone::Clone for MockExclusivityLib { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockExclusivityLib { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockExclusivityLib { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockExclusivityLib { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockExclusivityLib)) + .field(&self.address()) + .finish() + } + } + impl MockExclusivityLib { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKEXCLUSIVITYLIB_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKEXCLUSIVITYLIB_ABI.clone(), + MOCKEXCLUSIVITYLIB_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `handleExclusiveOverride` (0xd3a1410f) function + pub fn handle_exclusive_override( + &self, + order: ResolvedOrder, + exclusive: ::ethers::core::types::Address, + exclusivity_end_time: ::ethers::core::types::U256, + exclusivity_override_bps: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash( + [211, 161, 65, 15], + (order, exclusive, exclusivity_end_time, exclusivity_override_bps), + ) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `hasFillingRights` (0x59f8a054) function + pub fn has_filling_rights( + &self, + exclusive: ::ethers::core::types::Address, + exclusivity_end_time: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([89, 248, 160, 84], (exclusive, exclusivity_end_time)) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for MockExclusivityLib { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `NoExclusiveOverride` with signature `NoExclusiveOverride()` and selector `0xb9ec1e96` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NoExclusiveOverride", abi = "NoExclusiveOverride()")] + pub struct NoExclusiveOverride; + ///Container type for all input parameters for the `handleExclusiveOverride` function with signature `handleExclusiveOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)` and selector `0xd3a1410f` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "handleExclusiveOverride", + abi = "handleExclusiveOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)" + )] + pub struct HandleExclusiveOverrideCall { + pub order: ResolvedOrder, + pub exclusive: ::ethers::core::types::Address, + pub exclusivity_end_time: ::ethers::core::types::U256, + pub exclusivity_override_bps: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `hasFillingRights` function with signature `hasFillingRights(address,uint256)` and selector `0x59f8a054` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "hasFillingRights", abi = "hasFillingRights(address,uint256)")] + pub struct HasFillingRightsCall { + pub exclusive: ::ethers::core::types::Address, + pub exclusivity_end_time: ::ethers::core::types::U256, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockExclusivityLibCalls { + HandleExclusiveOverride(HandleExclusiveOverrideCall), + HasFillingRights(HasFillingRightsCall), + } + impl ::ethers::core::abi::AbiDecode for MockExclusivityLibCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::HandleExclusiveOverride(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::HasFillingRights(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockExclusivityLibCalls { + fn encode(self) -> Vec { + match self { + Self::HandleExclusiveOverride(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::HasFillingRights(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockExclusivityLibCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::HandleExclusiveOverride(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::HasFillingRights(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockExclusivityLibCalls { + fn from(value: HandleExclusiveOverrideCall) -> Self { + Self::HandleExclusiveOverride(value) + } + } + impl ::core::convert::From for MockExclusivityLibCalls { + fn from(value: HasFillingRightsCall) -> Self { + Self::HasFillingRights(value) + } + } + ///Container type for all return fields from the `handleExclusiveOverride` function with signature `handleExclusiveOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)` and selector `0xd3a1410f` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct HandleExclusiveOverrideReturn(pub ResolvedOrder); + ///Container type for all return fields from the `hasFillingRights` function with signature `hasFillingRights(address,uint256)` and selector `0x59f8a054` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct HasFillingRightsReturn { + pub pass: bool, + } +} diff --git a/crates/bindings-uniswapx/src/mock_exclusivity_override_lib.rs b/crates/bindings-uniswapx/src/mock_exclusivity_override_lib.rs deleted file mode 100644 index bc06396..0000000 --- a/crates/bindings-uniswapx/src/mock_exclusivity_override_lib.rs +++ /dev/null @@ -1,415 +0,0 @@ -pub use mock_exclusivity_override_lib::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_exclusivity_override_lib { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("checkExclusivity"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("checkExclusivity"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("exclusive"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("exclusivityEndTime",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("pass"), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("handleOverride"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("handleOverride"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize - ), - ::ethers::core::abi::ethabi::ParamType::Address, - ], - ), - ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("exclusive"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("exclusivityEndTime",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("exclusivityOverrideBps",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("NoExclusiveOverride",), - inputs: ::std::vec![], - },], - )]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKEXCLUSIVITYOVERRIDELIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\tR\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c-\xD4\xBEF\x14a\0;W\x80c\x8C\xED\x85\xCF\x14a\0dW[`\0\x80\xFD[a\0Na\0I6`\x04a\x05\x9DV[a\0\x87V[`@Qa\0[\x91\x90a\x07]V[`@Q\x80\x91\x03\x90\xF3[a\0wa\0r6`\x04a\x08\x87V[a\x01\x0BV[`@Q\x90\x15\x15\x81R` \x01a\0[V[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x01\x02\x85\x85\x85\x85a\x01 V[P\x92\x93\x92PPPV[`\0a\x01\x17\x83\x83a\x01\xCAV[\x90P[\x92\x91PPV[a\x01*\x83\x83a\x01\xCAV[a\x01\xC4W\x80a\x01eW`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x01\xC1W`\0\x82\x82\x81Q\x81\x10a\x01\x8AWa\x01\x8Aa\x08\xB3V[` \x02` \x01\x01Q\x90Pa\x01\xB3\x84a'\x10a\x01\xA5\x91\x90a\x08\xE2V[` \x83\x01Q\x90a'\x10a\x02\x15V[` \x90\x91\x01R`\x01\x01a\x01mV[PP[PPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a\x01\xEEWP\x81B\x11[\x80a\x01\x17WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14\x90P\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x02JW`\0\x80\xFD[P\x91\x02\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\xA3Wa\x02\xA3a\x02QV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\xA3Wa\x02\xA3a\x02QV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x13Wa\x03\x13a\x02QV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x03=W`\0\x80\xFD[PV[\x805a\x03K\x81a\x03\x1BV[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03aW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03{Wa\x03{a\x02QV[a\x03\xAC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x02\xCCV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\xC1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x03\xF0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\x14Wa\x04\x14a\x02QV[\x81`@R\x82\x93P\x845\x91Pa\x04(\x82a\x03\x1BV[\x90\x82R` \x84\x015\x90a\x04:\x82a\x03\x1BV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04d\x82a\x03\x1BV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x04~W`\0\x80\xFD[Pa\x04\x8B\x85\x82\x86\x01a\x03PV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x04\xAAW`\0\x80\xFD[a\x04\xB2a\x02\x80V[\x90P\x815a\x04\xBF\x81a\x03\x1BV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x04\xEEW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\nWa\x05\na\x02QV[a\x05\x18\x81\x83`\x05\x1B\x01a\x02\xCCV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x057W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x05\x90W\x81\x81\x8A\x03\x12\x15a\x05SW`\0\x80\x81\xFD[a\x05[a\x02\x80V[\x815a\x05f\x81a\x03\x1BV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x05\x7F\x81a\x03\x1BV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05;V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x05\xB3W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xCBW`\0\x80\xFD[\x90\x86\x01\x90`\xE0\x82\x89\x03\x12\x15a\x05\xDFW`\0\x80\xFD[a\x05\xE7a\x02\xA9V[\x825\x82\x81\x11\x15a\x05\xF6W`\0\x80\xFD[a\x06\x02\x8A\x82\x86\x01a\x03\xDEV[\x82RPa\x06\x12\x89` \x85\x01a\x04\x98V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x06)W`\0\x80\xFD[a\x065\x8A\x82\x86\x01a\x04\xDDV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x06MW`\0\x80\xFD[a\x06Y\x8A\x82\x86\x01a\x03PV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93Pa\x06z` \x86\x01a\x03@V[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06\xB5W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06\x99V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x07RW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x07\x07V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x07\xD9a\x01\xC0\x84\x01\x82a\x06\x8FV[\x90P` \x84\x01Qa\x08\x17`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x08R\x83\x83a\x06\xF3V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x08p\x82\x82a\x06\x8FV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\x9AW`\0\x80\xFD[\x825a\x08\xA5\x81a\x03\x1BV[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x01\x1AW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xDA\\cK\x9D<\x03\x16\xA4\xE9\xE6K\x99\x8F\x1A\x99\xE3\x0F\x1A\xDB\xD6\xBD\xEDq#\xD0^\xA8\xE3\x07p&dsolcC\0\x08\x13\x003"; - /// The bytecode of the contract. - pub static MOCKEXCLUSIVITYOVERRIDELIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c-\xD4\xBEF\x14a\0;W\x80c\x8C\xED\x85\xCF\x14a\0dW[`\0\x80\xFD[a\0Na\0I6`\x04a\x05\x9DV[a\0\x87V[`@Qa\0[\x91\x90a\x07]V[`@Q\x80\x91\x03\x90\xF3[a\0wa\0r6`\x04a\x08\x87V[a\x01\x0BV[`@Q\x90\x15\x15\x81R` \x01a\0[V[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x01\x02\x85\x85\x85\x85a\x01 V[P\x92\x93\x92PPPV[`\0a\x01\x17\x83\x83a\x01\xCAV[\x90P[\x92\x91PPV[a\x01*\x83\x83a\x01\xCAV[a\x01\xC4W\x80a\x01eW`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x01\xC1W`\0\x82\x82\x81Q\x81\x10a\x01\x8AWa\x01\x8Aa\x08\xB3V[` \x02` \x01\x01Q\x90Pa\x01\xB3\x84a'\x10a\x01\xA5\x91\x90a\x08\xE2V[` \x83\x01Q\x90a'\x10a\x02\x15V[` \x90\x91\x01R`\x01\x01a\x01mV[PP[PPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a\x01\xEEWP\x81B\x11[\x80a\x01\x17WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14\x90P\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x02JW`\0\x80\xFD[P\x91\x02\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\xA3Wa\x02\xA3a\x02QV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\xA3Wa\x02\xA3a\x02QV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x13Wa\x03\x13a\x02QV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x03=W`\0\x80\xFD[PV[\x805a\x03K\x81a\x03\x1BV[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03aW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03{Wa\x03{a\x02QV[a\x03\xAC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x02\xCCV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\xC1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x03\xF0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\x14Wa\x04\x14a\x02QV[\x81`@R\x82\x93P\x845\x91Pa\x04(\x82a\x03\x1BV[\x90\x82R` \x84\x015\x90a\x04:\x82a\x03\x1BV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04d\x82a\x03\x1BV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x04~W`\0\x80\xFD[Pa\x04\x8B\x85\x82\x86\x01a\x03PV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x04\xAAW`\0\x80\xFD[a\x04\xB2a\x02\x80V[\x90P\x815a\x04\xBF\x81a\x03\x1BV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x04\xEEW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\nWa\x05\na\x02QV[a\x05\x18\x81\x83`\x05\x1B\x01a\x02\xCCV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x057W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x05\x90W\x81\x81\x8A\x03\x12\x15a\x05SW`\0\x80\x81\xFD[a\x05[a\x02\x80V[\x815a\x05f\x81a\x03\x1BV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x05\x7F\x81a\x03\x1BV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05;V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x05\xB3W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\xCBW`\0\x80\xFD[\x90\x86\x01\x90`\xE0\x82\x89\x03\x12\x15a\x05\xDFW`\0\x80\xFD[a\x05\xE7a\x02\xA9V[\x825\x82\x81\x11\x15a\x05\xF6W`\0\x80\xFD[a\x06\x02\x8A\x82\x86\x01a\x03\xDEV[\x82RPa\x06\x12\x89` \x85\x01a\x04\x98V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x06)W`\0\x80\xFD[a\x065\x8A\x82\x86\x01a\x04\xDDV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x06MW`\0\x80\xFD[a\x06Y\x8A\x82\x86\x01a\x03PV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93Pa\x06z` \x86\x01a\x03@V[\x93\x96\x93\x95PPPP`@\x82\x015\x91``\x015\x90V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06\xB5W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06\x99V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x07RW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x07\x07V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x07\xD9a\x01\xC0\x84\x01\x82a\x06\x8FV[\x90P` \x84\x01Qa\x08\x17`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x08R\x83\x83a\x06\xF3V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x08p\x82\x82a\x06\x8FV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\x9AW`\0\x80\xFD[\x825a\x08\xA5\x81a\x03\x1BV[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x80\x82\x01\x80\x82\x11\x15a\x01\x1AW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xDA\\cK\x9D<\x03\x16\xA4\xE9\xE6K\x99\x8F\x1A\x99\xE3\x0F\x1A\xDB\xD6\xBD\xEDq#\xD0^\xA8\xE3\x07p&dsolcC\0\x08\x13\x003"; - /// The deployed bytecode of the contract. - pub static MOCKEXCLUSIVITYOVERRIDELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockExclusivityOverrideLib(::ethers::contract::Contract); - impl ::core::clone::Clone for MockExclusivityOverrideLib { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockExclusivityOverrideLib { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockExclusivityOverrideLib { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockExclusivityOverrideLib { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockExclusivityOverrideLib)) - .field(&self.address()) - .finish() - } - } - impl MockExclusivityOverrideLib { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKEXCLUSIVITYOVERRIDELIB_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKEXCLUSIVITYOVERRIDELIB_ABI.clone(), - MOCKEXCLUSIVITYOVERRIDELIB_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `checkExclusivity` (0x8ced85cf) function - pub fn check_exclusivity( - &self, - exclusive: ::ethers::core::types::Address, - exclusivity_end_time: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([140, 237, 133, 207], (exclusive, exclusivity_end_time)) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `handleOverride` (0x2dd4be46) function - pub fn handle_override( - &self, - order: ResolvedOrder, - exclusive: ::ethers::core::types::Address, - exclusivity_end_time: ::ethers::core::types::U256, - exclusivity_override_bps: ::ethers::core::types::U256, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash( - [45, 212, 190, 70], - ( - order, - exclusive, - exclusivity_end_time, - exclusivity_override_bps, - ), - ) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for MockExclusivityOverrideLib - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `NoExclusiveOverride` with signature `NoExclusiveOverride()` and selector `0xb9ec1e96` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "NoExclusiveOverride", abi = "NoExclusiveOverride()")] - pub struct NoExclusiveOverride; - ///Container type for all input parameters for the `checkExclusivity` function with signature `checkExclusivity(address,uint256)` and selector `0x8ced85cf` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "checkExclusivity", abi = "checkExclusivity(address,uint256)")] - pub struct CheckExclusivityCall { - pub exclusive: ::ethers::core::types::Address, - pub exclusivity_end_time: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `handleOverride` function with signature `handleOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)` and selector `0x2dd4be46` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "handleOverride", - abi = "handleOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)" - )] - pub struct HandleOverrideCall { - pub order: ResolvedOrder, - pub exclusive: ::ethers::core::types::Address, - pub exclusivity_end_time: ::ethers::core::types::U256, - pub exclusivity_override_bps: ::ethers::core::types::U256, - } - ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum MockExclusivityOverrideLibCalls { - CheckExclusivity(CheckExclusivityCall), - HandleOverride(HandleOverrideCall), - } - impl ::ethers::core::abi::AbiDecode for MockExclusivityOverrideLibCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::CheckExclusivity(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::HandleOverride(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockExclusivityOverrideLibCalls { - fn encode(self) -> Vec { - match self { - Self::CheckExclusivity(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::HandleOverride(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for MockExclusivityOverrideLibCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::CheckExclusivity(element) => ::core::fmt::Display::fmt(element, f), - Self::HandleOverride(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for MockExclusivityOverrideLibCalls { - fn from(value: CheckExclusivityCall) -> Self { - Self::CheckExclusivity(value) - } - } - impl ::core::convert::From for MockExclusivityOverrideLibCalls { - fn from(value: HandleOverrideCall) -> Self { - Self::HandleOverride(value) - } - } - ///Container type for all return fields from the `checkExclusivity` function with signature `checkExclusivity(address,uint256)` and selector `0x8ced85cf` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct CheckExclusivityReturn { - pub pass: bool, - } - ///Container type for all return fields from the `handleOverride` function with signature `handleOverride(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address,uint256,uint256)` and selector `0x2dd4be46` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct HandleOverrideReturn(pub ResolvedOrder); -} diff --git a/crates/bindings-uniswapx/src/mock_expected_balance_lib.rs b/crates/bindings-uniswapx/src/mock_expected_balance_lib.rs deleted file mode 100644 index cc8eb72..0000000 --- a/crates/bindings-uniswapx/src/mock_expected_balance_lib.rs +++ /dev/null @@ -1,224 +0,0 @@ -pub use mock_expected_balance_lib::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_expected_balance_lib { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("check"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("check"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expected"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new(::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ], - ),), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ExpectedBalance[]"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - )]), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKEXPECTEDBALANCELIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x04\x84\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE3\xA4\xD8k\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x02\xC5V[a\0EV[\0[a\0N\x81a\0QV[PV[`\0[\x81Q\x81\x10\x15a\x01\x1DW`\0\x82\x82\x81Q\x81\x10a\0qWa\0qa\x03\xA7V[` \x02` \x01\x01Q\x90P`\0a\0\xAE\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x01!\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x01\x08W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\0\xFF\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@Q\x80\x91\x03\x90\xFD[PP\x80\x80a\x01\x15\x90a\x03\xD6V[\x91PPa\0TV[PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\\WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x01\xEFV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01\xC8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\xEC\x91\x90a\x045V[\x90P[\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02GWa\x02Ga\x01\xF5V[`@R\x90V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x94Wa\x02\x94a\x01\xF5V[`@R\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xC0W`\0\x80\xFD[\x91\x90PV[`\0` \x80\x83\x85\x03\x12\x15a\x02\xD8W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\xF0W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x03\x04W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x03\x16Wa\x03\x16a\x01\xF5V[a\x03$\x84\x82`\x05\x1B\x01a\x02MV[\x81\x81R\x84\x81\x01\x92P``\x91\x82\x02\x84\x01\x85\x01\x91\x88\x83\x11\x15a\x03CW`\0\x80\xFD[\x93\x85\x01\x93[\x82\x85\x10\x15a\x03\x9BW\x80\x85\x8A\x03\x12\x15a\x03`W`\0\x80\x81\xFD[a\x03ha\x02$V[a\x03q\x86a\x02\x9CV[\x81Ra\x03~\x87\x87\x01a\x02\x9CV[\x81\x88\x01R`@\x86\x81\x015\x90\x82\x01R\x84R\x93\x84\x01\x93\x92\x85\x01\x92a\x03HV[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x04.W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04GW`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 \x88=3\xBD\x1B\xB7\xF6\xA0\x96\x88\x03\xD4\xF5\x88Z\xCBpq\x95S+\x80~\xA1v\xA8QFX\x9D\xC9\x02dsolcC\0\x08\x13\x003"; - /// The bytecode of the contract. - pub static MOCKEXPECTEDBALANCELIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE3\xA4\xD8k\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x02\xC5V[a\0EV[\0[a\0N\x81a\0QV[PV[`\0[\x81Q\x81\x10\x15a\x01\x1DW`\0\x82\x82\x81Q\x81\x10a\0qWa\0qa\x03\xA7V[` \x02` \x01\x01Q\x90P`\0a\0\xAE\x82`\0\x01Q\x83` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x01!\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x90P\x81`@\x01Q\x81\x10\x15a\x01\x08W\x80\x82`@\x01Q`@Q\x7F,\x19\xB8\xB8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\0\xFF\x92\x91\x90\x91\x82R` \x82\x01R`@\x01\x90V[`@Q\x80\x91\x03\x90\xFD[PP\x80\x80a\x01\x15\x90a\x03\xD6V[\x91PPa\0TV[PPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\\WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x161a\x01\xEFV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R\x84\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01\xC8W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\xEC\x91\x90a\x045V[\x90P[\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02GWa\x02Ga\x01\xF5V[`@R\x90V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x94Wa\x02\x94a\x01\xF5V[`@R\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xC0W`\0\x80\xFD[\x91\x90PV[`\0` \x80\x83\x85\x03\x12\x15a\x02\xD8W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\xF0W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x03\x04W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x03\x16Wa\x03\x16a\x01\xF5V[a\x03$\x84\x82`\x05\x1B\x01a\x02MV[\x81\x81R\x84\x81\x01\x92P``\x91\x82\x02\x84\x01\x85\x01\x91\x88\x83\x11\x15a\x03CW`\0\x80\xFD[\x93\x85\x01\x93[\x82\x85\x10\x15a\x03\x9BW\x80\x85\x8A\x03\x12\x15a\x03`W`\0\x80\x81\xFD[a\x03ha\x02$V[a\x03q\x86a\x02\x9CV[\x81Ra\x03~\x87\x87\x01a\x02\x9CV[\x81\x88\x01R`@\x86\x81\x015\x90\x82\x01R\x84R\x93\x84\x01\x93\x92\x85\x01\x92a\x03HV[P\x97\x96PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x04.W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x04GW`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 \x88=3\xBD\x1B\xB7\xF6\xA0\x96\x88\x03\xD4\xF5\x88Z\xCBpq\x95S+\x80~\xA1v\xA8QFX\x9D\xC9\x02dsolcC\0\x08\x13\x003"; - /// The deployed bytecode of the contract. - pub static MOCKEXPECTEDBALANCELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct MockExpectedBalanceLib(::ethers::contract::Contract); - impl ::core::clone::Clone for MockExpectedBalanceLib { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockExpectedBalanceLib { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockExpectedBalanceLib { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockExpectedBalanceLib { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockExpectedBalanceLib)) - .field(&self.address()) - .finish() - } - } - impl MockExpectedBalanceLib { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKEXPECTEDBALANCELIB_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - MOCKEXPECTEDBALANCELIB_ABI.clone(), - MOCKEXPECTEDBALANCELIB_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `check` (0xe3a4d86b) function - pub fn check( - &self, - expected: ::std::vec::Vec, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([227, 164, 216, 107], expected) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> - for MockExpectedBalanceLib - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } - ///Container type for all input parameters for the `check` function with signature `check((address,address,uint256)[])` and selector `0xe3a4d86b` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "check", abi = "check((address,address,uint256)[])")] - pub struct CheckCall { - pub expected: ::std::vec::Vec, - } - ///`ExpectedBalance(address,address,uint256)` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ExpectedBalance { - pub recipient: ::ethers::core::types::Address, - pub token: ::ethers::core::types::Address, - pub expected_balance: ::ethers::core::types::U256, - } -} diff --git a/crates/bindings-uniswapx/src/mock_fee_controller.rs b/crates/bindings-uniswapx/src/mock_fee_controller.rs index 5fdb73d..731f454 100644 --- a/crates/bindings-uniswapx/src/mock_fee_controller.rs +++ b/crates/bindings-uniswapx/src/mock_fee_controller.rs @@ -7,7 +7,7 @@ pub use mock_fee_controller::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_fee_controller { pub use super::super::shared_types::*; @@ -15,219 +15,268 @@ pub mod mock_fee_controller { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("feeRecipient"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeRecipient"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeRecipient"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("fees"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("fees"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("fees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("result"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("result"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setFee"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setFee"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fee"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setFee"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fee"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, }, ], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static MOCKFEECONTROLLER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKFEECONTROLLER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0C\xDA8\x03\x80a\x0C\xDA\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0C\x08a\0\xD2`\09`\0\x81\x81`|\x01Ra\x03}\x01Ra\x0C\x08`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xEEV[a\x01iV[`@Qa\0\xBF\x91\x90a\t\xC0V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\n3V[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\nlV[a\x04\x02V[\0[a\x01Ta\x01d6`\x04a\n\xADV[a\x04\xC1V[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\xB2V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03\xF9W`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\xD1V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03\xE4W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\xD1V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\x0B/V[a\x02\xAA\x91\x90a\x0BLV[\x90P`\0\x80[\x86\x81\x10\x15a\x03:W`\0\x89\x82\x81Q\x81\x10a\x02\xCCWa\x02\xCCa\n\xD1V[` \x02` \x01\x01Q\x90P\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x03'W`\x01\x92P\x83\x81` \x01\x81\x81Qa\x03#\x91\x90a\x0B\x87V[\x90RP[P\x80a\x032\x81a\x0B\x9AV[\x91PPa\x02\xB0V[P\x80\x15\x80\x15a\x03IWP`\0\x82\x11[\x15a\x03\xE1W`@Q\x80``\x01`@R\x80\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x88\x87\x81Q\x81\x10a\x03\xC7Wa\x03\xC7a\n\xD1V[` \x02` \x01\x01\x81\x90RP\x85\x80a\x03\xDD\x90a\x0B\x9AV[\x96PP[PP[PP\x80\x80a\x03\xF1\x90a\x0B\x9AV[\x91PPa\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x88W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\x7FV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\x04Wa\x06\x04a\x05\xB2V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\x04Wa\x06\x04a\x05\xB2V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06tWa\x06ta\x05\xB2V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x9EW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\xB2W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xCCWa\x06\xCCa\x05\xB2V[a\x06\xFD` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x06-V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x07\x12W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x07AW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07eWa\x07ea\x05\xB2V[\x81`@R\x82\x93P\x845\x91Pa\x07y\x82a\x06|V[\x90\x82R` \x84\x015\x90a\x07\x8B\x82a\x06|V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\xB5\x82a\x06|V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\xCFW`\0\x80\xFD[Pa\x07\xDC\x85\x82\x86\x01a\x06\xA1V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xFBW`\0\x80\xFD[a\x08\x03a\x05\xE1V[\x90P\x815a\x08\x10\x81a\x06|V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08?W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08[Wa\x08[a\x05\xB2V[a\x08i\x81\x83`\x05\x1B\x01a\x06-V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\x88W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\xE1W\x81\x81\x8A\x03\x12\x15a\x08\xA4W`\0\x80\x81\xFD[a\x08\xACa\x05\xE1V[\x815a\x08\xB7\x81a\x06|V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\xD0\x81a\x06|V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\x8CV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\t\0W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x18W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\t,W`\0\x80\xFD[a\t4a\x06\nV[\x825\x82\x81\x11\x15a\tCW`\0\x80\xFD[a\tO\x87\x82\x86\x01a\x07/V[\x82RPa\t_\x86` \x85\x01a\x07\xE9V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\tvW`\0\x80\xFD[a\t\x82\x87\x82\x86\x01a\x08.V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\t\x9AW`\0\x80\xFD[a\t\xA6\x87\x82\x86\x01a\x06\xA1V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\n&W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\xDDV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\nFW`\0\x80\xFD[\x825a\nQ\x81a\x06|V[\x91P` \x83\x015a\na\x81a\x06|V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\n\x81W`\0\x80\xFD[\x835a\n\x8C\x81a\x06|V[\x92P` \x84\x015a\n\x9C\x81a\x06|V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\xBFW`\0\x80\xFD[\x815a\n\xCA\x81a\x06|V[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0BFWa\x0BFa\x0B\0V[\x92\x91PPV[`\0\x82a\x0B\x82W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x01\x80\x82\x11\x15a\x0BFWa\x0BFa\x0B\0V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\xCBWa\x0B\xCBa\x0B\0V[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xFB\xD2\xB3\xFF\xED\xA5x4\x1BU\x07e\x89.,\xCD\x13\xAFK.\xDD\x9D5\xBEz\x1D\xEE\\\xA3f,HdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0C\xC58\x03\x80a\x0C\xC5\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0B\xF3a\0\xD2`\09`\0\x81\x81`|\x01Ra\x03s\x01Ra\x0B\xF3`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xD9V[a\x01iV[`@Qa\0\xBF\x91\x90a\t\xABV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\n\x1EV[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\nWV[a\x03\xEDV[\0[a\x01Ta\x01d6`\x04a\n\x98V[a\x04\xACV[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x9DV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03\xE4W`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\xBCV[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03\xDAW`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\xBCV[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\x0B\x1AV[a\x02\xAA\x91\x90a\x0B7V[\x90P`\0\x80[\x86\x81\x10\x15a\x030W`\0\x89\x82\x81Q\x81\x10a\x02\xCCWa\x02\xCCa\n\xBCV[` \x02` \x01\x01Q\x90P\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x03'W`\x01\x92P\x83\x81` \x01\x81\x81Qa\x03#\x91\x90a\x0BrV[\x90RP[P`\x01\x01a\x02\xB0V[P\x80\x15\x80\x15a\x03?WP`\0\x82\x11[\x15a\x03\xD7W`@Q\x80``\x01`@R\x80\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x88\x87\x81Q\x81\x10a\x03\xBDWa\x03\xBDa\n\xBCV[` \x02` \x01\x01\x81\x90RP\x85\x80a\x03\xD3\x90a\x0B\x85V[\x96PP[PP[PP`\x01\x01a\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04sW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05-W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04jV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xEFWa\x05\xEFa\x05\x9DV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xEFWa\x05\xEFa\x05\x9DV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06_Wa\x06_a\x05\x9DV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x89W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xB7Wa\x06\xB7a\x05\x9DV[a\x06\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x06\x18V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x07,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07PWa\x07Pa\x05\x9DV[\x81`@R\x82\x93P\x845\x91Pa\x07d\x82a\x06gV[\x90\x82R` \x84\x015\x90a\x07v\x82a\x06gV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\xA0\x82a\x06gV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\xBAW`\0\x80\xFD[Pa\x07\xC7\x85\x82\x86\x01a\x06\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xE6W`\0\x80\xFD[a\x07\xEEa\x05\xCCV[\x90P\x815a\x07\xFB\x81a\x06gV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08*W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08FWa\x08Fa\x05\x9DV[a\x08T\x81\x83`\x05\x1B\x01a\x06\x18V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08sW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\xCCW\x81\x81\x8A\x03\x12\x15a\x08\x8FW`\0\x80\x81\xFD[a\x08\x97a\x05\xCCV[\x815a\x08\xA2\x81a\x06gV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\xBB\x81a\x06gV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08wV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\t\x17W`\0\x80\xFD[a\t\x1Fa\x05\xF5V[\x825\x82\x81\x11\x15a\t.W`\0\x80\xFD[a\t:\x87\x82\x86\x01a\x07\x1AV[\x82RPa\tJ\x86` \x85\x01a\x07\xD4V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\taW`\0\x80\xFD[a\tm\x87\x82\x86\x01a\x08\x19V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\t\x85W`\0\x80\xFD[a\t\x91\x87\x82\x86\x01a\x06\x8CV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\n\x11W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\xC8V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825a\n<\x81a\x06gV[\x91P` \x83\x015a\nL\x81a\x06gV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\nlW`\0\x80\xFD[\x835a\nw\x81a\x06gV[\x92P` \x84\x015a\n\x87\x81a\x06gV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\xAAW`\0\x80\xFD[\x815a\n\xB5\x81a\x06gV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0B1Wa\x0B1a\n\xEBV[\x92\x91PPV[`\0\x82a\x0BmW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x01\x80\x82\x11\x15a\x0B1Wa\x0B1a\n\xEBV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\xB6Wa\x0B\xB6a\n\xEBV[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xAA\xD0(d\xB2.{\xA8b\xF7\xBD\xB8\x0E\xEC\x80<\n!\xE4\xBF\xB0\xD2\xA5\x9C\x02\\\xE0\xD0\xCF8\x0F?dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKFEECONTROLLER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKFEECONTROLLER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xEEV[a\x01iV[`@Qa\0\xBF\x91\x90a\t\xC0V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\n3V[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\nlV[a\x04\x02V[\0[a\x01Ta\x01d6`\x04a\n\xADV[a\x04\xC1V[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\xB2V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03\xF9W`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\xD1V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03\xE4W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\xD1V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\x0B/V[a\x02\xAA\x91\x90a\x0BLV[\x90P`\0\x80[\x86\x81\x10\x15a\x03:W`\0\x89\x82\x81Q\x81\x10a\x02\xCCWa\x02\xCCa\n\xD1V[` \x02` \x01\x01Q\x90P\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x03'W`\x01\x92P\x83\x81` \x01\x81\x81Qa\x03#\x91\x90a\x0B\x87V[\x90RP[P\x80a\x032\x81a\x0B\x9AV[\x91PPa\x02\xB0V[P\x80\x15\x80\x15a\x03IWP`\0\x82\x11[\x15a\x03\xE1W`@Q\x80``\x01`@R\x80\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x88\x87\x81Q\x81\x10a\x03\xC7Wa\x03\xC7a\n\xD1V[` \x02` \x01\x01\x81\x90RP\x85\x80a\x03\xDD\x90a\x0B\x9AV[\x96PP[PP[PP\x80\x80a\x03\xF1\x90a\x0B\x9AV[\x91PPa\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x88W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05BW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\x7FV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\x04Wa\x06\x04a\x05\xB2V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06\x04Wa\x06\x04a\x05\xB2V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06tWa\x06ta\x05\xB2V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x9EW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\xB2W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xCCWa\x06\xCCa\x05\xB2V[a\x06\xFD` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x06-V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x07\x12W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x07AW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07eWa\x07ea\x05\xB2V[\x81`@R\x82\x93P\x845\x91Pa\x07y\x82a\x06|V[\x90\x82R` \x84\x015\x90a\x07\x8B\x82a\x06|V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\xB5\x82a\x06|V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\xCFW`\0\x80\xFD[Pa\x07\xDC\x85\x82\x86\x01a\x06\xA1V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xFBW`\0\x80\xFD[a\x08\x03a\x05\xE1V[\x90P\x815a\x08\x10\x81a\x06|V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08?W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08[Wa\x08[a\x05\xB2V[a\x08i\x81\x83`\x05\x1B\x01a\x06-V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\x88W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\xE1W\x81\x81\x8A\x03\x12\x15a\x08\xA4W`\0\x80\x81\xFD[a\x08\xACa\x05\xE1V[\x815a\x08\xB7\x81a\x06|V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\xD0\x81a\x06|V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\x8CV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\t\0W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x18W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\t,W`\0\x80\xFD[a\t4a\x06\nV[\x825\x82\x81\x11\x15a\tCW`\0\x80\xFD[a\tO\x87\x82\x86\x01a\x07/V[\x82RPa\t_\x86` \x85\x01a\x07\xE9V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\tvW`\0\x80\xFD[a\t\x82\x87\x82\x86\x01a\x08.V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\t\x9AW`\0\x80\xFD[a\t\xA6\x87\x82\x86\x01a\x06\xA1V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\n&W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\xDDV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\nFW`\0\x80\xFD[\x825a\nQ\x81a\x06|V[\x91P` \x83\x015a\na\x81a\x06|V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\n\x81W`\0\x80\xFD[\x835a\n\x8C\x81a\x06|V[\x92P` \x84\x015a\n\x9C\x81a\x06|V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\xBFW`\0\x80\xFD[\x815a\n\xCA\x81a\x06|V[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0BFWa\x0BFa\x0B\0V[\x92\x91PPV[`\0\x82a\x0B\x82W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x01\x80\x82\x11\x15a\x0BFWa\x0BFa\x0B\0V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\xCBWa\x0B\xCBa\x0B\0V[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xFB\xD2\xB3\xFF\xED\xA5x4\x1BU\x07e\x89.,\xCD\x13\xAFK.\xDD\x9D5\xBEz\x1D\xEE\\\xA3f,HdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xD9V[a\x01iV[`@Qa\0\xBF\x91\x90a\t\xABV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\n\x1EV[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\nWV[a\x03\xEDV[\0[a\x01Ta\x01d6`\x04a\n\x98V[a\x04\xACV[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x9DV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03\xE4W`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\xBCV[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03\xDAW`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\xBCV[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\x0B\x1AV[a\x02\xAA\x91\x90a\x0B7V[\x90P`\0\x80[\x86\x81\x10\x15a\x030W`\0\x89\x82\x81Q\x81\x10a\x02\xCCWa\x02\xCCa\n\xBCV[` \x02` \x01\x01Q\x90P\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x03'W`\x01\x92P\x83\x81` \x01\x81\x81Qa\x03#\x91\x90a\x0BrV[\x90RP[P`\x01\x01a\x02\xB0V[P\x80\x15\x80\x15a\x03?WP`\0\x82\x11[\x15a\x03\xD7W`@Q\x80``\x01`@R\x80\x85s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x88\x87\x81Q\x81\x10a\x03\xBDWa\x03\xBDa\n\xBCV[` \x02` \x01\x01\x81\x90RP\x85\x80a\x03\xD3\x90a\x0B\x85V[\x96PP[PP[PP`\x01\x01a\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04sW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05-W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04jV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xEFWa\x05\xEFa\x05\x9DV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xEFWa\x05\xEFa\x05\x9DV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x06_Wa\x06_a\x05\x9DV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x89W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x9DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\xB7Wa\x06\xB7a\x05\x9DV[a\x06\xE8` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x06\x18V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xFDW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x07,W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07PWa\x07Pa\x05\x9DV[\x81`@R\x82\x93P\x845\x91Pa\x07d\x82a\x06gV[\x90\x82R` \x84\x015\x90a\x07v\x82a\x06gV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\xA0\x82a\x06gV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\xBAW`\0\x80\xFD[Pa\x07\xC7\x85\x82\x86\x01a\x06\x8CV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xE6W`\0\x80\xFD[a\x07\xEEa\x05\xCCV[\x90P\x815a\x07\xFB\x81a\x06gV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08*W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08FWa\x08Fa\x05\x9DV[a\x08T\x81\x83`\x05\x1B\x01a\x06\x18V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08sW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\xCCW\x81\x81\x8A\x03\x12\x15a\x08\x8FW`\0\x80\x81\xFD[a\x08\x97a\x05\xCCV[\x815a\x08\xA2\x81a\x06gV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\xBB\x81a\x06gV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08wV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\t\x17W`\0\x80\xFD[a\t\x1Fa\x05\xF5V[\x825\x82\x81\x11\x15a\t.W`\0\x80\xFD[a\t:\x87\x82\x86\x01a\x07\x1AV[\x82RPa\tJ\x86` \x85\x01a\x07\xD4V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\taW`\0\x80\xFD[a\tm\x87\x82\x86\x01a\x08\x19V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\t\x85W`\0\x80\xFD[a\t\x91\x87\x82\x86\x01a\x06\x8CV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\n\x11W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\xC8V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825a\n<\x81a\x06gV[\x91P` \x83\x015a\nL\x81a\x06gV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\nlW`\0\x80\xFD[\x835a\nw\x81a\x06gV[\x92P` \x84\x015a\n\x87\x81a\x06gV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\xAAW`\0\x80\xFD[\x815a\n\xB5\x81a\x06gV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0B1Wa\x0B1a\n\xEBV[\x92\x91PPV[`\0\x82a\x0BmW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x80\x82\x01\x80\x82\x11\x15a\x0B1Wa\x0B1a\n\xEBV[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\xB6Wa\x0B\xB6a\n\xEBV[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xAA\xD0(d\xB2.{\xA8b\xF7\xBD\xB8\x0E\xEC\x80<\n!\xE4\xBF\xB0\xD2\xA5\x9C\x02\\\xE0\xD0\xCF8\x0F?dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKFEECONTROLLER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKFEECONTROLLER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockFeeController(::ethers::contract::Contract); impl ::core::clone::Clone for MockFeeController { fn clone(&self) -> Self { @@ -259,11 +308,13 @@ pub mod mock_fee_controller { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKFEECONTROLLER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFEECONTROLLER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -307,7 +358,10 @@ pub mod mock_fee_controller { ///Calls the contract's `feeRecipient` (0x46904840) function pub fn fee_recipient( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([70, 144, 72, 64], ()) .expect("method not found (this should never happen)") @@ -326,7 +380,10 @@ pub mod mock_fee_controller { pub fn get_fee_outputs( &self, order: ResolvedOrder, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([138, 166, 207, 3], (order,)) .expect("method not found (this should never happen)") @@ -334,7 +391,10 @@ pub mod mock_fee_controller { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -362,22 +422,26 @@ pub mod mock_fee_controller { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for MockFeeController - { + for MockFeeController { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -386,11 +450,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -407,11 +473,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeRecipient", abi = "feeRecipient()")] pub struct FeeRecipientCall; @@ -420,11 +488,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "fees", abi = "fees(address,address)")] pub struct FeesCall { @@ -436,11 +506,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "getFeeOutputs", @@ -454,11 +526,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -467,11 +541,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setFee", abi = "setFee(address,address,uint256)")] pub struct SetFeeCall { @@ -484,18 +560,29 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockFeeControllerCalls { FeeRecipient(FeeRecipientCall), Fees(FeesCall), @@ -509,26 +596,34 @@ pub mod mock_fee_controller { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeRecipient(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Fees(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::GetFeeOutputs(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetFee(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -537,12 +632,18 @@ pub mod mock_fee_controller { impl ::ethers::core::abi::AbiEncode for MockFeeControllerCalls { fn encode(self) -> Vec { match self { - Self::FeeRecipient(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeRecipient(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Fees(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetFeeOutputs(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetFeeOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetFee(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -593,11 +694,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeRecipientReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `fees` function with signature `fees(address,address)` and selector `0x9b9ac2cb` @@ -605,11 +708,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` @@ -617,11 +722,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct GetFeeOutputsReturn { pub result: ::std::vec::Vec, @@ -631,11 +738,13 @@ pub mod mock_fee_controller { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/mock_fee_controller_duplicates.rs b/crates/bindings-uniswapx/src/mock_fee_controller_duplicates.rs index 2754439..07f3fda 100644 --- a/crates/bindings-uniswapx/src/mock_fee_controller_duplicates.rs +++ b/crates/bindings-uniswapx/src/mock_fee_controller_duplicates.rs @@ -7,7 +7,7 @@ pub use mock_fee_controller_duplicates::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_fee_controller_duplicates { pub use super::super::shared_types::*; @@ -15,219 +15,268 @@ pub mod mock_fee_controller_duplicates { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("feeRecipient"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeRecipient"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeRecipient"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("fees"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("fees"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("fees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("result"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("result"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setFee"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setFee"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fee"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setFee"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fee"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, }, ], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static MOCKFEECONTROLLERDUPLICATES_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKFEECONTROLLERDUPLICATES_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0C#8\x03\x80a\x0C#\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0BQa\0\xD2`\09`\0\x81\x81`|\x01Ra\x02\xDB\x01Ra\x0BQ`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08JV[a\x01iV[`@Qa\0\xBF\x91\x90a\t\x1CV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\t\x8FV[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\t\xC8V[a\x03^V[\0[a\x01Ta\x01d6`\x04a\n\tV[a\x04\x1DV[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x0EV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03UW`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n-V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03@W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n-V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\n\x8BV[a\x02\xAA\x91\x90a\n\xA8V[\x90P`@Q\x80``\x01`@R\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x87\x86\x81Q\x81\x10a\x03%Wa\x03%a\n-V[` \x02` \x01\x01\x81\x90RP\x84\x80a\x03;\x90a\n\xE3V[\x95PPP[PP\x80\x80a\x03M\x90a\n\xE3V[\x91PPa\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xE4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x9EW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xDBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05`Wa\x05`a\x05\x0EV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05`Wa\x05`a\x05\x0EV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xD0Wa\x05\xD0a\x05\x0EV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05\xFAW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x0EW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06(Wa\x06(a\x05\x0EV[a\x06Y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\x89V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06nW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\x9DW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xC1Wa\x06\xC1a\x05\x0EV[\x81`@R\x82\x93P\x845\x91Pa\x06\xD5\x82a\x05\xD8V[\x90\x82R` \x84\x015\x90a\x06\xE7\x82a\x05\xD8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x11\x82a\x05\xD8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07+W`\0\x80\xFD[Pa\x078\x85\x82\x86\x01a\x05\xFDV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07WW`\0\x80\xFD[a\x07_a\x05=V[\x90P\x815a\x07l\x81a\x05\xD8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\x9BW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xB7Wa\x07\xB7a\x05\x0EV[a\x07\xC5\x81\x83`\x05\x1B\x01a\x05\x89V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xE4W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08=W\x81\x81\x8A\x03\x12\x15a\x08\0W`\0\x80\x81\xFD[a\x08\x08a\x05=V[\x815a\x08\x13\x81a\x05\xD8V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08,\x81a\x05\xD8V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xE8V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\\W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08tW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08\x88W`\0\x80\xFD[a\x08\x90a\x05fV[\x825\x82\x81\x11\x15a\x08\x9FW`\0\x80\xFD[a\x08\xAB\x87\x82\x86\x01a\x06\x8BV[\x82RPa\x08\xBB\x86` \x85\x01a\x07EV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\xD2W`\0\x80\xFD[a\x08\xDE\x87\x82\x86\x01a\x07\x8AV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08\xF6W`\0\x80\xFD[a\t\x02\x87\x82\x86\x01a\x05\xFDV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\t\x82W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t9V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\t\xA2W`\0\x80\xFD[\x825a\t\xAD\x81a\x05\xD8V[\x91P` \x83\x015a\t\xBD\x81a\x05\xD8V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\xDDW`\0\x80\xFD[\x835a\t\xE8\x81a\x05\xD8V[\x92P` \x84\x015a\t\xF8\x81a\x05\xD8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\x1BW`\0\x80\xFD[\x815a\n&\x81a\x05\xD8V[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\xA2Wa\n\xA2a\n\\V[\x92\x91PPV[`\0\x82a\n\xDEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\x14Wa\x0B\x14a\n\\V[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xDA\xA1U\xAC\x8B\x92\xDBx\xDEK,!an\x9CL\x9Dj\"\xDC'\x99S\xE0y\xB1\x9CI$\xBAt^dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0C\x188\x03\x80a\x0C\x18\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0BFa\0\xD2`\09`\0\x81\x81`|\x01Ra\x02\xDB\x01Ra\x0BF`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08?V[a\x01iV[`@Qa\0\xBF\x91\x90a\t\x11V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\t\x84V[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\t\xBDV[a\x03SV[\0[a\x01Ta\x01d6`\x04a\t\xFEV[a\x04\x12V[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x03V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03JW`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\"V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03@W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\"V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\n\x80V[a\x02\xAA\x91\x90a\n\x9DV[\x90P`@Q\x80``\x01`@R\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x87\x86\x81Q\x81\x10a\x03%Wa\x03%a\n\"V[` \x02` \x01\x01\x81\x90RP\x84\x80a\x03;\x90a\n\xD8V[\x95PPP[PP`\x01\x01a\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xD9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x93W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xD0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05UWa\x05Ua\x05\x03V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05UWa\x05Ua\x05\x03V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC5Wa\x05\xC5a\x05\x03V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05\xEFW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x03W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x1DWa\x06\x1Da\x05\x03V[a\x06N` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05~V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06cW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\x92W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xB6Wa\x06\xB6a\x05\x03V[\x81`@R\x82\x93P\x845\x91Pa\x06\xCA\x82a\x05\xCDV[\x90\x82R` \x84\x015\x90a\x06\xDC\x82a\x05\xCDV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x06\x82a\x05\xCDV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07 W`\0\x80\xFD[Pa\x07-\x85\x82\x86\x01a\x05\xF2V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07LW`\0\x80\xFD[a\x07Ta\x052V[\x90P\x815a\x07a\x81a\x05\xCDV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\x90W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xACWa\x07\xACa\x05\x03V[a\x07\xBA\x81\x83`\x05\x1B\x01a\x05~V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xD9W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x082W\x81\x81\x8A\x03\x12\x15a\x07\xF5W`\0\x80\x81\xFD[a\x07\xFDa\x052V[\x815a\x08\x08\x81a\x05\xCDV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08!\x81a\x05\xCDV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xDDV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08QW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08iW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08}W`\0\x80\xFD[a\x08\x85a\x05[V[\x825\x82\x81\x11\x15a\x08\x94W`\0\x80\xFD[a\x08\xA0\x87\x82\x86\x01a\x06\x80V[\x82RPa\x08\xB0\x86` \x85\x01a\x07:V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\xC7W`\0\x80\xFD[a\x08\xD3\x87\x82\x86\x01a\x07\x7FV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08\xEBW`\0\x80\xFD[a\x08\xF7\x87\x82\x86\x01a\x05\xF2V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\twW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t.V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\t\x97W`\0\x80\xFD[\x825a\t\xA2\x81a\x05\xCDV[\x91P` \x83\x015a\t\xB2\x81a\x05\xCDV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\xD2W`\0\x80\xFD[\x835a\t\xDD\x81a\x05\xCDV[\x92P` \x84\x015a\t\xED\x81a\x05\xCDV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\x10W`\0\x80\xFD[\x815a\n\x1B\x81a\x05\xCDV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\x97Wa\n\x97a\nQV[\x92\x91PPV[`\0\x82a\n\xD3W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\tWa\x0B\ta\nQV[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \x949\x10)\x97\xDB\xCCI\x89(j?$\xF7\xAE\x99\xD3MOD(nb\xD4\xDA\xBA\xC7\xB8\x1A\xB7\xC1XdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKFEECONTROLLERDUPLICATES_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKFEECONTROLLERDUPLICATES_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08JV[a\x01iV[`@Qa\0\xBF\x91\x90a\t\x1CV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\t\x8FV[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\t\xC8V[a\x03^V[\0[a\x01Ta\x01d6`\x04a\n\tV[a\x04\x1DV[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x0EV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03UW`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n-V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03@W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n-V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\n\x8BV[a\x02\xAA\x91\x90a\n\xA8V[\x90P`@Q\x80``\x01`@R\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x87\x86\x81Q\x81\x10a\x03%Wa\x03%a\n-V[` \x02` \x01\x01\x81\x90RP\x84\x80a\x03;\x90a\n\xE3V[\x95PPP[PP\x80\x80a\x03M\x90a\n\xE3V[\x91PPa\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xE4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x9EW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xDBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05`Wa\x05`a\x05\x0EV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05`Wa\x05`a\x05\x0EV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xD0Wa\x05\xD0a\x05\x0EV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05\xFAW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x0EW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06(Wa\x06(a\x05\x0EV[a\x06Y` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\x89V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06nW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\x9DW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xC1Wa\x06\xC1a\x05\x0EV[\x81`@R\x82\x93P\x845\x91Pa\x06\xD5\x82a\x05\xD8V[\x90\x82R` \x84\x015\x90a\x06\xE7\x82a\x05\xD8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x11\x82a\x05\xD8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07+W`\0\x80\xFD[Pa\x078\x85\x82\x86\x01a\x05\xFDV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07WW`\0\x80\xFD[a\x07_a\x05=V[\x90P\x815a\x07l\x81a\x05\xD8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\x9BW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xB7Wa\x07\xB7a\x05\x0EV[a\x07\xC5\x81\x83`\x05\x1B\x01a\x05\x89V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xE4W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08=W\x81\x81\x8A\x03\x12\x15a\x08\0W`\0\x80\x81\xFD[a\x08\x08a\x05=V[\x815a\x08\x13\x81a\x05\xD8V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08,\x81a\x05\xD8V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xE8V[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\\W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08tW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08\x88W`\0\x80\xFD[a\x08\x90a\x05fV[\x825\x82\x81\x11\x15a\x08\x9FW`\0\x80\xFD[a\x08\xAB\x87\x82\x86\x01a\x06\x8BV[\x82RPa\x08\xBB\x86` \x85\x01a\x07EV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\xD2W`\0\x80\xFD[a\x08\xDE\x87\x82\x86\x01a\x07\x8AV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08\xF6W`\0\x80\xFD[a\t\x02\x87\x82\x86\x01a\x05\xFDV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\t\x82W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t9V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\t\xA2W`\0\x80\xFD[\x825a\t\xAD\x81a\x05\xD8V[\x91P` \x83\x015a\t\xBD\x81a\x05\xD8V[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\xDDW`\0\x80\xFD[\x835a\t\xE8\x81a\x05\xD8V[\x92P` \x84\x015a\t\xF8\x81a\x05\xD8V[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\x1BW`\0\x80\xFD[\x815a\n&\x81a\x05\xD8V[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\xA2Wa\n\xA2a\n\\V[\x92\x91PPV[`\0\x82a\n\xDEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\x14Wa\x0B\x14a\n\\V[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xDA\xA1U\xAC\x8B\x92\xDBx\xDEK,!an\x9CL\x9Dj\"\xDC'\x99S\xE0y\xB1\x9CI$\xBAt^dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08?V[a\x01iV[`@Qa\0\xBF\x91\x90a\t\x11V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\t\x84V[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\t\xBDV[a\x03SV[\0[a\x01Ta\x01d6`\x04a\t\xFEV[a\x04\x12V[``\x81`@\x01QQg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x89Wa\x01\x89a\x05\x03V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xF2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\xA7W\x90P[P` \x83\x01QQ\x90\x91P`\0\x80[\x84`@\x01QQ\x81\x10\x15a\x03JW`\0\x85`@\x01Q\x82\x81Q\x81\x10a\x02%Wa\x02%a\n\"V[` \x90\x81\x02\x91\x90\x91\x01\x81\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x01\x84R`@\x80\x82 \x92\x84\x16\x82R\x91\x90\x93R\x90\x91 T\x90\x91P\x80\x15a\x03@W`\0a'\x10\x82\x89`@\x01Q\x86\x81Q\x81\x10a\x02\x8AWa\x02\x8Aa\n\"V[` \x02` \x01\x01Q` \x01Qa\x02\xA0\x91\x90a\n\x80V[a\x02\xAA\x91\x90a\n\x9DV[\x90P`@Q\x80``\x01`@R\x80\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x87\x86\x81Q\x81\x10a\x03%Wa\x03%a\n\"V[` \x02` \x01\x01\x81\x90RP\x84\x80a\x03;\x90a\n\xD8V[\x95PPP[PP`\x01\x01a\x02\0V[P\x82RP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xD9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x93W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xD0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05UWa\x05Ua\x05\x03V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05UWa\x05Ua\x05\x03V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC5Wa\x05\xC5a\x05\x03V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05\xEFW`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x03W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x1DWa\x06\x1Da\x05\x03V[a\x06N` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05~V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06cW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\x92W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xB6Wa\x06\xB6a\x05\x03V[\x81`@R\x82\x93P\x845\x91Pa\x06\xCA\x82a\x05\xCDV[\x90\x82R` \x84\x015\x90a\x06\xDC\x82a\x05\xCDV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x06\x82a\x05\xCDV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07 W`\0\x80\xFD[Pa\x07-\x85\x82\x86\x01a\x05\xF2V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07LW`\0\x80\xFD[a\x07Ta\x052V[\x90P\x815a\x07a\x81a\x05\xCDV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\x90W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\xACWa\x07\xACa\x05\x03V[a\x07\xBA\x81\x83`\x05\x1B\x01a\x05~V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xD9W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x082W\x81\x81\x8A\x03\x12\x15a\x07\xF5W`\0\x80\x81\xFD[a\x07\xFDa\x052V[\x815a\x08\x08\x81a\x05\xCDV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08!\x81a\x05\xCDV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xDDV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08QW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08iW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08}W`\0\x80\xFD[a\x08\x85a\x05[V[\x825\x82\x81\x11\x15a\x08\x94W`\0\x80\xFD[a\x08\xA0\x87\x82\x86\x01a\x06\x80V[\x82RPa\x08\xB0\x86` \x85\x01a\x07:V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\xC7W`\0\x80\xFD[a\x08\xD3\x87\x82\x86\x01a\x07\x7FV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08\xEBW`\0\x80\xFD[a\x08\xF7\x87\x82\x86\x01a\x05\xF2V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\twW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t.V[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\t\x97W`\0\x80\xFD[\x825a\t\xA2\x81a\x05\xCDV[\x91P` \x83\x015a\t\xB2\x81a\x05\xCDV[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\xD2W`\0\x80\xFD[\x835a\t\xDD\x81a\x05\xCDV[\x92P` \x84\x015a\t\xED\x81a\x05\xCDV[\x92\x95\x92\x94PPP`@\x91\x90\x91\x015\x90V[`\0` \x82\x84\x03\x12\x15a\n\x10W`\0\x80\xFD[\x815a\n\x1B\x81a\x05\xCDV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n\x97Wa\n\x97a\nQV[\x92\x91PPV[`\0\x82a\n\xD3W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0B\tWa\x0B\ta\nQV[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \x949\x10)\x97\xDB\xCCI\x89(j?$\xF7\xAE\x99\xD3MOD(nb\xD4\xDA\xBA\xC7\xB8\x1A\xB7\xC1XdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKFEECONTROLLERDUPLICATES_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKFEECONTROLLERDUPLICATES_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockFeeControllerDuplicates(::ethers::contract::Contract); impl ::core::clone::Clone for MockFeeControllerDuplicates { fn clone(&self) -> Self { @@ -259,11 +308,13 @@ pub mod mock_fee_controller_duplicates { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKFEECONTROLLERDUPLICATES_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFEECONTROLLERDUPLICATES_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -307,7 +358,10 @@ pub mod mock_fee_controller_duplicates { ///Calls the contract's `feeRecipient` (0x46904840) function pub fn fee_recipient( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([70, 144, 72, 64], ()) .expect("method not found (this should never happen)") @@ -326,7 +380,10 @@ pub mod mock_fee_controller_duplicates { pub fn get_fee_outputs( &self, order: ResolvedOrder, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([138, 166, 207, 3], (order,)) .expect("method not found (this should never happen)") @@ -334,7 +391,10 @@ pub mod mock_fee_controller_duplicates { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -362,22 +422,26 @@ pub mod mock_fee_controller_duplicates { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for MockFeeControllerDuplicates - { + for MockFeeControllerDuplicates { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -386,11 +450,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -407,11 +473,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeRecipient", abi = "feeRecipient()")] pub struct FeeRecipientCall; @@ -420,11 +488,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "fees", abi = "fees(address,address)")] pub struct FeesCall { @@ -436,11 +506,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "getFeeOutputs", @@ -454,11 +526,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -467,11 +541,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setFee", abi = "setFee(address,address,uint256)")] pub struct SetFeeCall { @@ -484,18 +560,29 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockFeeControllerDuplicatesCalls { FeeRecipient(FeeRecipientCall), Fees(FeesCall), @@ -509,26 +596,34 @@ pub mod mock_fee_controller_duplicates { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeRecipient(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Fees(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::GetFeeOutputs(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetFee(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -537,12 +632,18 @@ pub mod mock_fee_controller_duplicates { impl ::ethers::core::abi::AbiEncode for MockFeeControllerDuplicatesCalls { fn encode(self) -> Vec { match self { - Self::FeeRecipient(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeRecipient(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Fees(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetFeeOutputs(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetFeeOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetFee(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -583,7 +684,8 @@ pub mod mock_fee_controller_duplicates { Self::SetFee(value) } } - impl ::core::convert::From for MockFeeControllerDuplicatesCalls { + impl ::core::convert::From + for MockFeeControllerDuplicatesCalls { fn from(value: TransferOwnershipCall) -> Self { Self::TransferOwnership(value) } @@ -593,11 +695,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeRecipientReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `fees` function with signature `fees(address,address)` and selector `0x9b9ac2cb` @@ -605,11 +709,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` @@ -617,11 +723,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct GetFeeOutputsReturn { pub result: ::std::vec::Vec, @@ -631,11 +739,13 @@ pub mod mock_fee_controller_duplicates { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/mock_fee_controller_input_and_output_fees.rs b/crates/bindings-uniswapx/src/mock_fee_controller_input_and_output_fees.rs new file mode 100644 index 0000000..7b82ab2 --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_fee_controller_input_and_output_fees.rs @@ -0,0 +1,735 @@ +pub use mock_fee_controller_input_and_output_fees::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_fee_controller_input_and_output_fees { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("feeRecipient"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeRecipient"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("fees"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("fees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("result"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("owner"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setFee"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setFee"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fee"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferOwnership"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKFEECONTROLLERINPUTANDOUTPUTFEES_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0B\xFD8\x03\x80a\x0B\xFD\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0B$a\0\xD9`\09`\0\x81\x81`|\x01R\x81\x81a\x02F\x01Ra\x03q\x01Ra\x0B$`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\xE5QV\xB5\x11a\0PW\x80c\xE5QV\xB5\x14a\x01\x08W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW\x80c\xFA\xAE\xBD!\x14a\x010W`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xABV[a\x01^V[`@Qa\0\xBF\x91\x90a\t}V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x01\x1Ba\x01\x166`\x04a\t\xF0V[a\x03\xCFV[\0[a\x01\x1Ba\x01+6`\x04a\n\x1CV[a\x04~V[a\x01Pa\x01>6`\x04a\n\x1CV[`\x01` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[`@\x80Q`\x02\x80\x82R``\x82\x81\x01\x90\x93R\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01tWPP` \x83\x81\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01\x83R`@\x81 T\x91Q\x90\x92\x01Q\x92\x93P\x91a'\x10\x90a\x02\x03\x90\x84\x90a\n@V[a\x02\r\x91\x90a\n\x84V[\x90P`@Q\x80``\x01`@R\x80\x85` \x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x83`\0\x81Q\x81\x10a\x02\x91Wa\x02\x91a\n\xBFV[` \x02` \x01\x01\x81\x90RP`\0\x84`@\x01Q`\0\x81Q\x81\x10a\x02\xB5Wa\x02\xB5a\n\xBFV[` \x02` \x01\x01Q`\0\x01Q\x90P`\x01`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x90\x81R` \x01`\0 T\x92Pa'\x10\x83\x86`@\x01Q`\0\x81Q\x81\x10a\x03 Wa\x03 a\n\xBFV[` \x02` \x01\x01Q` \x01Qa\x036\x91\x90a\n@V[a\x03@\x91\x90a\n\x84V[\x91P`@Q\x80``\x01`@R\x80\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x84`\x01\x81Q\x81\x10a\x03\xBCWa\x03\xBCa\n\xBFV[` \x02` \x01\x01\x81\x90RPPPP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\0\x90\x81R`\x01` R`@\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xFFW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04LV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC1Wa\x05\xC1a\x05oV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC1Wa\x05\xC1a\x05oV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x061Wa\x061a\x05oV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06[W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06oW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x89Wa\x06\x89a\x05oV[a\x06\xBA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\xEAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xCFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xFEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07\"Wa\x07\"a\x05oV[\x81`@R\x82\x93P\x845\x91Pa\x076\x82a\x069V[\x90\x82R` \x84\x015\x90a\x07H\x82a\x069V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07r\x82a\x069V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\x8CW`\0\x80\xFD[Pa\x07\x99\x85\x82\x86\x01a\x06^V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xB8W`\0\x80\xFD[a\x07\xC0a\x05\x9EV[\x90P\x815a\x07\xCD\x81a\x069V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xFCW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08\x18Wa\x08\x18a\x05oV[a\x08&\x81\x83`\x05\x1B\x01a\x05\xEAV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08EW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\x9EW\x81\x81\x8A\x03\x12\x15a\x08aW`\0\x80\x81\xFD[a\x08ia\x05\x9EV[\x815a\x08t\x81a\x069V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\x8D\x81a\x069V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08IV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\xBDW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08\xD5W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08\xE9W`\0\x80\xFD[a\x08\xF1a\x05\xC7V[\x825\x82\x81\x11\x15a\t\0W`\0\x80\xFD[a\t\x0C\x87\x82\x86\x01a\x06\xECV[\x82RPa\t\x1C\x86` \x85\x01a\x07\xA6V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\t3W`\0\x80\xFD[a\t?\x87\x82\x86\x01a\x07\xEBV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\tWW`\0\x80\xFD[a\tc\x87\x82\x86\x01a\x06^V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\t\xE3W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\x9AV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\x03W`\0\x80\xFD[\x825a\n\x0E\x81a\x069V[\x94` \x93\x90\x93\x015\x93PPPV[`\0` \x82\x84\x03\x12\x15a\n.W`\0\x80\xFD[\x815a\n9\x81a\x069V[\x93\x92PPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n~W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[`\0\x82a\n\xBAW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x1F\xBC\x89h\xB1\xCE\xE404\rl\x1EE\xF6\x8B\x83\xB0\xC4h#1\xF9\xCAT\x13\xDF\xA7^}/XDdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKFEECONTROLLERINPUTANDOUTPUTFEES_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\xE5QV\xB5\x11a\0PW\x80c\xE5QV\xB5\x14a\x01\x08W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW\x80c\xFA\xAE\xBD!\x14a\x010W`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x08\xABV[a\x01^V[`@Qa\0\xBF\x91\x90a\t}V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x01\x1Ba\x01\x166`\x04a\t\xF0V[a\x03\xCFV[\0[a\x01\x1Ba\x01+6`\x04a\n\x1CV[a\x04~V[a\x01Pa\x01>6`\x04a\n\x1CV[`\x01` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[`@\x80Q`\x02\x80\x82R``\x82\x81\x01\x90\x93R\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01tWPP` \x83\x81\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01\x83R`@\x81 T\x91Q\x90\x92\x01Q\x92\x93P\x91a'\x10\x90a\x02\x03\x90\x84\x90a\n@V[a\x02\r\x91\x90a\n\x84V[\x90P`@Q\x80``\x01`@R\x80\x85` \x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x83`\0\x81Q\x81\x10a\x02\x91Wa\x02\x91a\n\xBFV[` \x02` \x01\x01\x81\x90RP`\0\x84`@\x01Q`\0\x81Q\x81\x10a\x02\xB5Wa\x02\xB5a\n\xBFV[` \x02` \x01\x01Q`\0\x01Q\x90P`\x01`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x90\x81R` \x01`\0 T\x92Pa'\x10\x83\x86`@\x01Q`\0\x81Q\x81\x10a\x03 Wa\x03 a\n\xBFV[` \x02` \x01\x01Q` \x01Qa\x036\x91\x90a\n@V[a\x03@\x91\x90a\n\x84V[\x91P`@Q\x80``\x01`@R\x80\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x84`\x01\x81Q\x81\x10a\x03\xBCWa\x03\xBCa\n\xBFV[` \x02` \x01\x01\x81\x90RPPPP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04UW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\0\x90\x81R`\x01` R`@\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xFFW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04LV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC1Wa\x05\xC1a\x05oV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xC1Wa\x05\xC1a\x05oV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x061Wa\x061a\x05oV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06[W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06oW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06\x89Wa\x06\x89a\x05oV[a\x06\xBA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\xEAV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xCFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xFEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x07\"Wa\x07\"a\x05oV[\x81`@R\x82\x93P\x845\x91Pa\x076\x82a\x069V[\x90\x82R` \x84\x015\x90a\x07H\x82a\x069V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07r\x82a\x069V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07\x8CW`\0\x80\xFD[Pa\x07\x99\x85\x82\x86\x01a\x06^V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\xB8W`\0\x80\xFD[a\x07\xC0a\x05\x9EV[\x90P\x815a\x07\xCD\x81a\x069V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xFCW`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x08\x18Wa\x08\x18a\x05oV[a\x08&\x81\x83`\x05\x1B\x01a\x05\xEAV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08EW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08\x9EW\x81\x81\x8A\x03\x12\x15a\x08aW`\0\x80\x81\xFD[a\x08ia\x05\x9EV[\x815a\x08t\x81a\x069V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08\x8D\x81a\x069V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08IV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x08\xBDW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08\xD5W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x08\xE9W`\0\x80\xFD[a\x08\xF1a\x05\xC7V[\x825\x82\x81\x11\x15a\t\0W`\0\x80\xFD[a\t\x0C\x87\x82\x86\x01a\x06\xECV[\x82RPa\t\x1C\x86` \x85\x01a\x07\xA6V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\t3W`\0\x80\xFD[a\t?\x87\x82\x86\x01a\x07\xEBV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\tWW`\0\x80\xFD[a\tc\x87\x82\x86\x01a\x06^V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\t\xE3W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\t\x9AV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\x03W`\0\x80\xFD[\x825a\n\x0E\x81a\x069V[\x94` \x93\x90\x93\x015\x93PPPV[`\0` \x82\x84\x03\x12\x15a\n.W`\0\x80\xFD[\x815a\n9\x81a\x069V[\x93\x92PPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\n~W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[`\0\x82a\n\xBAW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \x1F\xBC\x89h\xB1\xCE\xE404\rl\x1EE\xF6\x8B\x83\xB0\xC4h#1\xF9\xCAT\x13\xDF\xA7^}/XDdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKFEECONTROLLERINPUTANDOUTPUTFEES_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockFeeControllerInputAndOutputFees(::ethers::contract::Contract); + impl ::core::clone::Clone for MockFeeControllerInputAndOutputFees { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockFeeControllerInputAndOutputFees { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockFeeControllerInputAndOutputFees { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockFeeControllerInputAndOutputFees { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockFeeControllerInputAndOutputFees)) + .field(&self.address()) + .finish() + } + } + impl MockFeeControllerInputAndOutputFees { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFEECONTROLLERINPUTANDOUTPUTFEES_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKFEECONTROLLERINPUTANDOUTPUTFEES_ABI.clone(), + MOCKFEECONTROLLERINPUTANDOUTPUTFEES_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `feeRecipient` (0x46904840) function + pub fn fee_recipient( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([70, 144, 72, 64], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `fees` (0xfaaebd21) function + pub fn fees( + &self, + token_in: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([250, 174, 189, 33], token_in) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getFeeOutputs` (0x8aa6cf03) function + pub fn get_fee_outputs( + &self, + order: ResolvedOrder, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([138, 166, 207, 3], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `owner` (0x8da5cb5b) function + pub fn owner( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([141, 165, 203, 91], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setFee` (0xe55156b5) function + pub fn set_fee( + &self, + token_in: ::ethers::core::types::Address, + fee: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([229, 81, 86, 181], (token_in, fee)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferOwnership` (0xf2fde38b) function + pub fn transfer_ownership( + &self, + new_owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([242, 253, 227, 139], new_owner) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `OwnershipTransferred` event + pub fn ownership_transferred_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for MockFeeControllerInputAndOutputFees { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "OwnershipTransferred", + abi = "OwnershipTransferred(address,address)" + )] + pub struct OwnershipTransferredFilter { + #[ethevent(indexed)] + pub user: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `feeRecipient` function with signature `feeRecipient()` and selector `0x46904840` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "feeRecipient", abi = "feeRecipient()")] + pub struct FeeRecipientCall; + ///Container type for all input parameters for the `fees` function with signature `fees(address)` and selector `0xfaaebd21` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "fees", abi = "fees(address)")] + pub struct FeesCall { + pub token_in: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "getFeeOutputs", + abi = "getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))" + )] + pub struct GetFeeOutputsCall { + pub order: ResolvedOrder, + } + ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "owner", abi = "owner()")] + pub struct OwnerCall; + ///Container type for all input parameters for the `setFee` function with signature `setFee(address,uint256)` and selector `0xe55156b5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setFee", abi = "setFee(address,uint256)")] + pub struct SetFeeCall { + pub token_in: ::ethers::core::types::Address, + pub fee: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] + pub struct TransferOwnershipCall { + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockFeeControllerInputAndOutputFeesCalls { + FeeRecipient(FeeRecipientCall), + Fees(FeesCall), + GetFeeOutputs(GetFeeOutputsCall), + Owner(OwnerCall), + SetFee(SetFeeCall), + TransferOwnership(TransferOwnershipCall), + } + impl ::ethers::core::abi::AbiDecode for MockFeeControllerInputAndOutputFeesCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeRecipient(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Fees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetFeeOutputs(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Owner(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetFee(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferOwnership(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockFeeControllerInputAndOutputFeesCalls { + fn encode(self) -> Vec { + match self { + Self::FeeRecipient(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Fees(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetFeeOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetFee(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockFeeControllerInputAndOutputFeesCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::FeeRecipient(element) => ::core::fmt::Display::fmt(element, f), + Self::Fees(element) => ::core::fmt::Display::fmt(element, f), + Self::GetFeeOutputs(element) => ::core::fmt::Display::fmt(element, f), + Self::Owner(element) => ::core::fmt::Display::fmt(element, f), + Self::SetFee(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From + for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: FeeRecipientCall) -> Self { + Self::FeeRecipient(value) + } + } + impl ::core::convert::From for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: FeesCall) -> Self { + Self::Fees(value) + } + } + impl ::core::convert::From + for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: GetFeeOutputsCall) -> Self { + Self::GetFeeOutputs(value) + } + } + impl ::core::convert::From for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: OwnerCall) -> Self { + Self::Owner(value) + } + } + impl ::core::convert::From for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: SetFeeCall) -> Self { + Self::SetFee(value) + } + } + impl ::core::convert::From + for MockFeeControllerInputAndOutputFeesCalls { + fn from(value: TransferOwnershipCall) -> Self { + Self::TransferOwnership(value) + } + } + ///Container type for all return fields from the `feeRecipient` function with signature `feeRecipient()` and selector `0x46904840` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeeRecipientReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `fees` function with signature `fees(address)` and selector `0xfaaebd21` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeesReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetFeeOutputsReturn { + pub result: ::std::vec::Vec, + } + ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerReturn(pub ::ethers::core::types::Address); +} diff --git a/crates/bindings-uniswapx/src/mock_fee_controller_input_fees.rs b/crates/bindings-uniswapx/src/mock_fee_controller_input_fees.rs new file mode 100644 index 0000000..b3f73cf --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_fee_controller_input_fees.rs @@ -0,0 +1,733 @@ +pub use mock_fee_controller_input_fees::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_fee_controller_input_fees { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("feeRecipient"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeRecipient"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("fees"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("fees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("result"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("owner"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setFee"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setFee"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fee"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferOwnership"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKFEECONTROLLERINPUTFEES_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\n\xCB8\x03\x80a\n\xCB\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\t\xF9a\0\xD2`\09`\0\x81\x81`|\x01Ra\x02G\x01Ra\t\xF9`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\xE5QV\xB5\x11a\0PW\x80c\xE5QV\xB5\x14a\x01\x08W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW\x80c\xFA\xAE\xBD!\x14a\x010W`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x07\x80V[a\x01^V[`@Qa\0\xBF\x91\x90a\x08RV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x01\x1Ba\x01\x166`\x04a\x08\xC5V[a\x02\xA4V[\0[a\x01\x1Ba\x01+6`\x04a\x08\xF1V[a\x03SV[a\x01Pa\x01>6`\x04a\x08\xF1V[`\x01` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01uWPP` \x83\x81\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01\x83R`@\x81 T\x91Q\x90\x92\x01Q\x92\x93P\x91a'\x10\x90a\x02\x04\x90\x84\x90a\t\x15V[a\x02\x0E\x91\x90a\tYV[\x90P`@Q\x80``\x01`@R\x80\x85` \x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x83`\0\x81Q\x81\x10a\x02\x92Wa\x02\x92a\t\x94V[` \x02` \x01\x01\x81\x90RPPP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03*W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\0\x90\x81R`\x01` R`@\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xD4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03!V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x96Wa\x04\x96a\x04DV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x96Wa\x04\x96a\x04DV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\x06Wa\x05\x06a\x04DV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x050W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x05DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x05^Wa\x05^a\x04DV[a\x05\x8F` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x04\xBFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x05\xA4W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x05\xD3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x05\xF7Wa\x05\xF7a\x04DV[\x81`@R\x82\x93P\x845\x91Pa\x06\x0B\x82a\x05\x0EV[\x90\x82R` \x84\x015\x90a\x06\x1D\x82a\x05\x0EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x06G\x82a\x05\x0EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x06aW`\0\x80\xFD[Pa\x06n\x85\x82\x86\x01a\x053V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x06\x8DW`\0\x80\xFD[a\x06\x95a\x04sV[\x90P\x815a\x06\xA2\x81a\x05\x0EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x06\xD1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x06\xEDWa\x06\xEDa\x04DV[a\x06\xFB\x81\x83`\x05\x1B\x01a\x04\xBFV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\x1AW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x07sW\x81\x81\x8A\x03\x12\x15a\x076W`\0\x80\x81\xFD[a\x07>a\x04sV[\x815a\x07I\x81a\x05\x0EV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x07b\x81a\x05\x0EV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\x1EV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x07\x92W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xAAW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x07\xBEW`\0\x80\xFD[a\x07\xC6a\x04\x9CV[\x825\x82\x81\x11\x15a\x07\xD5W`\0\x80\xFD[a\x07\xE1\x87\x82\x86\x01a\x05\xC1V[\x82RPa\x07\xF1\x86` \x85\x01a\x06{V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\x08W`\0\x80\xFD[a\x08\x14\x87\x82\x86\x01a\x06\xC0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08,W`\0\x80\xFD[a\x088\x87\x82\x86\x01a\x053V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\x08\xB8W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\x08oV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xD8W`\0\x80\xFD[\x825a\x08\xE3\x81a\x05\x0EV[\x94` \x93\x90\x93\x015\x93PPPV[`\0` \x82\x84\x03\x12\x15a\t\x03W`\0\x80\xFD[\x815a\t\x0E\x81a\x05\x0EV[\x93\x92PPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\tSW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[`\0\x82a\t\x8FW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xED\x02\xC0}y\x10K\xFA\xB8#c\xB5:\x8A\xC4A\xA3\xE5\x9D\xA0\rC\xFD\x13\xA7\xD5~\x1E\x8C*\xBB#dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKFEECONTROLLERINPUTFEES_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\xE5QV\xB5\x11a\0PW\x80c\xE5QV\xB5\x14a\x01\x08W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW\x80c\xFA\xAE\xBD!\x14a\x010W`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x07\x80V[a\x01^V[`@Qa\0\xBF\x91\x90a\x08RV[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x01\x1Ba\x01\x166`\x04a\x08\xC5V[a\x02\xA4V[\0[a\x01\x1Ba\x01+6`\x04a\x08\xF1V[a\x03SV[a\x01Pa\x01>6`\x04a\x08\xF1V[`\x01` R`\0\x90\x81R`@\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01uWPP` \x83\x81\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01\x83R`@\x81 T\x91Q\x90\x92\x01Q\x92\x93P\x91a'\x10\x90a\x02\x04\x90\x84\x90a\t\x15V[a\x02\x0E\x91\x90a\tYV[\x90P`@Q\x80``\x01`@R\x80\x85` \x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x83`\0\x81Q\x81\x10a\x02\x92Wa\x02\x92a\t\x94V[` \x02` \x01\x01\x81\x90RPPP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03*W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\0\x90\x81R`\x01` R`@\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xD4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03!V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x96Wa\x04\x96a\x04DV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x96Wa\x04\x96a\x04DV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\x06Wa\x05\x06a\x04DV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x050W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x05DW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x05^Wa\x05^a\x04DV[a\x05\x8F` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x04\xBFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x05\xA4W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x05\xD3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x05\xF7Wa\x05\xF7a\x04DV[\x81`@R\x82\x93P\x845\x91Pa\x06\x0B\x82a\x05\x0EV[\x90\x82R` \x84\x015\x90a\x06\x1D\x82a\x05\x0EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x06G\x82a\x05\x0EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x06aW`\0\x80\xFD[Pa\x06n\x85\x82\x86\x01a\x053V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x06\x8DW`\0\x80\xFD[a\x06\x95a\x04sV[\x90P\x815a\x06\xA2\x81a\x05\x0EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x06\xD1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x06\xEDWa\x06\xEDa\x04DV[a\x06\xFB\x81\x83`\x05\x1B\x01a\x04\xBFV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\x1AW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x07sW\x81\x81\x8A\x03\x12\x15a\x076W`\0\x80\x81\xFD[a\x07>a\x04sV[\x815a\x07I\x81a\x05\x0EV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x07b\x81a\x05\x0EV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\x1EV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x07\x92W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xAAW`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x07\xBEW`\0\x80\xFD[a\x07\xC6a\x04\x9CV[\x825\x82\x81\x11\x15a\x07\xD5W`\0\x80\xFD[a\x07\xE1\x87\x82\x86\x01a\x05\xC1V[\x82RPa\x07\xF1\x86` \x85\x01a\x06{V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x08\x08W`\0\x80\xFD[a\x08\x14\x87\x82\x86\x01a\x06\xC0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x08,W`\0\x80\xFD[a\x088\x87\x82\x86\x01a\x053V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90\x86\x84\x01\x85[\x82\x81\x10\x15a\x08\xB8W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x86R\x87\x82\x01Q\x88\x87\x01R\x90\x86\x01Q\x16\x85\x85\x01R``\x90\x93\x01\x92\x90\x85\x01\x90`\x01\x01a\x08oV[P\x91\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xD8W`\0\x80\xFD[\x825a\x08\xE3\x81a\x05\x0EV[\x94` \x93\x90\x93\x015\x93PPPV[`\0` \x82\x84\x03\x12\x15a\t\x03W`\0\x80\xFD[\x815a\t\x0E\x81a\x05\x0EV[\x93\x92PPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\tSW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[`\0\x82a\t\x8FW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xED\x02\xC0}y\x10K\xFA\xB8#c\xB5:\x8A\xC4A\xA3\xE5\x9D\xA0\rC\xFD\x13\xA7\xD5~\x1E\x8C*\xBB#dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKFEECONTROLLERINPUTFEES_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockFeeControllerInputFees(::ethers::contract::Contract); + impl ::core::clone::Clone for MockFeeControllerInputFees { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockFeeControllerInputFees { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockFeeControllerInputFees { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockFeeControllerInputFees { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockFeeControllerInputFees)) + .field(&self.address()) + .finish() + } + } + impl MockFeeControllerInputFees { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFEECONTROLLERINPUTFEES_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKFEECONTROLLERINPUTFEES_ABI.clone(), + MOCKFEECONTROLLERINPUTFEES_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `feeRecipient` (0x46904840) function + pub fn fee_recipient( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([70, 144, 72, 64], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `fees` (0xfaaebd21) function + pub fn fees( + &self, + token_in: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([250, 174, 189, 33], token_in) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `getFeeOutputs` (0x8aa6cf03) function + pub fn get_fee_outputs( + &self, + order: ResolvedOrder, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([138, 166, 207, 3], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `owner` (0x8da5cb5b) function + pub fn owner( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([141, 165, 203, 91], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setFee` (0xe55156b5) function + pub fn set_fee( + &self, + token_in: ::ethers::core::types::Address, + fee: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([229, 81, 86, 181], (token_in, fee)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferOwnership` (0xf2fde38b) function + pub fn transfer_ownership( + &self, + new_owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([242, 253, 227, 139], new_owner) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `OwnershipTransferred` event + pub fn ownership_transferred_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for MockFeeControllerInputFees { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "OwnershipTransferred", + abi = "OwnershipTransferred(address,address)" + )] + pub struct OwnershipTransferredFilter { + #[ethevent(indexed)] + pub user: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `feeRecipient` function with signature `feeRecipient()` and selector `0x46904840` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "feeRecipient", abi = "feeRecipient()")] + pub struct FeeRecipientCall; + ///Container type for all input parameters for the `fees` function with signature `fees(address)` and selector `0xfaaebd21` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "fees", abi = "fees(address)")] + pub struct FeesCall { + pub token_in: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "getFeeOutputs", + abi = "getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))" + )] + pub struct GetFeeOutputsCall { + pub order: ResolvedOrder, + } + ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "owner", abi = "owner()")] + pub struct OwnerCall; + ///Container type for all input parameters for the `setFee` function with signature `setFee(address,uint256)` and selector `0xe55156b5` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setFee", abi = "setFee(address,uint256)")] + pub struct SetFeeCall { + pub token_in: ::ethers::core::types::Address, + pub fee: ::ethers::core::types::U256, + } + ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] + pub struct TransferOwnershipCall { + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockFeeControllerInputFeesCalls { + FeeRecipient(FeeRecipientCall), + Fees(FeesCall), + GetFeeOutputs(GetFeeOutputsCall), + Owner(OwnerCall), + SetFee(SetFeeCall), + TransferOwnership(TransferOwnershipCall), + } + impl ::ethers::core::abi::AbiDecode for MockFeeControllerInputFeesCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeRecipient(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Fees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::GetFeeOutputs(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Owner(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetFee(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferOwnership(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockFeeControllerInputFeesCalls { + fn encode(self) -> Vec { + match self { + Self::FeeRecipient(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Fees(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetFeeOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetFee(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockFeeControllerInputFeesCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::FeeRecipient(element) => ::core::fmt::Display::fmt(element, f), + Self::Fees(element) => ::core::fmt::Display::fmt(element, f), + Self::GetFeeOutputs(element) => ::core::fmt::Display::fmt(element, f), + Self::Owner(element) => ::core::fmt::Display::fmt(element, f), + Self::SetFee(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockFeeControllerInputFeesCalls { + fn from(value: FeeRecipientCall) -> Self { + Self::FeeRecipient(value) + } + } + impl ::core::convert::From for MockFeeControllerInputFeesCalls { + fn from(value: FeesCall) -> Self { + Self::Fees(value) + } + } + impl ::core::convert::From for MockFeeControllerInputFeesCalls { + fn from(value: GetFeeOutputsCall) -> Self { + Self::GetFeeOutputs(value) + } + } + impl ::core::convert::From for MockFeeControllerInputFeesCalls { + fn from(value: OwnerCall) -> Self { + Self::Owner(value) + } + } + impl ::core::convert::From for MockFeeControllerInputFeesCalls { + fn from(value: SetFeeCall) -> Self { + Self::SetFee(value) + } + } + impl ::core::convert::From + for MockFeeControllerInputFeesCalls { + fn from(value: TransferOwnershipCall) -> Self { + Self::TransferOwnership(value) + } + } + ///Container type for all return fields from the `feeRecipient` function with signature `feeRecipient()` and selector `0x46904840` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeeRecipientReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `fees` function with signature `fees(address)` and selector `0xfaaebd21` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeesReturn(pub ::ethers::core::types::U256); + ///Container type for all return fields from the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct GetFeeOutputsReturn { + pub result: ::std::vec::Vec, + } + ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerReturn(pub ::ethers::core::types::Address); +} diff --git a/crates/bindings-uniswapx/src/mock_fee_controller_zero_fee.rs b/crates/bindings-uniswapx/src/mock_fee_controller_zero_fee.rs index f34a28f..e18387e 100644 --- a/crates/bindings-uniswapx/src/mock_fee_controller_zero_fee.rs +++ b/crates/bindings-uniswapx/src/mock_fee_controller_zero_fee.rs @@ -7,7 +7,7 @@ pub use mock_fee_controller_zero_fee::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_fee_controller_zero_fee { pub use super::super::shared_types::*; @@ -15,219 +15,268 @@ pub mod mock_fee_controller_zero_fee { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_feeRecipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("feeRecipient"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeRecipient"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeRecipient"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("fees"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("fees"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("fees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("getFeeOutputs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("result"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("result"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct OutputToken[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setFee"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setFee"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenIn"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract ERC20"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("tokenOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fee"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setFee"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenIn"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract ERC20"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("tokenOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("fee"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, }, ], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static MOCKFEECONTROLLERZEROFEE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKFEECONTROLLERZEROFEE_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\n\x9C8\x03\x80a\n\x9C\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x163\x90\x81\x17\x82U`@Q\x90\x91\x82\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\t\xD1a\0\xCB`\09`\0`|\x01Ra\t\xD1`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x9B\x9A\xC2\xCB\x11a\0PW\x80c\x9B\x9A\xC2\xCB\x14a\x01\x08W\x80c\xDC~\x98\xDF\x14a\x01AW\x80c\xF2\xFD\xE3\x8B\x14a\x01VW`\0\x80\xFD[\x80cF\x90H@\x14a\0wW\x80c\x8A\xA6\xCF\x03\x14a\0\xC8W\x80c\x8D\xA5\xCB[\x14a\0\xE8W[`\0\x80\xFD[a\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\x07\x89V[a\x01iV[`@Qa\0\xBF\x91\x90a\x08[V[`\0Ta\0\x9E\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\x013a\x01\x166`\x04a\x08\xCEV[`\x01` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[a\x01Ta\x01O6`\x04a\t\x07V[a\x02\x9DV[\0[a\x01Ta\x01d6`\x04a\tHV[a\x03\\V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x01\x80W\x90PP\x90P`\0\x81`\0\x81Q\x81\x10a\x01\xE2Wa\x01\xE2a\tlV[` \x02` \x01\x01Q`\0\x01\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RPP`\0\x81`\0\x81Q\x81\x10a\x025Wa\x025a\tlV[` \x02` \x01\x01Q`@\x01\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RPP`\0\x81`\0\x81Q\x81\x10a\x02\x88Wa\x02\x88a\tlV[` \x02` \x01\x01Q` \x01\x81\x81RPP\x91\x90PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03#W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x94\x90\x95\x16\x82R\x92\x90\x92R\x91\x90 UV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03\xDDW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\x1AV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x9FWa\x04\x9Fa\x04MV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x9FWa\x04\x9Fa\x04MV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\x0FWa\x05\x0Fa\x04MV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x059W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x05MW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x05gWa\x05ga\x04MV[a\x05\x98` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x04\xC8V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x05\xADW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x05\xDCW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\0Wa\x06\0a\x04MV[\x81`@R\x82\x93P\x845\x91Pa\x06\x14\x82a\x05\x17V[\x90\x82R` \x84\x015\x90a\x06&\x82a\x05\x17V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x06P\x82a\x05\x17V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x06jW`\0\x80\xFD[Pa\x06w\x85\x82\x86\x01a\x05(::ethers::contract::Contract); impl ::core::clone::Clone for MockFeeControllerZeroFee { fn clone(&self) -> Self { @@ -259,11 +308,13 @@ pub mod mock_fee_controller_zero_fee { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKFEECONTROLLERZEROFEE_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFEECONTROLLERZEROFEE_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -307,7 +358,10 @@ pub mod mock_fee_controller_zero_fee { ///Calls the contract's `feeRecipient` (0x46904840) function pub fn fee_recipient( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([70, 144, 72, 64], ()) .expect("method not found (this should never happen)") @@ -326,7 +380,10 @@ pub mod mock_fee_controller_zero_fee { pub fn get_fee_outputs( &self, p0: ResolvedOrder, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([138, 166, 207, 3], (p0,)) .expect("method not found (this should never happen)") @@ -334,7 +391,10 @@ pub mod mock_fee_controller_zero_fee { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -362,22 +422,26 @@ pub mod mock_fee_controller_zero_fee { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for MockFeeControllerZeroFee - { + for MockFeeControllerZeroFee { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -386,11 +450,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -407,11 +473,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeRecipient", abi = "feeRecipient()")] pub struct FeeRecipientCall; @@ -420,11 +488,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "fees", abi = "fees(address,address)")] pub struct FeesCall { @@ -436,11 +506,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "getFeeOutputs", @@ -452,11 +524,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -465,11 +539,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setFee", abi = "setFee(address,address,uint256)")] pub struct SetFeeCall { @@ -482,18 +558,29 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockFeeControllerZeroFeeCalls { FeeRecipient(FeeRecipientCall), Fees(FeesCall), @@ -507,26 +594,34 @@ pub mod mock_fee_controller_zero_fee { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeRecipient(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Fees(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::GetFeeOutputs(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetFee(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -535,12 +630,18 @@ pub mod mock_fee_controller_zero_fee { impl ::ethers::core::abi::AbiEncode for MockFeeControllerZeroFeeCalls { fn encode(self) -> Vec { match self { - Self::FeeRecipient(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeRecipient(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Fees(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::GetFeeOutputs(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetFeeOutputs(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetFee(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -591,11 +692,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeRecipientReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `fees` function with signature `fees(address,address)` and selector `0x9b9ac2cb` @@ -603,11 +706,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `getFeeOutputs` function with signature `getFeeOutputs(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x8aa6cf03` @@ -615,11 +720,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct GetFeeOutputsReturn { pub result: ::std::vec::Vec, @@ -629,11 +736,13 @@ pub mod mock_fee_controller_zero_fee { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/mock_fill_contract.rs b/crates/bindings-uniswapx/src/mock_fill_contract.rs index 6135882..a9b20b6 100644 --- a/crates/bindings-uniswapx/src/mock_fill_contract.rs +++ b/crates/bindings-uniswapx/src/mock_fill_contract.rs @@ -7,15 +7,79 @@ pub use mock_fill_contract::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_fill_contract { pub use super::super::shared_types::*; #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_reactor"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), ( ::std::borrow::ToOwned::to_owned("reactorCallback"), ::std::vec![ @@ -66,13 +130,6 @@ pub mod mock_fill_contract { ::std::borrow::ToOwned::to_owned("struct ResolvedOrder[]"), ), }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, ::ethers::core::abi::ethabi::Param { name: ::std::string::String::new(), kind: ::ethers::core::abi::ethabi::ParamType::Bytes, @@ -107,18 +164,21 @@ pub mod mock_fill_contract { } } ///The parsed JSON ABI of the contract. - pub static MOCKFILLCONTRACT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKFILLCONTRACT_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x08\x85\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\x99C\xFA\x89\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x06!V[a\0EV[\0[`\0[\x83Q\x81\x10\x15a\x01\x12W`\0[\x84\x82\x81Q\x81\x10a\0fWa\0fa\x07\xC1V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\0\xFFW`\0\x85\x83\x81Q\x81\x10a\0\x8EWa\0\x8Ea\x07\xC1V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\0\xABWa\0\xABa\x07\xC1V[` \x02` \x01\x01Q\x90Pa\0\xEC\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x01\x18\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\0\xF7\x81a\x07\xF0V[\x91PPa\0TV[P\x80a\x01\n\x81a\x07\xF0V[\x91PPa\0HV[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\xCDW`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x01\x8DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x01\x92V[``\x91P[PP\x90P\x80a\x01\x12W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x01\xF3V[PPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x01\x12W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x18Wa\x03\x18a\x02\xC6V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x18Wa\x03\x18a\x02\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x88Wa\x03\x88a\x02\xC6V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xAAWa\x03\xAAa\x02\xC6V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x03\xD6W`\0\x80\xFD[PV[\x805a\x03\xE4\x81a\x03\xB4V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03\xFAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\x14Wa\x04\x14a\x02\xC6V[a\x04E` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x03AV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04ZW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04\x89W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\xADWa\x04\xADa\x02\xC6V[\x81`@R\x82\x93P\x845\x91Pa\x04\xC1\x82a\x03\xB4V[\x90\x82R` \x84\x015\x90a\x04\xD3\x82a\x03\xB4V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04\xFD\x82a\x03\xB4V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x05\x17W`\0\x80\xFD[Pa\x05$\x85\x82\x86\x01a\x03\xE9V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x05CW`\0\x80\xFD[a\x05Ka\x02\xF5V[\x90P\x815a\x05X\x81a\x03\xB4V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\x87W`\0\x80\xFD[\x815` a\x05\x9Ca\x05\x97\x83a\x03\x90V[a\x03AV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05\xBBW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x06\x14W\x81\x81\x8A\x03\x12\x15a\x05\xD7W`\0\x80\x81\xFD[a\x05\xDFa\x02\xF5V[\x815a\x05\xEA\x81a\x03\xB4V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x06\x03\x81a\x03\xB4V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05\xBFV[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x066W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06NW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x06bW`\0\x80\xFD[\x815` a\x06ra\x05\x97\x83a\x03\x90V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x06\x91W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x07\x82W\x805\x86\x81\x11\x15a\x06\xACW`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\x06\xE0W`\0\x80\xFD[a\x06\xE8a\x03\x1EV[\x85\x82\x015\x88\x81\x11\x15a\x06\xF9W`\0\x80\xFD[a\x07\x07\x8F\x88\x83\x86\x01\x01a\x04wV[\x82RPa\x07\x17\x8E`@\x84\x01a\x051V[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\x07.W`\0\x80\x81\xFD[a\x07<\x8F\x88\x83\x86\x01\x01a\x05vV[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\x07UW`\0\x80\x81\xFD[a\x07c\x8F\x88\x83\x86\x01\x01a\x03\xE9V[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x06\x95V[P\x97Pa\x07\x92\x90P\x88\x82\x01a\x03\xD9V[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\x07\xAAW`\0\x80\xFD[Pa\x07\xB7\x86\x82\x87\x01a\x03\xE9V[\x91PP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x08HW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xA1\xE4\x08-\xA9\x87\xC0\x16\x1D\xD0\x9D\xD9\x82\xA1\xB0\nj\xA6ic\x91\xCFh\xB3\x1A\xAA\xD2v\xE0\xB7\n\xD7dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0C\xE18\x03\x80a\x0C\xE1\x839\x81\x01`@\x81\x90Ra\0/\x91a\0@V[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0pV[`\0` \x82\x84\x03\x12\x15a\0RW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0iW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0CBa\0\x9F`\09`\0\x81\x81`\xBE\x01R\x81\x81a\x01h\x01R\x81\x81a\x02\x84\x01Ra\x02\xF1\x01Ra\x0CB`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\rz\x16\xC3\x14a\0FW\x80c?b\x19.\x14a\0[W\x80cX]\xA6(\x14a\0nW[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04@V[a\0\x81V[\0[a\0Ya\0i6`\x04a\x04\xB5V[a\x01+V[a\0Ya\0|6`\x04a\x08BV[a\x01\xD2V[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\0\xF5\x90\x85\x90\x85\x90`\x04\x01a\n\xCEV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01#W=`\0\x80>=`\0\xFD[PPPPPPV[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\x01\x9D\x90\x84\x90`\x04\x01a\x0B\x91V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xCBW=`\0\x80>=`\0\xFD[PPPPPV[`\0[\x82Q\x81\x10\x15a\x03\xA1W`\0[\x83\x82\x81Q\x81\x10a\x01\xF3Wa\x01\xF3a\x0B\xBBV[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x03\x98W`\0\x84\x83\x81Q\x81\x10a\x02\x1BWa\x02\x1Ba\x0B\xBBV[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x028Wa\x028a\x0B\xBBV[` \x02` \x01\x01Q\x90Pa\x02z\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x90V[\x15a\x02\xB2Wa\x02\xAD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82` \x01Qa\x03\xA6V[a\x03\x8FV[\x80Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16`\x04\x83\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x83\x01R\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03iW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\x8D\x91\x90a\x0B\xEAV[P[P`\x01\x01a\x01\xE1V[P`\x01\x01a\x01\xD5V[PPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x04\0W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x04\x05V[``\x91P[PP\x90P\x80a\x03\xA1W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x04SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04kW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x04\x7FW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x04\x8EW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x04\xA3W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x04\xC7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xDEW`\0\x80\xFD[\x82\x01`@\x81\x85\x03\x12\x15a\x04\xF0W`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05IWa\x05Ia\x04\xF7V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05IWa\x05Ia\x04\xF7V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xB9Wa\x05\xB9a\x04\xF7V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\xDBWa\x05\xDBa\x04\xF7V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x07W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x1BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x065Wa\x065a\x04\xF7V[a\x06f` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05rV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06{W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xAAW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xCEWa\x06\xCEa\x04\xF7V[\x81`@R\x82\x93P\x845\x91Pa\x06\xE2\x82a\x05\xE5V[\x90\x82R` \x84\x015\x90a\x06\xF4\x82a\x05\xE5V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x1E\x82a\x05\xE5V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x078W`\0\x80\xFD[Pa\x07E\x85\x82\x86\x01a\x06\nV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07dW`\0\x80\xFD[a\x07la\x05&V[\x90P\x815a\x07y\x81a\x05\xE5V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xA8W`\0\x80\xFD[\x815` a\x07\xBDa\x07\xB8\x83a\x05\xC1V[a\x05rV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xDCW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x085W\x81\x81\x8A\x03\x12\x15a\x07\xF8W`\0\x80\x81\xFD[a\x08\0a\x05&V[\x815a\x08\x0B\x81a\x05\xE5V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08$\x81a\x05\xE5V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xE0V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08UW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08\x81W`\0\x80\xFD[\x815` a\x08\x91a\x07\xB8\x83a\x05\xC1V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08\xB0W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\xA1W\x805\x86\x81\x11\x15a\x08\xCCW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\t\x02W`\0\x80\x81\xFD[a\t\na\x05OV[\x86\x83\x015\x89\x81\x11\x15a\t\x1CW`\0\x80\x81\xFD[a\t*\x8F\x89\x83\x87\x01\x01a\x06\x98V[\x82RPa\t:\x8E`@\x85\x01a\x07RV[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\tQW`\0\x80\x81\xFD[a\t_\x8F\x89\x83\x87\x01\x01a\x07\x97V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\txW`\0\x80\x81\xFD[a\t\x86\x8F\x89\x83\x87\x01\x01a\x06\nV[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08\xB4V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t\xB8W`\0\x80\xFD[Pa\t\xC5\x85\x82\x86\x01a\x06\nV[\x91PP\x92P\x92\x90PV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\n\x04W`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n$W`\0\x80\xFD[\x806\x03\x82\x13\x15a\n3W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\x8F\x82\x83a\t\xCFV[`@\x85Ra\n\xA1`@\x86\x01\x82\x84a\n:V[\x91PPa\n\xB1` \x84\x01\x84a\t\xCFV[\x85\x83\x03` \x87\x01Ra\n\xC4\x83\x82\x84a\n:V[\x96\x95PPPPPPV[`@\x80\x82R\x81\x01\x82\x90R`\0```\x05\x84\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x85\x83\x80[\x87\x81\x10\x15a\x0BnW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8A6\x03\x01\x81\x12a\x0BLW\x82\x83\xFD[a\x0BX\x86\x8B\x83\x01a\n\x83V[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\n\xECV[PPPP\x82\x81\x03` \x84\x01Ra\x0B\x88\x81`\0\x81R` \x01\x90V[\x95\x94PPPPPV[`@\x81R`\0a\x0B\xA4`@\x83\x01\x84a\n\x83V[\x82\x81\x03` \x93\x84\x01R`\0\x81R\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0B\xFCW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x04\xF0W`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFB\xAF\x08,)\n\x10\x9AM\x86m2\x8Be8\xD7\xDF2`\xBD\xA9{\xEA\xB3\x14GU\xCA^\\\t@dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKFILLCONTRACT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKFILLCONTRACT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\x99C\xFA\x89\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x06!V[a\0EV[\0[`\0[\x83Q\x81\x10\x15a\x01\x12W`\0[\x84\x82\x81Q\x81\x10a\0fWa\0fa\x07\xC1V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\0\xFFW`\0\x85\x83\x81Q\x81\x10a\0\x8EWa\0\x8Ea\x07\xC1V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\0\xABWa\0\xABa\x07\xC1V[` \x02` \x01\x01Q\x90Pa\0\xEC\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x01\x18\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\0\xF7\x81a\x07\xF0V[\x91PPa\0TV[P\x80a\x01\n\x81a\x07\xF0V[\x91PPa\0HV[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\xCDW`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x01\x8DW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x01\x92V[``\x91P[PP\x90P\x80a\x01\x12W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x01\xF3V[PPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x01\x12W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x18Wa\x03\x18a\x02\xC6V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x18Wa\x03\x18a\x02\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x88Wa\x03\x88a\x02\xC6V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xAAWa\x03\xAAa\x02\xC6V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x03\xD6W`\0\x80\xFD[PV[\x805a\x03\xE4\x81a\x03\xB4V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x03\xFAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\x14Wa\x04\x14a\x02\xC6V[a\x04E` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x03AV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04ZW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04\x89W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\xADWa\x04\xADa\x02\xC6V[\x81`@R\x82\x93P\x845\x91Pa\x04\xC1\x82a\x03\xB4V[\x90\x82R` \x84\x015\x90a\x04\xD3\x82a\x03\xB4V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x04\xFD\x82a\x03\xB4V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x05\x17W`\0\x80\xFD[Pa\x05$\x85\x82\x86\x01a\x03\xE9V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x05CW`\0\x80\xFD[a\x05Ka\x02\xF5V[\x90P\x815a\x05X\x81a\x03\xB4V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\x87W`\0\x80\xFD[\x815` a\x05\x9Ca\x05\x97\x83a\x03\x90V[a\x03AV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05\xBBW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x06\x14W\x81\x81\x8A\x03\x12\x15a\x05\xD7W`\0\x80\x81\xFD[a\x05\xDFa\x02\xF5V[\x815a\x05\xEA\x81a\x03\xB4V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x06\x03\x81a\x03\xB4V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x05\xBFV[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x066W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06NW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x06bW`\0\x80\xFD[\x815` a\x06ra\x05\x97\x83a\x03\x90V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x06\x91W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x07\x82W\x805\x86\x81\x11\x15a\x06\xACW`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\x06\xE0W`\0\x80\xFD[a\x06\xE8a\x03\x1EV[\x85\x82\x015\x88\x81\x11\x15a\x06\xF9W`\0\x80\xFD[a\x07\x07\x8F\x88\x83\x86\x01\x01a\x04wV[\x82RPa\x07\x17\x8E`@\x84\x01a\x051V[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\x07.W`\0\x80\x81\xFD[a\x07<\x8F\x88\x83\x86\x01\x01a\x05vV[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\x07UW`\0\x80\x81\xFD[a\x07c\x8F\x88\x83\x86\x01\x01a\x03\xE9V[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x06\x95V[P\x97Pa\x07\x92\x90P\x88\x82\x01a\x03\xD9V[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\x07\xAAW`\0\x80\xFD[Pa\x07\xB7\x86\x82\x87\x01a\x03\xE9V[\x91PP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x08HW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xA1\xE4\x08-\xA9\x87\xC0\x16\x1D\xD0\x9D\xD9\x82\xA1\xB0\nj\xA6ic\x91\xCFh\xB3\x1A\xAA\xD2v\xE0\xB7\n\xD7dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\rz\x16\xC3\x14a\0FW\x80c?b\x19.\x14a\0[W\x80cX]\xA6(\x14a\0nW[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04@V[a\0\x81V[\0[a\0Ya\0i6`\x04a\x04\xB5V[a\x01+V[a\0Ya\0|6`\x04a\x08BV[a\x01\xD2V[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\0\xF5\x90\x85\x90\x85\x90`\x04\x01a\n\xCEV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01#W=`\0\x80>=`\0\xFD[PPPPPPV[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\x01\x9D\x90\x84\x90`\x04\x01a\x0B\x91V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xB7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xCBW=`\0\x80>=`\0\xFD[PPPPPV[`\0[\x82Q\x81\x10\x15a\x03\xA1W`\0[\x83\x82\x81Q\x81\x10a\x01\xF3Wa\x01\xF3a\x0B\xBBV[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x03\x98W`\0\x84\x83\x81Q\x81\x10a\x02\x1BWa\x02\x1Ba\x0B\xBBV[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x028Wa\x028a\x0B\xBBV[` \x02` \x01\x01Q\x90Pa\x02z\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x90V[\x15a\x02\xB2Wa\x02\xAD\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82` \x01Qa\x03\xA6V[a\x03\x8FV[\x80Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16`\x04\x83\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x83\x01R\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03iW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\x8D\x91\x90a\x0B\xEAV[P[P`\x01\x01a\x01\xE1V[P`\x01\x01a\x01\xD5V[PPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x04\0W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x04\x05V[``\x91P[PP\x90P\x80a\x03\xA1W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x04SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04kW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x04\x7FW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x04\x8EW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x04\xA3W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x04\xC7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xDEW`\0\x80\xFD[\x82\x01`@\x81\x85\x03\x12\x15a\x04\xF0W`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05IWa\x05Ia\x04\xF7V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05IWa\x05Ia\x04\xF7V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xB9Wa\x05\xB9a\x04\xF7V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\xDBWa\x05\xDBa\x04\xF7V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06\x07W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06\x1BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x065Wa\x065a\x04\xF7V[a\x06f` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05rV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06{W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xAAW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xCEWa\x06\xCEa\x04\xF7V[\x81`@R\x82\x93P\x845\x91Pa\x06\xE2\x82a\x05\xE5V[\x90\x82R` \x84\x015\x90a\x06\xF4\x82a\x05\xE5V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07\x1E\x82a\x05\xE5V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x078W`\0\x80\xFD[Pa\x07E\x85\x82\x86\x01a\x06\nV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07dW`\0\x80\xFD[a\x07la\x05&V[\x90P\x815a\x07y\x81a\x05\xE5V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xA8W`\0\x80\xFD[\x815` a\x07\xBDa\x07\xB8\x83a\x05\xC1V[a\x05rV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07\xDCW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x085W\x81\x81\x8A\x03\x12\x15a\x07\xF8W`\0\x80\x81\xFD[a\x08\0a\x05&V[\x815a\x08\x0B\x81a\x05\xE5V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08$\x81a\x05\xE5V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07\xE0V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08UW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08mW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08\x81W`\0\x80\xFD[\x815` a\x08\x91a\x07\xB8\x83a\x05\xC1V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08\xB0W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\xA1W\x805\x86\x81\x11\x15a\x08\xCCW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\t\x02W`\0\x80\x81\xFD[a\t\na\x05OV[\x86\x83\x015\x89\x81\x11\x15a\t\x1CW`\0\x80\x81\xFD[a\t*\x8F\x89\x83\x87\x01\x01a\x06\x98V[\x82RPa\t:\x8E`@\x85\x01a\x07RV[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\tQW`\0\x80\x81\xFD[a\t_\x8F\x89\x83\x87\x01\x01a\x07\x97V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\txW`\0\x80\x81\xFD[a\t\x86\x8F\x89\x83\x87\x01\x01a\x06\nV[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08\xB4V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t\xB8W`\0\x80\xFD[Pa\t\xC5\x85\x82\x86\x01a\x06\nV[\x91PP\x92P\x92\x90PV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\n\x04W`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\n$W`\0\x80\xFD[\x806\x03\x82\x13\x15a\n3W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\x8F\x82\x83a\t\xCFV[`@\x85Ra\n\xA1`@\x86\x01\x82\x84a\n:V[\x91PPa\n\xB1` \x84\x01\x84a\t\xCFV[\x85\x83\x03` \x87\x01Ra\n\xC4\x83\x82\x84a\n:V[\x96\x95PPPPPPV[`@\x80\x82R\x81\x01\x82\x90R`\0```\x05\x84\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x85\x83\x80[\x87\x81\x10\x15a\x0BnW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8A6\x03\x01\x81\x12a\x0BLW\x82\x83\xFD[a\x0BX\x86\x8B\x83\x01a\n\x83V[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\n\xECV[PPPP\x82\x81\x03` \x84\x01Ra\x0B\x88\x81`\0\x81R` \x01\x90V[\x95\x94PPPPPV[`@\x81R`\0a\x0B\xA4`@\x83\x01\x84a\n\x83V[\x82\x81\x03` \x93\x84\x01R`\0\x81R\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0B\xFCW`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x04\xF0W`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xFB\xAF\x08,)\n\x10\x9AM\x86m2\x8Be8\xD7\xDF2`\xBD\xA9{\xEA\xB3\x14GU\xCA^\\\t@dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKFILLCONTRACT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKFILLCONTRACT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockFillContract(::ethers::contract::Contract); impl ::core::clone::Clone for MockFillContract { fn clone(&self) -> Self { @@ -150,11 +210,13 @@ pub mod mock_fill_contract { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKFILLCONTRACT_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFILLCONTRACT_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -195,21 +257,37 @@ pub mod mock_fill_contract { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `reactorCallback` (0x9943fa89) function + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( + &self, + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([63, 98, 25, 46], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( + &self, + orders: ::std::vec::Vec, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 122, 22, 195], orders) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `reactorCallback` (0x585da628) function pub fn reactor_callback( &self, resolved_orders: ::std::vec::Vec, - p1: ::ethers::core::types::Address, - p2: ::ethers::core::types::Bytes, + p1: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([153, 67, 250, 137], (resolved_orders, p1, p2)) + .method_hash([88, 93, 166, 40], (resolved_orders, p1)) .expect("method not found (this should never happen)") } } impl From<::ethers::contract::Contract> - for MockFillContract - { + for MockFillContract { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -219,32 +297,145 @@ pub mod mock_fill_contract { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; - ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)` and selector `0x9943fa89` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + } + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash )] #[ethcall( name = "reactorCallback", - abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)" + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" )] pub struct ReactorCallbackCall { pub resolved_orders: ::std::vec::Vec, - pub p1: ::ethers::core::types::Address, - pub p2: ::ethers::core::types::Bytes, + pub p1: ::ethers::core::types::Bytes, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockFillContractCalls { + Execute(ExecuteCall), + ExecuteBatch(ExecuteBatchCall), + ReactorCallback(ReactorCallbackCall), + } + impl ::ethers::core::abi::AbiDecode for MockFillContractCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatch(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ReactorCallback(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockFillContractCalls { + fn encode(self) -> Vec { + match self { + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ReactorCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockFillContractCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ReactorCallback(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockFillContractCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From for MockFillContractCalls { + fn from(value: ExecuteBatchCall) -> Self { + Self::ExecuteBatch(value) + } + } + impl ::core::convert::From for MockFillContractCalls { + fn from(value: ReactorCallbackCall) -> Self { + Self::ReactorCallback(value) + } } } diff --git a/crates/bindings-uniswapx/src/mock_fill_contract_double_execution.rs b/crates/bindings-uniswapx/src/mock_fill_contract_double_execution.rs new file mode 100644 index 0000000..e2fa758 --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_fill_contract_double_execution.rs @@ -0,0 +1,393 @@ +pub use mock_fill_contract_double_execution::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_fill_contract_double_execution { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_reactor1"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_reactor2"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("other"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("reactorCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("reactorCallback"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("resolvedOrders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("otherSignedOrder"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKFILLCONTRACTDOUBLEEXECUTION_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\r\x9F8\x03\x80a\r\x9F\x839\x81\x01`@\x81\x90Ra\0/\x91a\0bV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\x80R\x16`\xA0Ra\0\x95V[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0]W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\0uW`\0\x80\xFD[a\0~\x83a\0FV[\x91Pa\0\x8C` \x84\x01a\0FV[\x90P\x92P\x92\x90PV[`\x80Q`\xA0Qa\x0C\xDFa\0\xC0`\09`\0a\x02\xE0\x01R`\0\x81\x81`e\x01Ra\x02\xB8\x01Ra\x0C\xDF`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cP\xDF-@\x14a\0;W\x80cX]\xA6(\x14a\0PW[`\0\x80\xFD[a\0Na\0I6`\x04a\x04\x05V[a\0cV[\0[a\0Na\0^6`\x04a\x07\xBDV[a\x01\x13V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\r3X\x84\x83\x83`@Q` \x01a\0\xB1\x91\x90a\n?V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xDD\x92\x91\x90a\n\xC7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\0\xF7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\x0BW=`\0\x80>=`\0\xFD[PPPPPPV[`\0[\x82Q\x81\x10\x15a\x02\xA0W`\0[\x83\x82\x81Q\x81\x10a\x014Wa\x014a\n\xF5V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x02\x97W`\0\x84\x83\x81Q\x81\x10a\x01\\Wa\x01\\a\n\xF5V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x01yWa\x01ya\n\xF5V[` \x02` \x01\x01Q\x90Pa\x01\xBB\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x90V[\x15a\x01\xD3Wa\x01\xCE3\x82` \x01Qa\x03NV[a\x02\x8EV[\x80Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x02hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02\x8C\x91\x90a\x0B$V[P[P`\x01\x01a\x01\"V[P`\x01\x01a\x01\x16V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x163\x03a\x03JW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\r3X\x84\x82\x80` \x01\x90Q\x81\x01\x90a\x03.\x91\x90a\x0B\x93V[`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xDD\x91\x90a\x0C:V[PPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x03\xA8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x03\xADV[``\x91P[PP\x90P\x80a\x03\xE8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0`@\x82\x84\x03\x12\x15a\x03\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\x18W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x040W`\0\x80\xFD[a\x04<\x86\x83\x87\x01a\x03\xEDV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x04RW`\0\x80\xFD[Pa\x04_\x85\x82\x86\x01a\x03\xEDV[\x91PP\x92P\x92\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\xBBWa\x04\xBBa\x04iV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\xBBWa\x04\xBBa\x04iV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05+Wa\x05+a\x04iV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05MWa\x05Ma\x04iV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05yW`\0\x80\xFD[PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\x96Wa\x05\x96a\x04iV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x05\xD3W`\0\x80\xFD[\x815a\x05\xE6a\x05\xE1\x82a\x05|V[a\x04\xE4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x05\xFBW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06*W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06NWa\x06Na\x04iV[\x81`@R\x82\x93P\x845\x91Pa\x06b\x82a\x05WV[\x90\x82R` \x84\x015\x90a\x06t\x82a\x05WV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x06\x9E\x82a\x05WV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x06\xB8W`\0\x80\xFD[Pa\x06\xC5\x85\x82\x86\x01a\x05\xC2V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x06\xE4W`\0\x80\xFD[a\x06\xECa\x04\x98V[\x90P\x815a\x06\xF9\x81a\x05WV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07(W`\0\x80\xFD[\x815` a\x078a\x05\xE1\x83a\x053V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07WW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x07\xB0W\x81\x81\x8A\x03\x12\x15a\x07sW`\0\x80\x81\xFD[a\x07{a\x04\x98V[\x815a\x07\x86\x81a\x05WV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x07\x9F\x81a\x05WV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07[V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07\xD0W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xE8W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x07\xFCW`\0\x80\xFD[\x815` a\x08\x0Ca\x05\xE1\x83a\x053V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08+W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\x1CW\x805\x86\x81\x11\x15a\x08GW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\x08}W`\0\x80\x81\xFD[a\x08\x85a\x04\xC1V[\x86\x83\x015\x89\x81\x11\x15a\x08\x97W`\0\x80\x81\xFD[a\x08\xA5\x8F\x89\x83\x87\x01\x01a\x06\x18V[\x82RPa\x08\xB5\x8E`@\x85\x01a\x06\xD2V[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\x08\xCCW`\0\x80\x81\xFD[a\x08\xDA\x8F\x89\x83\x87\x01\x01a\x07\x17V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\x08\xF3W`\0\x80\x81\xFD[a\t\x01\x8F\x89\x83\x87\x01\x01a\x05\xC2V[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08/V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t3W`\0\x80\xFD[Pa\x04_\x85\x82\x86\x01a\x05\xC2V[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\tuW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\x95W`\0\x80\xFD[\x806\x03\x82\x13\x15a\t\xA4W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\0\x82\x83a\t@V[`@\x85Ra\n\x12`@\x86\x01\x82\x84a\t\xABV[\x91PPa\n\"` \x84\x01\x84a\t@V[\x85\x83\x03` \x87\x01Ra\n5\x83\x82\x84a\t\xABV[\x96\x95PPPPPPV[` \x81R`\0a\nR` \x83\x01\x84a\t\xF4V[\x93\x92PPPV[`\0[\x83\x81\x10\x15a\ntW\x81\x81\x01Q\x83\x82\x01R` \x01a\n\\V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\n\x95\x81` \x86\x01` \x86\x01a\nYV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\0a\n\xDA`@\x83\x01\x85a\t\xF4V[\x82\x81\x03` \x84\x01Ra\n\xEC\x81\x85a\n}V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0B6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\nRW`\0\x80\xFD[`\0\x82`\x1F\x83\x01\x12a\x0BWW`\0\x80\xFD[\x81Qa\x0Bea\x05\xE1\x82a\x05|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0BzW`\0\x80\xFD[a\x0B\x8B\x82` \x83\x01` \x87\x01a\nYV[\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x0B\xA5W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xBDW`\0\x80\xFD[\x90\x83\x01\x90`@\x82\x86\x03\x12\x15a\x0B\xD1W`\0\x80\xFD[`@Q`@\x81\x01\x81\x81\x10\x83\x82\x11\x17\x15a\x0B\xECWa\x0B\xECa\x04iV[`@R\x82Q\x82\x81\x11\x15a\x0B\xFEW`\0\x80\xFD[a\x0C\n\x87\x82\x86\x01a\x0BFV[\x82RP` \x83\x01Q\x82\x81\x11\x15a\x0C\x1FW`\0\x80\xFD[a\x0C+\x87\x82\x86\x01a\x0BFV[` \x83\x01RP\x95\x94PPPPPV[`@\x81R`\0\x82Q`@\x80\x84\x01Ra\x0CU`\x80\x84\x01\x82a\n}V[\x90P` \x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x84\x83\x03\x01``\x85\x01Ra\x0C\x90\x82\x82a\n}V[\x84\x81\x03` \x95\x86\x01R`\0\x81R\x93\x90\x93\x01\x94\x93PPPPV\xFE\xA2dipfsX\"\x12 \xA5tS\x01\x18\x85\xB9\x8B\xFA\xB9Xl\xDB\x14&\x92\xE7\xD9T\x8AS\x9B\t\xE8\x88\xDA\x05S\x9A\xABI\xA5dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKFILLCONTRACTDOUBLEEXECUTION_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cP\xDF-@\x14a\0;W\x80cX]\xA6(\x14a\0PW[`\0\x80\xFD[a\0Na\0I6`\x04a\x04\x05V[a\0cV[\0[a\0Na\0^6`\x04a\x07\xBDV[a\x01\x13V[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\r3X\x84\x83\x83`@Q` \x01a\0\xB1\x91\x90a\n?V[`@Q` \x81\x83\x03\x03\x81R\x90`@R`@Q\x83c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xDD\x92\x91\x90a\n\xC7V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\0\xF7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\x0BW=`\0\x80>=`\0\xFD[PPPPPPV[`\0[\x82Q\x81\x10\x15a\x02\xA0W`\0[\x83\x82\x81Q\x81\x10a\x014Wa\x014a\n\xF5V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x02\x97W`\0\x84\x83\x81Q\x81\x10a\x01\\Wa\x01\\a\n\xF5V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x01yWa\x01ya\n\xF5V[` \x02` \x01\x01Q\x90Pa\x01\xBB\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x90V[\x15a\x01\xD3Wa\x01\xCE3\x82` \x01Qa\x03NV[a\x02\x8EV[\x80Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x02hW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02\x8C\x91\x90a\x0B$V[P[P`\x01\x01a\x01\"V[P`\x01\x01a\x01\x16V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x163\x03a\x03JW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\r3X\x84\x82\x80` \x01\x90Q\x81\x01\x90a\x03.\x91\x90a\x0B\x93V[`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\0\xDD\x91\x90a\x0C:V[PPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x03\xA8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x03\xADV[``\x91P[PP\x90P\x80a\x03\xE8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0`@\x82\x84\x03\x12\x15a\x03\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\x18W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x040W`\0\x80\xFD[a\x04<\x86\x83\x87\x01a\x03\xEDV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x04RW`\0\x80\xFD[Pa\x04_\x85\x82\x86\x01a\x03\xEDV[\x91PP\x92P\x92\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\xBBWa\x04\xBBa\x04iV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\xBBWa\x04\xBBa\x04iV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05+Wa\x05+a\x04iV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05MWa\x05Ma\x04iV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x05yW`\0\x80\xFD[PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x05\x96Wa\x05\x96a\x04iV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x05\xD3W`\0\x80\xFD[\x815a\x05\xE6a\x05\xE1\x82a\x05|V[a\x04\xE4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x05\xFBW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06*W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06NWa\x06Na\x04iV[\x81`@R\x82\x93P\x845\x91Pa\x06b\x82a\x05WV[\x90\x82R` \x84\x015\x90a\x06t\x82a\x05WV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x06\x9E\x82a\x05WV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x06\xB8W`\0\x80\xFD[Pa\x06\xC5\x85\x82\x86\x01a\x05\xC2V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x06\xE4W`\0\x80\xFD[a\x06\xECa\x04\x98V[\x90P\x815a\x06\xF9\x81a\x05WV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07(W`\0\x80\xFD[\x815` a\x078a\x05\xE1\x83a\x053V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x07WW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x07\xB0W\x81\x81\x8A\x03\x12\x15a\x07sW`\0\x80\x81\xFD[a\x07{a\x04\x98V[\x815a\x07\x86\x81a\x05WV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x07\x9F\x81a\x05WV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x07[V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x07\xD0W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x07\xE8W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x07\xFCW`\0\x80\xFD[\x815` a\x08\x0Ca\x05\xE1\x83a\x053V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08+W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\x1CW\x805\x86\x81\x11\x15a\x08GW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\x08}W`\0\x80\x81\xFD[a\x08\x85a\x04\xC1V[\x86\x83\x015\x89\x81\x11\x15a\x08\x97W`\0\x80\x81\xFD[a\x08\xA5\x8F\x89\x83\x87\x01\x01a\x06\x18V[\x82RPa\x08\xB5\x8E`@\x85\x01a\x06\xD2V[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\x08\xCCW`\0\x80\x81\xFD[a\x08\xDA\x8F\x89\x83\x87\x01\x01a\x07\x17V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\x08\xF3W`\0\x80\x81\xFD[a\t\x01\x8F\x89\x83\x87\x01\x01a\x05\xC2V[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08/V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t3W`\0\x80\xFD[Pa\x04_\x85\x82\x86\x01a\x05\xC2V[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\tuW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\x95W`\0\x80\xFD[\x806\x03\x82\x13\x15a\t\xA4W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\0\x82\x83a\t@V[`@\x85Ra\n\x12`@\x86\x01\x82\x84a\t\xABV[\x91PPa\n\"` \x84\x01\x84a\t@V[\x85\x83\x03` \x87\x01Ra\n5\x83\x82\x84a\t\xABV[\x96\x95PPPPPPV[` \x81R`\0a\nR` \x83\x01\x84a\t\xF4V[\x93\x92PPPV[`\0[\x83\x81\x10\x15a\ntW\x81\x81\x01Q\x83\x82\x01R` \x01a\n\\V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\n\x95\x81` \x86\x01` \x86\x01a\nYV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\0a\n\xDA`@\x83\x01\x85a\t\xF4V[\x82\x81\x03` \x84\x01Ra\n\xEC\x81\x85a\n}V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0B6W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\nRW`\0\x80\xFD[`\0\x82`\x1F\x83\x01\x12a\x0BWW`\0\x80\xFD[\x81Qa\x0Bea\x05\xE1\x82a\x05|V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0BzW`\0\x80\xFD[a\x0B\x8B\x82` \x83\x01` \x87\x01a\nYV[\x94\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x0B\xA5W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xBDW`\0\x80\xFD[\x90\x83\x01\x90`@\x82\x86\x03\x12\x15a\x0B\xD1W`\0\x80\xFD[`@Q`@\x81\x01\x81\x81\x10\x83\x82\x11\x17\x15a\x0B\xECWa\x0B\xECa\x04iV[`@R\x82Q\x82\x81\x11\x15a\x0B\xFEW`\0\x80\xFD[a\x0C\n\x87\x82\x86\x01a\x0BFV[\x82RP` \x83\x01Q\x82\x81\x11\x15a\x0C\x1FW`\0\x80\xFD[a\x0C+\x87\x82\x86\x01a\x0BFV[` \x83\x01RP\x95\x94PPPPPV[`@\x81R`\0\x82Q`@\x80\x84\x01Ra\x0CU`\x80\x84\x01\x82a\n}V[\x90P` \x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x84\x83\x03\x01``\x85\x01Ra\x0C\x90\x82\x82a\n}V[\x84\x81\x03` \x95\x86\x01R`\0\x81R\x93\x90\x93\x01\x94\x93PPPPV\xFE\xA2dipfsX\"\x12 \xA5tS\x01\x18\x85\xB9\x8B\xFA\xB9Xl\xDB\x14&\x92\xE7\xD9T\x8AS\x9B\t\xE8\x88\xDA\x05S\x9A\xABI\xA5dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKFILLCONTRACTDOUBLEEXECUTION_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockFillContractDoubleExecution(::ethers::contract::Contract); + impl ::core::clone::Clone for MockFillContractDoubleExecution { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockFillContractDoubleExecution { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockFillContractDoubleExecution { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockFillContractDoubleExecution { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockFillContractDoubleExecution)) + .field(&self.address()) + .finish() + } + } + impl MockFillContractDoubleExecution { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFILLCONTRACTDOUBLEEXECUTION_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKFILLCONTRACTDOUBLEEXECUTION_ABI.clone(), + MOCKFILLCONTRACTDOUBLEEXECUTION_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `execute` (0x50df2d40) function + pub fn execute( + &self, + order: SignedOrder, + other: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([80, 223, 45, 64], (order, other)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `reactorCallback` (0x585da628) function + pub fn reactor_callback( + &self, + resolved_orders: ::std::vec::Vec, + other_signed_order: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([88, 93, 166, 40], (resolved_orders, other_signed_order)) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for MockFillContractDoubleExecution { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `NativeTransferFailed` with signature `NativeTransferFailed()` and selector `0xf4b3b1bc` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] + pub struct NativeTransferFailed; + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),(bytes,bytes))` and selector `0x50df2d40` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes),(bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + pub other: SignedOrder, + } + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "reactorCallback", + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" + )] + pub struct ReactorCallbackCall { + pub resolved_orders: ::std::vec::Vec, + pub other_signed_order: ::ethers::core::types::Bytes, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum MockFillContractDoubleExecutionCalls { + Execute(ExecuteCall), + ReactorCallback(ReactorCallbackCall), + } + impl ::ethers::core::abi::AbiDecode for MockFillContractDoubleExecutionCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ReactorCallback(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for MockFillContractDoubleExecutionCalls { + fn encode(self) -> Vec { + match self { + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ReactorCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for MockFillContractDoubleExecutionCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ReactorCallback(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for MockFillContractDoubleExecutionCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From + for MockFillContractDoubleExecutionCalls { + fn from(value: ReactorCallbackCall) -> Self { + Self::ReactorCallback(value) + } + } +} diff --git a/crates/bindings-uniswapx/src/mock_fill_contract_with_output_override.rs b/crates/bindings-uniswapx/src/mock_fill_contract_with_output_override.rs index b9f5cf8..69770c0 100644 --- a/crates/bindings-uniswapx/src/mock_fill_contract_with_output_override.rs +++ b/crates/bindings-uniswapx/src/mock_fill_contract_with_output_override.rs @@ -7,15 +7,79 @@ pub use mock_fill_contract_with_output_override::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_fill_contract_with_output_override { pub use super::super::shared_types::*; #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_reactor"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), ( ::std::borrow::ToOwned::to_owned("reactorCallback"), ::std::vec![ @@ -66,13 +130,6 @@ pub mod mock_fill_contract_with_output_override { ::std::borrow::ToOwned::to_owned("struct ResolvedOrder[]"), ), }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, ::ethers::core::abi::ethabi::Param { name: ::std::string::String::new(), kind: ::ethers::core::abi::ethabi::ParamType::Bytes, @@ -133,15 +190,17 @@ pub mod mock_fill_contract_with_output_override { ::ethers::core::abi::Abi, > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x08\xC6\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c$\xF9\xC44\x14a\0;W\x80c\x99C\xFA\x89\x14a\0PW[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\xEEV[`\0UV[\0[a\0Na\0^6`\x04a\x06bV[`\0[\x83Q\x81\x10\x15a\x01:W`\0[\x84\x82\x81Q\x81\x10a\0\x7FWa\0\x7Fa\x08\x02V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x01'W`\0\x85\x83\x81Q\x81\x10a\0\xA7Wa\0\xA7a\x08\x02V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\0\xC4Wa\0\xC4a\x08\x02V[` \x02` \x01\x01Q\x90P`\0\x80T`\0\x14a\0\xE1W`\0Ta\0\xE7V[\x81` \x01Q[`@\x83\x01Q\x83Q\x91\x92Pa\x01\x12\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x83a\x01@V[PP\x80\x80a\x01\x1F\x90a\x081V[\x91PPa\0mV[P\x80a\x012\x81a\x081V[\x91PPa\0aV[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\xF5W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x01\xB5W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x01\xBAV[``\x91P[PP\x90P\x80a\x01:W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x02\x1BV[PPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x01:W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x03\0W`\0\x80\xFD[P5\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03YWa\x03Ya\x03\x07V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03YWa\x03Ya\x03\x07V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xC9Wa\x03\xC9a\x03\x07V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xEBWa\x03\xEBa\x03\x07V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\x17W`\0\x80\xFD[PV[\x805a\x04%\x81a\x03\xF5V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x04;W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04UWa\x04Ua\x03\x07V[a\x04\x86` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x03\x82V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9BW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04\xCAW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\xEEWa\x04\xEEa\x03\x07V[\x81`@R\x82\x93P\x845\x91Pa\x05\x02\x82a\x03\xF5V[\x90\x82R` \x84\x015\x90a\x05\x14\x82a\x03\xF5V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x05>\x82a\x03\xF5V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x05XW`\0\x80\xFD[Pa\x05e\x85\x82\x86\x01a\x04*V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x05\x84W`\0\x80\xFD[a\x05\x8Ca\x036V[\x90P\x815a\x05\x99\x81a\x03\xF5V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\xC8W`\0\x80\xFD[\x815` a\x05\xDDa\x05\xD8\x83a\x03\xD1V[a\x03\x82V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05\xFCW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x06UW\x81\x81\x8A\x03\x12\x15a\x06\x18W`\0\x80\x81\xFD[a\x06 a\x036V[\x815a\x06+\x81a\x03\xF5V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x06D\x81a\x03\xF5V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x06\0V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x06wW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\x8FW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x06\xA3W`\0\x80\xFD[\x815` a\x06\xB3a\x05\xD8\x83a\x03\xD1V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x06\xD2W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x07\xC3W\x805\x86\x81\x11\x15a\x06\xEDW`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\x07!W`\0\x80\xFD[a\x07)a\x03_V[\x85\x82\x015\x88\x81\x11\x15a\x07:W`\0\x80\xFD[a\x07H\x8F\x88\x83\x86\x01\x01a\x04\xB8V[\x82RPa\x07X\x8E`@\x84\x01a\x05rV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\x07oW`\0\x80\x81\xFD[a\x07}\x8F\x88\x83\x86\x01\x01a\x05\xB7V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\x07\x96W`\0\x80\x81\xFD[a\x07\xA4\x8F\x88\x83\x86\x01\x01a\x04*V[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x06\xD6V[P\x97Pa\x07\xD3\x90P\x88\x82\x01a\x04\x1AV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\x07\xEBW`\0\x80\xFD[Pa\x07\xF8\x86\x82\x87\x01a\x04*V[\x91PP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x08\x89W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xA0\xED\x15-q/$\x19\x8E{mR\x1F\xEA\x13\xE4\xAFY\xA9\xAF\xDC\x0E\x86;\x1Bx\xB0\xE3\x0C\xFCmudsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\r\x108\x03\x80a\r\x10\x839\x81\x01`@\x81\x90Ra\0/\x91a\0@V[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0pV[`\0` \x82\x84\x03\x12\x15a\0RW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0iW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0Cqa\0\x9F`\09`\0\x81\x81`\xDC\x01R\x81\x81a\x01\x86\x01R\x81\x81a\x02\x9D\x01Ra\x03\x06\x01Ra\x0Cq`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0LW`\x005`\xE0\x1C\x80c\rz\x16\xC3\x14a\0QW\x80c$\xF9\xC44\x14a\0fW\x80c?b\x19.\x14a\0yW\x80cX]\xA6(\x14a\0\x8CW[`\0\x80\xFD[a\0da\0_6`\x04a\x04VV[a\0\x9FV[\0[a\0da\0t6`\x04a\x04\xCBV[`\0UV[a\0da\0\x876`\x04a\x04\xE4V[a\x01IV[a\0da\0\x9A6`\x04a\x08qV[a\x01\xF0V[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x01\x13\x90\x85\x90\x85\x90`\x04\x01a\n\xFDV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01-W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01AW=`\0\x80>=`\0\xFD[PPPPPPV[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\x01\xBB\x90\x84\x90`\x04\x01a\x0B\xC0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xD5W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xE9W=`\0\x80>=`\0\xFD[PPPPPV[`\0[\x82Q\x81\x10\x15a\x03\xB7W`\0[\x83\x82\x81Q\x81\x10a\x02\x11Wa\x02\x11a\x0B\xEAV[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x03\xAEW`\0\x84\x83\x81Q\x81\x10a\x029Wa\x029a\x0B\xEAV[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x02VWa\x02Va\x0B\xEAV[` \x02` \x01\x01Q\x90P`\0\x80T`\0\x14a\x02sW`\0Ta\x02yV[\x81` \x01Q[\x82Q\x90\x91Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x02\xC7Wa\x02\xC2\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a\x03\xBCV[a\x03\xA4V[\x81Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16`\x04\x83\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x83\x01R\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03~W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\xA2\x91\x90a\x0C\x19V[P[PP`\x01\x01a\x01\xFFV[P`\x01\x01a\x01\xF3V[PPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x04\x16W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x04\x1BV[``\x91P[PP\x90P\x80a\x03\xB7W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x04iW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x81W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x04\x95W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x04\xA4W`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x04\xB9W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x04\xDDW`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x04\xF6W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x05\rW`\0\x80\xFD[\x82\x01`@\x81\x85\x03\x12\x15a\x05\x1FW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05xWa\x05xa\x05&V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05xWa\x05xa\x05&V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xE8Wa\x05\xE8a\x05&V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x06\nWa\x06\na\x05&V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x066W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06JW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06dWa\x06da\x05&V[a\x06\x95` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\xA1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xAAW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xD9W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xFDWa\x06\xFDa\x05&V[\x81`@R\x82\x93P\x845\x91Pa\x07\x11\x82a\x06\x14V[\x90\x82R` \x84\x015\x90a\x07#\x82a\x06\x14V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07M\x82a\x06\x14V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07gW`\0\x80\xFD[Pa\x07t\x85\x82\x86\x01a\x069V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\x93W`\0\x80\xFD[a\x07\x9Ba\x05UV[\x90P\x815a\x07\xA8\x81a\x06\x14V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xD7W`\0\x80\xFD[\x815` a\x07\xECa\x07\xE7\x83a\x05\xF0V[a\x05\xA1V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08dW\x81\x81\x8A\x03\x12\x15a\x08'W`\0\x80\x81\xFD[a\x08/a\x05UV[\x815a\x08:\x81a\x06\x14V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08S\x81a\x06\x14V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\x0FV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\x84W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08\x9CW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08\xB0W`\0\x80\xFD[\x815` a\x08\xC0a\x07\xE7\x83a\x05\xF0V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08\xDFW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\xD0W\x805\x86\x81\x11\x15a\x08\xFBW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\t1W`\0\x80\x81\xFD[a\t9a\x05~V[\x86\x83\x015\x89\x81\x11\x15a\tKW`\0\x80\x81\xFD[a\tY\x8F\x89\x83\x87\x01\x01a\x06\xC7V[\x82RPa\ti\x8E`@\x85\x01a\x07\x81V[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\t\x80W`\0\x80\x81\xFD[a\t\x8E\x8F\x89\x83\x87\x01\x01a\x07\xC6V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\t\xA7W`\0\x80\x81\xFD[a\t\xB5\x8F\x89\x83\x87\x01\x01a\x069V[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08\xE3V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t\xE7W`\0\x80\xFD[Pa\t\xF4\x85\x82\x86\x01a\x069V[\x91PP\x92P\x92\x90PV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\n3W`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\nSW`\0\x80\xFD[\x806\x03\x82\x13\x15a\nbW`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\xBE\x82\x83a\t\xFEV[`@\x85Ra\n\xD0`@\x86\x01\x82\x84a\niV[\x91PPa\n\xE0` \x84\x01\x84a\t\xFEV[\x85\x83\x03` \x87\x01Ra\n\xF3\x83\x82\x84a\niV[\x96\x95PPPPPPV[`@\x80\x82R\x81\x01\x82\x90R`\0```\x05\x84\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x85\x83\x80[\x87\x81\x10\x15a\x0B\x9DW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8A6\x03\x01\x81\x12a\x0B{W\x82\x83\xFD[a\x0B\x87\x86\x8B\x83\x01a\n\xB2V[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x0B\x1BV[PPPP\x82\x81\x03` \x84\x01Ra\x0B\xB7\x81`\0\x81R` \x01\x90V[\x95\x94PPPPPV[`@\x81R`\0a\x0B\xD3`@\x83\x01\x84a\n\xB2V[\x82\x81\x03` \x93\x84\x01R`\0\x81R\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0C+W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x05\x1FW`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xD64\xC6\x7Ff\xA8\x1E\xAC\x0C\xB0Lu\xA1x\xD5h\x8By\xB1\x8Ej\x81\xCAO@\x1E\xDA8gAj\x85dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80c$\xF9\xC44\x14a\0;W\x80c\x99C\xFA\x89\x14a\0PW[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\xEEV[`\0UV[\0[a\0Na\0^6`\x04a\x06bV[`\0[\x83Q\x81\x10\x15a\x01:W`\0[\x84\x82\x81Q\x81\x10a\0\x7FWa\0\x7Fa\x08\x02V[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x01'W`\0\x85\x83\x81Q\x81\x10a\0\xA7Wa\0\xA7a\x08\x02V[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\0\xC4Wa\0\xC4a\x08\x02V[` \x02` \x01\x01Q\x90P`\0\x80T`\0\x14a\0\xE1W`\0Ta\0\xE7V[\x81` \x01Q[`@\x83\x01Q\x83Q\x91\x92Pa\x01\x12\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x83a\x01@V[PP\x80\x80a\x01\x1F\x90a\x081V[\x91PPa\0mV[P\x80a\x012\x81a\x081V[\x91PPa\0aV[PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x01\xF5W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x01\xB5W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x01\xBAV[``\x91P[PP\x90P\x80a\x01:W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83a\x02\x1BV[PPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x01:W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xFD[`\0` \x82\x84\x03\x12\x15a\x03\0W`\0\x80\xFD[P5\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03YWa\x03Ya\x03\x07V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03YWa\x03Ya\x03\x07V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xC9Wa\x03\xC9a\x03\x07V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xEBWa\x03\xEBa\x03\x07V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04\x17W`\0\x80\xFD[PV[\x805a\x04%\x81a\x03\xF5V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x04;W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04UWa\x04Ua\x03\x07V[a\x04\x86` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x03\x82V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9BW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x04\xCAW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x04\xEEWa\x04\xEEa\x03\x07V[\x81`@R\x82\x93P\x845\x91Pa\x05\x02\x82a\x03\xF5V[\x90\x82R` \x84\x015\x90a\x05\x14\x82a\x03\xF5V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x05>\x82a\x03\xF5V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x05XW`\0\x80\xFD[Pa\x05e\x85\x82\x86\x01a\x04*V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x05\x84W`\0\x80\xFD[a\x05\x8Ca\x036V[\x90P\x815a\x05\x99\x81a\x03\xF5V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x05\xC8W`\0\x80\xFD[\x815` a\x05\xDDa\x05\xD8\x83a\x03\xD1V[a\x03\x82V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x05\xFCW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x06UW\x81\x81\x8A\x03\x12\x15a\x06\x18W`\0\x80\x81\xFD[a\x06 a\x036V[\x815a\x06+\x81a\x03\xF5V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x06D\x81a\x03\xF5V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x06\0V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x06wW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x06\x8FW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x06\xA3W`\0\x80\xFD[\x815` a\x06\xB3a\x05\xD8\x83a\x03\xD1V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\x06\xD2W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x07\xC3W\x805\x86\x81\x11\x15a\x06\xEDW`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\x07!W`\0\x80\xFD[a\x07)a\x03_V[\x85\x82\x015\x88\x81\x11\x15a\x07:W`\0\x80\xFD[a\x07H\x8F\x88\x83\x86\x01\x01a\x04\xB8V[\x82RPa\x07X\x8E`@\x84\x01a\x05rV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\x07oW`\0\x80\x81\xFD[a\x07}\x8F\x88\x83\x86\x01\x01a\x05\xB7V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\x07\x96W`\0\x80\x81\xFD[a\x07\xA4\x8F\x88\x83\x86\x01\x01a\x04*V[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x06\xD6V[P\x97Pa\x07\xD3\x90P\x88\x82\x01a\x04\x1AV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\x07\xEBW`\0\x80\xFD[Pa\x07\xF8\x86\x82\x87\x01a\x04*V[\x91PP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x08\x89W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V\xFE\xA2dipfsX\"\x12 \xA0\xED\x15-q/$\x19\x8E{mR\x1F\xEA\x13\xE4\xAFY\xA9\xAF\xDC\x0E\x86;\x1Bx\xB0\xE3\x0C\xFCmudsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0LW`\x005`\xE0\x1C\x80c\rz\x16\xC3\x14a\0QW\x80c$\xF9\xC44\x14a\0fW\x80c?b\x19.\x14a\0yW\x80cX]\xA6(\x14a\0\x8CW[`\0\x80\xFD[a\0da\0_6`\x04a\x04VV[a\0\x9FV[\0[a\0da\0t6`\x04a\x04\xCBV[`\0UV[a\0da\0\x876`\x04a\x04\xE4V[a\x01IV[a\0da\0\x9A6`\x04a\x08qV[a\x01\xF0V[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x01\x13\x90\x85\x90\x85\x90`\x04\x01a\n\xFDV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01-W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01AW=`\0\x80>=`\0\xFD[PPPPPPV[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\x01\xBB\x90\x84\x90`\x04\x01a\x0B\xC0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xD5W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01\xE9W=`\0\x80>=`\0\xFD[PPPPPV[`\0[\x82Q\x81\x10\x15a\x03\xB7W`\0[\x83\x82\x81Q\x81\x10a\x02\x11Wa\x02\x11a\x0B\xEAV[` \x02` \x01\x01Q`@\x01QQ\x81\x10\x15a\x03\xAEW`\0\x84\x83\x81Q\x81\x10a\x029Wa\x029a\x0B\xEAV[` \x02` \x01\x01Q`@\x01Q\x82\x81Q\x81\x10a\x02VWa\x02Va\x0B\xEAV[` \x02` \x01\x01Q\x90P`\0\x80T`\0\x14a\x02sW`\0Ta\x02yV[\x81` \x01Q[\x82Q\x90\x91Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x02\xC7Wa\x02\xC2\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82a\x03\xBCV[a\x03\xA4V[\x81Q`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16`\x04\x83\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`$\x83\x01R\x90\x91\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03~W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\xA2\x91\x90a\x0C\x19V[P[PP`\x01\x01a\x01\xFFV[P`\x01\x01a\x01\xF3V[PPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x04\x16W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x04\x1BV[``\x91P[PP\x90P\x80a\x03\xB7W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x04iW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x81W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x04\x95W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x04\xA4W`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x04\xB9W`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[`\0` \x82\x84\x03\x12\x15a\x04\xDDW`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x04\xF6W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x05\rW`\0\x80\xFD[\x82\x01`@\x81\x85\x03\x12\x15a\x05\x1FW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05xWa\x05xa\x05&V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05xWa\x05xa\x05&V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x05\xE8Wa\x05\xE8a\x05&V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x06\nWa\x06\na\x05&V[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x066W`\0\x80\xFD[PV[`\0\x82`\x1F\x83\x01\x12a\x06JW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x06dWa\x06da\x05&V[a\x06\x95` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x05\xA1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x06\xAAW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x06\xD9W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x06\xFDWa\x06\xFDa\x05&V[\x81`@R\x82\x93P\x845\x91Pa\x07\x11\x82a\x06\x14V[\x90\x82R` \x84\x015\x90a\x07#\x82a\x06\x14V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x07M\x82a\x06\x14V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x07gW`\0\x80\xFD[Pa\x07t\x85\x82\x86\x01a\x069V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x07\x93W`\0\x80\xFD[a\x07\x9Ba\x05UV[\x90P\x815a\x07\xA8\x81a\x06\x14V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x07\xD7W`\0\x80\xFD[\x815` a\x07\xECa\x07\xE7\x83a\x05\xF0V[a\x05\xA1V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x08dW\x81\x81\x8A\x03\x12\x15a\x08'W`\0\x80\x81\xFD[a\x08/a\x05UV[\x815a\x08:\x81a\x06\x14V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x08S\x81a\x06\x14V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\x0FV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\x84W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x08\x9CW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x08\xB0W`\0\x80\xFD[\x815` a\x08\xC0a\x07\xE7\x83a\x05\xF0V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x08\xDFW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\t\xD0W\x805\x86\x81\x11\x15a\x08\xFBW`\0\x80\x81\xFD[\x87\x01`\xE0\x81\x8D\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x81\x13\x15a\t1W`\0\x80\x81\xFD[a\t9a\x05~V[\x86\x83\x015\x89\x81\x11\x15a\tKW`\0\x80\x81\xFD[a\tY\x8F\x89\x83\x87\x01\x01a\x06\xC7V[\x82RPa\ti\x8E`@\x85\x01a\x07\x81V[\x87\x82\x01R`\xA0\x83\x015\x89\x81\x11\x15a\t\x80W`\0\x80\x81\xFD[a\t\x8E\x8F\x89\x83\x87\x01\x01a\x07\xC6V[`@\x83\x01RP`\xC0\x83\x015\x89\x81\x11\x15a\t\xA7W`\0\x80\x81\xFD[a\t\xB5\x8F\x89\x83\x87\x01\x01a\x069V[``\x83\x01RP\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\x08\xE3V[P\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\t\xE7W`\0\x80\xFD[Pa\t\xF4\x85\x82\x86\x01a\x069V[\x91PP\x92P\x92\x90PV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\n3W`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\nSW`\0\x80\xFD[\x806\x03\x82\x13\x15a\nbW`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0a\n\xBE\x82\x83a\t\xFEV[`@\x85Ra\n\xD0`@\x86\x01\x82\x84a\niV[\x91PPa\n\xE0` \x84\x01\x84a\t\xFEV[\x85\x83\x03` \x87\x01Ra\n\xF3\x83\x82\x84a\niV[\x96\x95PPPPPPV[`@\x80\x82R\x81\x01\x82\x90R`\0```\x05\x84\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x85\x83\x80[\x87\x81\x10\x15a\x0B\x9DW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8A6\x03\x01\x81\x12a\x0B{W\x82\x83\xFD[a\x0B\x87\x86\x8B\x83\x01a\n\xB2V[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x0B\x1BV[PPPP\x82\x81\x03` \x84\x01Ra\x0B\xB7\x81`\0\x81R` \x01\x90V[\x95\x94PPPPPV[`@\x81R`\0a\x0B\xD3`@\x83\x01\x84a\n\xB2V[\x82\x81\x03` \x93\x84\x01R`\0\x81R\x91\x90\x91\x01\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x0C+W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x05\x1FW`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xD64\xC6\x7Ff\xA8\x1E\xAC\x0C\xB0Lu\xA1x\xD5h\x8By\xB1\x8Ej\x81\xCAO@\x1E\xDA8gAj\x85dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockFillContractWithOutputOverride(::ethers::contract::Contract); impl ::core::clone::Clone for MockFillContractWithOutputOverride { fn clone(&self) -> Self { @@ -173,11 +232,13 @@ pub mod mock_fill_contract_with_output_override { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKFILLCONTRACTWITHOUTPUTOVERRIDE_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -218,15 +279,32 @@ pub mod mock_fill_contract_with_output_override { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `reactorCallback` (0x9943fa89) function + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( + &self, + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([63, 98, 25, 46], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( + &self, + orders: ::std::vec::Vec, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 122, 22, 195], orders) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `reactorCallback` (0x585da628) function pub fn reactor_callback( &self, resolved_orders: ::std::vec::Vec, - p1: ::ethers::core::types::Address, - p2: ::ethers::core::types::Bytes, + p1: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([153, 67, 250, 137], (resolved_orders, p1, p2)) + .method_hash([88, 93, 166, 40], (resolved_orders, p1)) .expect("method not found (this should never happen)") } ///Calls the contract's `setOutputAmount` (0x24f9c434) function @@ -240,8 +318,7 @@ pub mod mock_fill_contract_with_output_override { } } impl From<::ethers::contract::Contract> - for MockFillContractWithOutputOverride - { + for MockFillContractWithOutputOverride { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -251,52 +328,102 @@ pub mod mock_fill_contract_with_output_override { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; - ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)` and selector `0x9943fa89` + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + } + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash )] #[ethcall( name = "reactorCallback", - abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)" + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" )] pub struct ReactorCallbackCall { pub resolved_orders: ::std::vec::Vec, - pub p1: ::ethers::core::types::Address, - pub p2: ::ethers::core::types::Bytes, + pub p1: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `setOutputAmount` function with signature `setOutputAmount(uint256)` and selector `0x24f9c434` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setOutputAmount", abi = "setOutputAmount(uint256)")] pub struct SetOutputAmountCall { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockFillContractWithOutputOverrideCalls { + Execute(ExecuteCall), + ExecuteBatch(ExecuteBatchCall), ReactorCallback(ReactorCallbackCall), SetOutputAmount(SetOutputAmountCall), } @@ -305,14 +432,24 @@ pub mod mock_fill_contract_with_output_override { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatch(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ReactorCallback(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetOutputAmount(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -321,25 +458,48 @@ pub mod mock_fill_contract_with_output_override { impl ::ethers::core::abi::AbiEncode for MockFillContractWithOutputOverrideCalls { fn encode(self) -> Vec { match self { - Self::ReactorCallback(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetOutputAmount(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ReactorCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetOutputAmount(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for MockFillContractWithOutputOverrideCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), Self::ReactorCallback(element) => ::core::fmt::Display::fmt(element, f), Self::SetOutputAmount(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From for MockFillContractWithOutputOverrideCalls { + impl ::core::convert::From for MockFillContractWithOutputOverrideCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From + for MockFillContractWithOutputOverrideCalls { + fn from(value: ExecuteBatchCall) -> Self { + Self::ExecuteBatch(value) + } + } + impl ::core::convert::From + for MockFillContractWithOutputOverrideCalls { fn from(value: ReactorCallbackCall) -> Self { Self::ReactorCallback(value) } } - impl ::core::convert::From for MockFillContractWithOutputOverrideCalls { + impl ::core::convert::From + for MockFillContractWithOutputOverrideCalls { fn from(value: SetOutputAmountCall) -> Self { Self::SetOutputAmount(value) } diff --git a/crates/bindings-uniswapx/src/mock_order_struct.rs b/crates/bindings-uniswapx/src/mock_order_struct.rs deleted file mode 100644 index 93df4ef..0000000 --- a/crates/bindings-uniswapx/src/mock_order_struct.rs +++ /dev/null @@ -1,72 +0,0 @@ -pub use mock_order_struct::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod mock_order_struct { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static MOCKORDERSTRUCT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct MockOrderStruct(::ethers::contract::Contract); - impl ::core::clone::Clone for MockOrderStruct { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for MockOrderStruct { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for MockOrderStruct { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for MockOrderStruct { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(MockOrderStruct)) - .field(&self.address()) - .finish() - } - } - impl MockOrderStruct { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKORDERSTRUCT_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> - for MockOrderStruct - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } -} diff --git a/crates/bindings-uniswapx/src/mock_protocol_fees.rs b/crates/bindings-uniswapx/src/mock_protocol_fees.rs index e36476f..14253c5 100644 --- a/crates/bindings-uniswapx/src/mock_protocol_fees.rs +++ b/crates/bindings-uniswapx/src/mock_protocol_fees.rs @@ -7,7 +7,7 @@ pub use mock_protocol_fees::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_protocol_fees { pub use super::super::shared_types::*; @@ -15,247 +15,320 @@ pub mod mock_protocol_fees { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_protocolFeeOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_protocolFeeOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("takeFees"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("takeFees"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("order"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("takeFees"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ]), receive: false, @@ -263,18 +336,21 @@ pub mod mock_protocol_fees { } } ///The parsed JSON ABI of the contract. - pub static MOCKPROTOCOLFEES_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKPROTOCOLFEES_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x10\xBB8\x03\x80a\x10\xBB\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x83\x92\x83\x92\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PPPa\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[a\x0F\xFB\x80a\0\xC0`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0gW`\x005`\xE0\x1C\x80co\x12\xF4B\x11a\0PW\x80co\x12\xF4B\x14a\0\xCBW\x80c\x8D\xA5\xCB[\x14a\0\xEBW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x0BW`\0\x80\xFD[\x80c-w\x13\x89\x14a\0lW\x80ci\x99\xB3w\x14a\0\x81W[`\0\x80\xFD[a\0\x7Fa\0z6`\x04a\x08rV[a\x01\x1EV[\0[`\x01Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDEa\0\xD96`\x04a\x0B\xBCV[a\x02*V[`@Qa\0\xC2\x91\x90a\r\\V[`\0Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x7Fa\x01\x196`\x04a\x08rV[a\x02\xA6V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xA4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x02\xA2\x82a\x03\x97V[P\x90V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03'W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\x9BV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x03\xB7WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x04\x0E\x90\x85\x90`\x04\x01a\r\\V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04+W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04q\x91\x90\x81\x01\x90a\x0E\x86V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x04\x89\x82\x84a\x0FVV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xA1Wa\x04\xA1a\x08\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\nW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04\xBFW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x05[W\x85`@\x01Q\x81\x81Q\x81\x10a\x05.Wa\x05.a\x0F\x96V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x05HWa\x05Ha\x0F\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\x10V[P`\0[\x82\x81\x10\x15a\x08\x02W`\0\x85\x82\x81Q\x81\x10a\x05{Wa\x05{a\x0F\x96V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x069W\x86\x81\x81Q\x81\x10a\x05\xA2Wa\x05\xA2a\x0F\x96V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x061W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x01\x9BV[`\x01\x01a\x05\x88V[P`\0\x80[\x86\x81\x10\x15a\x06\xBEW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x06^Wa\x06^a\x0F\x96V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x06\xB5W` \x81\x01Qa\x06\xB2\x90\x84a\x0FVV[\x92P[P`\x01\x01a\x06>V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x06\xFBW` \x80\x89\x01Q\x01Qa\x06\xF8\x90\x82a\x0FVV[\x90P[\x80`\0\x03a\x07PW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x01\x9BV[a\x07^\x81`\x05a'\x10a\x08\x11V[\x82` \x01Q\x11\x15a\x07\xD1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x01\x9BV[\x81\x84a\x07\xDD\x85\x89a\x0FVV[\x81Q\x81\x10a\x07\xEDWa\x07\xEDa\x0F\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x05_V[P`@\x90\x94\x01\x93\x90\x93RPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x08FW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08oW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x08\x84W`\0\x80\xFD[\x815a\x08\x8F\x81a\x08MV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08\xE8Wa\x08\xE8a\x08\x96V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08\xE8Wa\x08\xE8a\x08\x96V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\tXWa\tXa\x08\x96V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\tqW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\x8BWa\t\x8Ba\x08\x96V[a\t\xBC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\t\x11V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\t\xD1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\n\0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\n$Wa\n$a\x08\x96V[\x81`@R\x82\x93P\x845\x91Pa\n8\x82a\x08MV[\x90\x82R` \x84\x015\x90a\nJ\x82a\x08MV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\nt\x82a\x08MV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\n\x8EW`\0\x80\xFD[Pa\n\x9B\x85\x82\x86\x01a\t`V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\n\xBAW`\0\x80\xFD[a\n\xC2a\x08\xC5V[\x90P\x815a\n\xCF\x81a\x08MV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x0B\x07Wa\x0B\x07a\x08\x96V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x0B\"W`\0\x80\xFD[\x815` a\x0B7a\x0B2\x83a\n\xEDV[a\t\x11V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x0BVW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x0B\xAFW\x81\x81\x8A\x03\x12\x15a\x0BrW`\0\x80\x81\xFD[a\x0Bza\x08\xC5V[\x815a\x0B\x85\x81a\x08MV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x0B\x9E\x81a\x08MV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x0BZV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x0B\xCEW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xE6W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x0B\xFAW`\0\x80\xFD[a\x0C\x02a\x08\xEEV[\x825\x82\x81\x11\x15a\x0C\x11W`\0\x80\xFD[a\x0C\x1D\x87\x82\x86\x01a\t\xEEV[\x82RPa\x0C-\x86` \x85\x01a\n\xA8V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x0CDW`\0\x80\xFD[a\x0CP\x87\x82\x86\x01a\x0B\x11V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x0ChW`\0\x80\xFD[a\x0Ct\x87\x82\x86\x01a\t`V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0C\xB4W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0C\x98V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\rQW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\r\x06V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\r\xD8a\x01\xC0\x84\x01\x82a\x0C\x8EV[\x90P` \x84\x01Qa\x0E\x16`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x0EQ\x83\x83a\x0C\xF2V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x0Eo\x82\x82a\x0C\x8EV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x80\x83\x85\x03\x12\x15a\x0E\x99W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xB0W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a\x0E\xC1W`\0\x80\xFD[\x80Qa\x0E\xCFa\x0B2\x82a\n\xEDV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a\x0E\xEEW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a\x0FJW\x80\x85\x8A\x03\x12\x15a\x0F\x0BW`\0\x80\x81\xFD[a\x0F\x13a\x08\xC5V[\x85Qa\x0F\x1E\x81a\x08MV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa\x0F7\x81a\x08MV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a\x0E\xF3V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0F\x90W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xA5\x02\xDA\xE0x\x0C\xB2\xAA\xA3%\x9D\xB6\xC5\xDF?\xE9\x03\xCD3\x9E#\xDAW#{\x17\xE6\xD4\xF2\xDC\x11\xF2dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x1128\x03\x80a\x112\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\x81V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x83\x92\x83\x92\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PPPa\0\xB1V[`\0` \x82\x84\x03\x12\x15a\0\x93W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xAAW`\0\x80\xFD[\x93\x92PPPV[a\x10r\x80a\0\xC0`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0gW`\x005`\xE0\x1C\x80co\x12\xF4B\x11a\0PW\x80co\x12\xF4B\x14a\0\xCBW\x80c\x8D\xA5\xCB[\x14a\0\xEBW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x0BW`\0\x80\xFD[\x80c-w\x13\x89\x14a\0lW\x80ci\x99\xB3w\x14a\0\x81W[`\0\x80\xFD[a\0\x7Fa\0z6`\x04a\x08\xE8V[a\x01\x1EV[\0[`\x01Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDEa\0\xD96`\x04a\x0C2V[a\x02*V[`@Qa\0\xC2\x91\x90a\r\xD3V[`\0Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x7Fa\x01\x196`\x04a\x08\xE8V[a\x02\xA6V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xA4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x02\xA2\x82a\x03\x97V[P\x90V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03'W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\x9BV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x03\xB7WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x04\x0E\x90\x85\x90`\x04\x01a\r\xD3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04+W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04q\x91\x90\x81\x01\x90a\x0E\xFDV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x04\x89\x82\x84a\x0F\xCDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xA1Wa\x04\xA1a\t\x0CV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\nW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04\xBFW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x05[W\x85`@\x01Q\x81\x81Q\x81\x10a\x05.Wa\x05.a\x10\rV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x05HWa\x05Ha\x10\rV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\x10V[P`\0\x80`\0[\x84\x81\x10\x15a\x08vW`\0\x87\x82\x81Q\x81\x10a\x05~Wa\x05~a\x10\rV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x06=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04q\x91\x90\x81\x01\x90a\x0E\x86V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x04\x89\x82\x84a\x0FVV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xA1Wa\x04\xA1a\x08\x96V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\nW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04\xBFW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x05[W\x85`@\x01Q\x81\x81Q\x81\x10a\x05.Wa\x05.a\x0F\x96V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x05HWa\x05Ha\x0F\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\x10V[P`\0[\x82\x81\x10\x15a\x08\x02W`\0\x85\x82\x81Q\x81\x10a\x05{Wa\x05{a\x0F\x96V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x069W\x86\x81\x81Q\x81\x10a\x05\xA2Wa\x05\xA2a\x0F\x96V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x061W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x01\x9BV[`\x01\x01a\x05\x88V[P`\0\x80[\x86\x81\x10\x15a\x06\xBEW`\0\x89`@\x01Q\x82\x81Q\x81\x10a\x06^Wa\x06^a\x0F\x96V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x06\xB5W` \x81\x01Qa\x06\xB2\x90\x84a\x0FVV[\x92P[P`\x01\x01a\x06>V[P\x81Q` \x89\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x06\xFBW` \x80\x89\x01Q\x01Qa\x06\xF8\x90\x82a\x0FVV[\x90P[\x80`\0\x03a\x07PW\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x01\x9BV[a\x07^\x81`\x05a'\x10a\x08\x11V[\x82` \x01Q\x11\x15a\x07\xD1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x01\x9BV[\x81\x84a\x07\xDD\x85\x89a\x0FVV[\x81Q\x81\x10a\x07\xEDWa\x07\xEDa\x0F\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x05_V[P`@\x90\x94\x01\x93\x90\x93RPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x08FW`\0\x80\xFD[P\x91\x02\x04\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08oW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x08\x84W`\0\x80\xFD[\x815a\x08\x8F\x81a\x08MV[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08\xE8Wa\x08\xE8a\x08\x96V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x08\xE8Wa\x08\xE8a\x08\x96V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\tXWa\tXa\x08\x96V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\tqW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\x8BWa\t\x8Ba\x08\x96V[a\t\xBC` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\t\x11V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\t\xD1W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\n\0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\n$Wa\n$a\x08\x96V[\x81`@R\x82\x93P\x845\x91Pa\n8\x82a\x08MV[\x90\x82R` \x84\x015\x90a\nJ\x82a\x08MV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\nt\x82a\x08MV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\n\x8EW`\0\x80\xFD[Pa\n\x9B\x85\x82\x86\x01a\t`V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\n\xBAW`\0\x80\xFD[a\n\xC2a\x08\xC5V[\x90P\x815a\n\xCF\x81a\x08MV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x0B\x07Wa\x0B\x07a\x08\x96V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x0B\"W`\0\x80\xFD[\x815` a\x0B7a\x0B2\x83a\n\xEDV[a\t\x11V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x0BVW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x0B\xAFW\x81\x81\x8A\x03\x12\x15a\x0BrW`\0\x80\x81\xFD[a\x0Bza\x08\xC5V[\x815a\x0B\x85\x81a\x08MV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x0B\x9E\x81a\x08MV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x0BZV[P\x90\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x0B\xCEW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0B\xE6W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\x0B\xFAW`\0\x80\xFD[a\x0C\x02a\x08\xEEV[\x825\x82\x81\x11\x15a\x0C\x11W`\0\x80\xFD[a\x0C\x1D\x87\x82\x86\x01a\t\xEEV[\x82RPa\x0C-\x86` \x85\x01a\n\xA8V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x0CDW`\0\x80\xFD[a\x0CP\x87\x82\x86\x01a\x0B\x11V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x0ChW`\0\x80\xFD[a\x0Ct\x87\x82\x86\x01a\t`V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0C\xB4W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0C\x98V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\rQW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\r\x06V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\r\xD8a\x01\xC0\x84\x01\x82a\x0C\x8EV[\x90P` \x84\x01Qa\x0E\x16`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x0EQ\x83\x83a\x0C\xF2V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x0Eo\x82\x82a\x0C\x8EV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x80\x83\x85\x03\x12\x15a\x0E\x99W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\xB0W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a\x0E\xC1W`\0\x80\xFD[\x80Qa\x0E\xCFa\x0B2\x82a\n\xEDV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a\x0E\xEEW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a\x0FJW\x80\x85\x8A\x03\x12\x15a\x0F\x0BW`\0\x80\x81\xFD[a\x0F\x13a\x08\xC5V[\x85Qa\x0F\x1E\x81a\x08MV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa\x0F7\x81a\x08MV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a\x0E\xF3V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0F\x90W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x92\x91PPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xA5\x02\xDA\xE0x\x0C\xB2\xAA\xA3%\x9D\xB6\xC5\xDF?\xE9\x03\xCD3\x9E#\xDAW#{\x17\xE6\xD4\xF2\xDC\x11\xF2dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0gW`\x005`\xE0\x1C\x80co\x12\xF4B\x11a\0PW\x80co\x12\xF4B\x14a\0\xCBW\x80c\x8D\xA5\xCB[\x14a\0\xEBW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x0BW`\0\x80\xFD[\x80c-w\x13\x89\x14a\0lW\x80ci\x99\xB3w\x14a\0\x81W[`\0\x80\xFD[a\0\x7Fa\0z6`\x04a\x08\xE8V[a\x01\x1EV[\0[`\x01Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDEa\0\xD96`\x04a\x0C2V[a\x02*V[`@Qa\0\xC2\x91\x90a\r\xD3V[`\0Ta\0\xA1\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[a\0\x7Fa\x01\x196`\x04a\x08\xE8V[a\x02\xA6V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xA4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91Ra\x02\xA2\x82a\x03\x97V[P\x90V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x03'W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\x9BV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x03\xB7WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x04\x0E\x90\x85\x90`\x04\x01a\r\xD3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x04+W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04q\x91\x90\x81\x01\x90a\x0E\xFDV[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x04\x89\x82\x84a\x0F\xCDV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xA1Wa\x04\xA1a\t\x0CV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\nW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x04\xBFW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x05[W\x85`@\x01Q\x81\x81Q\x81\x10a\x05.Wa\x05.a\x10\rV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x05HWa\x05Ha\x10\rV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\x10V[P`\0\x80`\0[\x84\x81\x10\x15a\x08vW`\0\x87\x82\x81Q\x81\x10a\x05~Wa\x05~a\x10\rV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x06(::ethers::contract::Contract); impl ::core::clone::Clone for MockProtocolFees { fn clone(&self) -> Self { @@ -306,11 +382,13 @@ pub mod mock_protocol_fees { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKPROTOCOLFEES_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKPROTOCOLFEES_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -354,7 +432,10 @@ pub mod mock_protocol_fees { ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -362,7 +443,10 @@ pub mod mock_protocol_fees { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -397,8 +481,11 @@ pub mod mock_protocol_fees { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -414,15 +501,16 @@ pub mod mock_protocol_fees { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MockProtocolFeesEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + MockProtocolFeesEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for MockProtocolFees - { + for MockProtocolFees { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -432,11 +520,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -447,11 +537,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -459,26 +551,53 @@ pub mod mock_protocol_fees { pub amount: ::ethers::core::types::U256, pub recipient: ::ethers::core::types::Address, } + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { pub fee_token: ::ethers::core::types::Address, } ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockProtocolFeesErrors { DuplicateFeeOutput(DuplicateFeeOutput), FeeTooLarge(FeeTooLarge), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), /// The standard solidity revert string, with selector /// Error(string) -- 0x08c379a0 @@ -489,20 +608,29 @@ pub mod mock_protocol_fees { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -514,8 +642,15 @@ pub mod mock_protocol_fees { Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -525,12 +660,17 @@ pub mod mock_protocol_fees { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { true } _ => false, @@ -540,8 +680,13 @@ pub mod mock_protocol_fees { impl ::core::fmt::Display for MockProtocolFeesErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } @@ -562,6 +707,11 @@ pub mod mock_protocol_fees { Self::FeeTooLarge(value) } } + impl ::core::convert::From for MockProtocolFeesErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) + } + } impl ::core::convert::From for MockProtocolFeesErrors { fn from(value: InvalidFeeToken) -> Self { Self::InvalidFeeToken(value) @@ -571,11 +721,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -591,11 +743,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -606,7 +760,16 @@ pub mod mock_protocol_fees { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockProtocolFeesEvents { OwnershipTransferredFilter(OwnershipTransferredFilter), ProtocolFeeControllerSetFilter(ProtocolFeeControllerSetFilter), @@ -619,9 +782,9 @@ pub mod mock_protocol_fees { return Ok(MockProtocolFeesEvents::OwnershipTransferredFilter(decoded)); } if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { - return Ok(MockProtocolFeesEvents::ProtocolFeeControllerSetFilter( - decoded, - )); + return Ok( + MockProtocolFeesEvents::ProtocolFeeControllerSetFilter(decoded), + ); } Err(::ethers::core::abi::Error::InvalidData) } @@ -629,7 +792,9 @@ pub mod mock_protocol_fees { impl ::core::fmt::Display for MockProtocolFeesEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -641,7 +806,8 @@ pub mod mock_protocol_fees { Self::OwnershipTransferredFilter(value) } } - impl ::core::convert::From for MockProtocolFeesEvents { + impl ::core::convert::From + for MockProtocolFeesEvents { fn from(value: ProtocolFeeControllerSetFilter) -> Self { Self::ProtocolFeeControllerSetFilter(value) } @@ -651,11 +817,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -664,11 +832,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -677,11 +847,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -695,11 +867,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "takeFees", @@ -713,18 +887,29 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockProtocolFeesCalls { FeeController(FeeControllerCall), Owner(OwnerCall), @@ -737,24 +922,29 @@ pub mod mock_protocol_fees { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TakeFees(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -763,13 +953,19 @@ pub mod mock_protocol_fees { impl ::ethers::core::abi::AbiEncode for MockProtocolFeesCalls { fn encode(self) -> Vec { match self { - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TakeFees(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TakeFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -778,7 +974,9 @@ pub mod mock_protocol_fees { match self { Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TakeFees(element) => ::core::fmt::Display::fmt(element, f), Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } @@ -814,11 +1012,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -826,11 +1026,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `takeFees` function with signature `takeFees(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32))` and selector `0x6f12f442` @@ -838,11 +1040,13 @@ pub mod mock_protocol_fees { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TakeFeesReturn(pub ResolvedOrder); } diff --git a/crates/bindings-uniswapx/src/mock_resolved_order_lib.rs b/crates/bindings-uniswapx/src/mock_resolved_order_lib.rs index 065e86d..060158e 100644 --- a/crates/bindings-uniswapx/src/mock_resolved_order_lib.rs +++ b/crates/bindings-uniswapx/src/mock_resolved_order_lib.rs @@ -7,7 +7,7 @@ pub use mock_resolved_order_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_resolved_order_lib { pub use super::super::shared_types::*; @@ -15,71 +15,78 @@ pub mod mock_resolved_order_lib { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("validate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("validate"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ],), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("validate"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("validate"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("resolvedOrder"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, }, ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], - ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ]), receive: false, @@ -87,18 +94,21 @@ pub mod mock_resolved_order_lib { } } ///The parsed JSON ABI of the contract. - pub static MOCKRESOLVEDORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKRESOLVEDORDERLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x07\xF5\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cX\xC9\xED\xBF\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x04\xDFV[a\0EV[\0[a\0O\x82\x82a\0SV[PPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\0\xA4W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\0\xE3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\0OW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x01_\x90\x84\x90\x86\x90`\x04\x01a\x06\x90V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x01wW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x01\x8BW=`\0\x80>=`\0\xFD[PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xE5Wa\x01\xE5a\x01\x93V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xE5Wa\x01\xE5a\x01\x93V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02UWa\x02Ua\x01\x93V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\x7FW`\0\x80\xFD[PV[\x805a\x02\x8D\x81a\x02]V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02\xA3W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02\xBDWa\x02\xBDa\x01\x93V[a\x02\xEE` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x02\x0EV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\x03W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x032W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x03VWa\x03Va\x01\x93V[\x81`@R\x82\x93P\x845\x91Pa\x03j\x82a\x02]V[\x90\x82R` \x84\x015\x90a\x03|\x82a\x02]V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03\xA6\x82a\x02]V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03\xC0W`\0\x80\xFD[Pa\x03\xCD\x85\x82\x86\x01a\x02\x92V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03\xECW`\0\x80\xFD[a\x03\xF4a\x01\xC2V[\x90P\x815a\x04\x01\x81a\x02]V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x040W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04LWa\x04La\x01\x93V[a\x04Z\x81\x83`\x05\x1B\x01a\x02\x0EV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x04yW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04\xD2W\x81\x81\x8A\x03\x12\x15a\x04\x95W`\0\x80\x81\xFD[a\x04\x9Da\x01\xC2V[\x815a\x04\xA8\x81a\x02]V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04\xC1\x81a\x02]V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x04}V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF2W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\nW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x05\x1EW`\0\x80\xFD[a\x05&a\x01\xEBV[\x825\x82\x81\x11\x15a\x055W`\0\x80\xFD[a\x05A\x88\x82\x86\x01a\x03 V[\x82RPa\x05Q\x87` \x85\x01a\x03\xDAV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x05hW`\0\x80\xFD[a\x05t\x88\x82\x86\x01a\x04\x1FV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x8CW`\0\x80\xFD[a\x05\x98\x88\x82\x86\x01a\x02\x92V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x91Pa\x05\xB9` \x84\x01a\x02\x82V[\x90P\x92P\x92\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05\xE8W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05\xCCV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x85W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x06:V[P\x94\x95\x94PPPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16\x83R`@` \x84\x01R\x83Q`\xE0`@\x85\x01R\x81\x81Q\x16a\x01 \x85\x01R\x81` \x82\x01Q\x16a\x01@\x85\x01R`@\x81\x01Qa\x01`\x85\x01R``\x81\x01Qa\x01\x80\x85\x01R\x81`\x80\x82\x01Q\x16a\x01\xA0\x85\x01R`\xA0\x81\x01Q\x91PP`\xC0a\x01\xC0\x84\x01Ra\x07\x14a\x01\xE0\x84\x01\x82a\x05\xC2V[` \x85\x81\x01Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x87\x01R\x90\x81\x01Q`\x80\x86\x01R`@\x81\x01Q`\xA0\x86\x01R\x90\x91PP`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x80\x85\x84\x03\x01`\xC0\x86\x01Ra\x07\x88\x83\x83a\x06&V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xE0\x86\x01RPa\x07\xA6\x82\x82a\x05\xC2V[\x91PP`\x80\x84\x01Qa\x01\0\x84\x01R\x80\x91PP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xAE\x13p\xA4y\xD6q}\xD1\xC8*\x1F)\xB1\xBB^\xA1'\xE4\xBC\xA0\xEE\x96 \xBA\xBBoZ\xAB\xC8\xC4\x9DdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x07\xB7\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cX\xC9\xED\xBF\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x04\xA0V[a\0EV[\0[a\0O\x82\x82a\0SV[PPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\0\xA4W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\0OW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x01 \x90\x84\x90\x86\x90`\x04\x01a\x06RV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x018W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x01LW=`\0\x80>=`\0\xFD[PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xA6Wa\x01\xA6a\x01TV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xA6Wa\x01\xA6a\x01TV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x16Wa\x02\x16a\x01TV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02@W`\0\x80\xFD[PV[\x805a\x02N\x81a\x02\x1EV[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02dW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02~Wa\x02~a\x01TV[a\x02\xAF` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xCFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\xC4W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xF3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x03\x17Wa\x03\x17a\x01TV[\x81`@R\x82\x93P\x845\x91Pa\x03+\x82a\x02\x1EV[\x90\x82R` \x84\x015\x90a\x03=\x82a\x02\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03g\x82a\x02\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03\x81W`\0\x80\xFD[Pa\x03\x8E\x85\x82\x86\x01a\x02SV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03\xADW`\0\x80\xFD[a\x03\xB5a\x01\x83V[\x90P\x815a\x03\xC2\x81a\x02\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xF1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04\rWa\x04\ra\x01TV[a\x04\x1B\x81\x83`\x05\x1B\x01a\x01\xCFV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x04:W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04\x93W\x81\x81\x8A\x03\x12\x15a\x04VW`\0\x80\x81\xFD[a\x04^a\x01\x83V[\x815a\x04i\x81a\x02\x1EV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04\x82\x81a\x02\x1EV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x04>V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xB3W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xCBW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xDFW`\0\x80\xFD[a\x04\xE7a\x01\xACV[\x825\x82\x81\x11\x15a\x04\xF6W`\0\x80\xFD[a\x05\x02\x88\x82\x86\x01a\x02\xE1V[\x82RPa\x05\x12\x87` \x85\x01a\x03\x9BV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x05)W`\0\x80\xFD[a\x055\x88\x82\x86\x01a\x03\xE0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05MW`\0\x80\xFD[a\x05Y\x88\x82\x86\x01a\x02SV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x91Pa\x05z` \x84\x01a\x02CV[\x90P\x92P\x92\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05\xA9W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05\x8DV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x06GW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xFCV[P\x94\x95\x94PPPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16\x83R`@` \x84\x01R\x83Q`\xE0`@\x85\x01R\x81\x81Q\x16a\x01 \x85\x01R\x81` \x82\x01Q\x16a\x01@\x85\x01R`@\x81\x01Qa\x01`\x85\x01R``\x81\x01Qa\x01\x80\x85\x01R\x81`\x80\x82\x01Q\x16a\x01\xA0\x85\x01R`\xA0\x81\x01Q\x91PP`\xC0a\x01\xC0\x84\x01Ra\x06\xD6a\x01\xE0\x84\x01\x82a\x05\x83V[` \x85\x81\x01Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x87\x01R\x90\x81\x01Q`\x80\x86\x01R`@\x81\x01Q`\xA0\x86\x01R\x90\x91PP`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x80\x85\x84\x03\x01`\xC0\x86\x01Ra\x07J\x83\x83a\x05\xE7V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xE0\x86\x01RPa\x07h\x82\x82a\x05\x83V[\x91PP`\x80\x84\x01Qa\x01\0\x84\x01R\x80\x91PP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 6\xBB\x01\xE8D`4\x9E\xB6\xC2Y\xA4;f\xB6)'\xEEZZ\\\x85\x017\xDEM\xD9\xDDf\xCABRdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKRESOLVEDORDERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKRESOLVEDORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cX\xC9\xED\xBF\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x04\xDFV[a\0EV[\0[a\0O\x82\x82a\0SV[PPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\0\xA4W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q``\x01QB\x11\x15a\0\xE3W`@Q\x7Fp\xF6\\\xAA\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\0OW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x01_\x90\x84\x90\x86\x90`\x04\x01a\x06\x90V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x01wW`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x01\x8BW=`\0\x80>=`\0\xFD[PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xE5Wa\x01\xE5a\x01\x93V[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xE5Wa\x01\xE5a\x01\x93V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02UWa\x02Ua\x01\x93V[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\x7FW`\0\x80\xFD[PV[\x805a\x02\x8D\x81a\x02]V[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02\xA3W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02\xBDWa\x02\xBDa\x01\x93V[a\x02\xEE` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x02\x0EV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x03\x03W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x032W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x03VWa\x03Va\x01\x93V[\x81`@R\x82\x93P\x845\x91Pa\x03j\x82a\x02]V[\x90\x82R` \x84\x015\x90a\x03|\x82a\x02]V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03\xA6\x82a\x02]V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03\xC0W`\0\x80\xFD[Pa\x03\xCD\x85\x82\x86\x01a\x02\x92V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03\xECW`\0\x80\xFD[a\x03\xF4a\x01\xC2V[\x90P\x815a\x04\x01\x81a\x02]V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x040W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04LWa\x04La\x01\x93V[a\x04Z\x81\x83`\x05\x1B\x01a\x02\x0EV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x04yW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04\xD2W\x81\x81\x8A\x03\x12\x15a\x04\x95W`\0\x80\x81\xFD[a\x04\x9Da\x01\xC2V[\x815a\x04\xA8\x81a\x02]V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04\xC1\x81a\x02]V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x04}V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF2W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\nW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x05\x1EW`\0\x80\xFD[a\x05&a\x01\xEBV[\x825\x82\x81\x11\x15a\x055W`\0\x80\xFD[a\x05A\x88\x82\x86\x01a\x03 V[\x82RPa\x05Q\x87` \x85\x01a\x03\xDAV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x05hW`\0\x80\xFD[a\x05t\x88\x82\x86\x01a\x04\x1FV[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x8CW`\0\x80\xFD[a\x05\x98\x88\x82\x86\x01a\x02\x92V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x91Pa\x05\xB9` \x84\x01a\x02\x82V[\x90P\x92P\x92\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05\xE8W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05\xCCV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x85W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x06:V[P\x94\x95\x94PPPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16\x83R`@` \x84\x01R\x83Q`\xE0`@\x85\x01R\x81\x81Q\x16a\x01 \x85\x01R\x81` \x82\x01Q\x16a\x01@\x85\x01R`@\x81\x01Qa\x01`\x85\x01R``\x81\x01Qa\x01\x80\x85\x01R\x81`\x80\x82\x01Q\x16a\x01\xA0\x85\x01R`\xA0\x81\x01Q\x91PP`\xC0a\x01\xC0\x84\x01Ra\x07\x14a\x01\xE0\x84\x01\x82a\x05\xC2V[` \x85\x81\x01Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x87\x01R\x90\x81\x01Q`\x80\x86\x01R`@\x81\x01Q`\xA0\x86\x01R\x90\x91PP`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x80\x85\x84\x03\x01`\xC0\x86\x01Ra\x07\x88\x83\x83a\x06&V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xE0\x86\x01RPa\x07\xA6\x82\x82a\x05\xC2V[\x91PP`\x80\x84\x01Qa\x01\0\x84\x01R\x80\x91PP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xAE\x13p\xA4y\xD6q}\xD1\xC8*\x1F)\xB1\xBB^\xA1'\xE4\xBC\xA0\xEE\x96 \xBA\xBBoZ\xAB\xC8\xC4\x9DdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80cX\xC9\xED\xBF\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x04\xA0V[a\0EV[\0[a\0O\x82\x82a\0SV[PPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\0\xA4W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\0OW\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x01 \x90\x84\x90\x86\x90`\x04\x01a\x06RV[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x018W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x01LW=`\0\x80>=`\0\xFD[PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xA6Wa\x01\xA6a\x01TV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\xA6Wa\x01\xA6a\x01TV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x16Wa\x02\x16a\x01TV[`@R\x91\x90PV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02@W`\0\x80\xFD[PV[\x805a\x02N\x81a\x02\x1EV[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02dW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02~Wa\x02~a\x01TV[a\x02\xAF` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xCFV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\xC4W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xF3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x03\x17Wa\x03\x17a\x01TV[\x81`@R\x82\x93P\x845\x91Pa\x03+\x82a\x02\x1EV[\x90\x82R` \x84\x015\x90a\x03=\x82a\x02\x1EV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03g\x82a\x02\x1EV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03\x81W`\0\x80\xFD[Pa\x03\x8E\x85\x82\x86\x01a\x02SV[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03\xADW`\0\x80\xFD[a\x03\xB5a\x01\x83V[\x90P\x815a\x03\xC2\x81a\x02\x1EV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xF1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04\rWa\x04\ra\x01TV[a\x04\x1B\x81\x83`\x05\x1B\x01a\x01\xCFV[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x04:W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04\x93W\x81\x81\x8A\x03\x12\x15a\x04VW`\0\x80\x81\xFD[a\x04^a\x01\x83V[\x815a\x04i\x81a\x02\x1EV[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04\x82\x81a\x02\x1EV[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x04>V[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xB3W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xCBW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xDFW`\0\x80\xFD[a\x04\xE7a\x01\xACV[\x825\x82\x81\x11\x15a\x04\xF6W`\0\x80\xFD[a\x05\x02\x88\x82\x86\x01a\x02\xE1V[\x82RPa\x05\x12\x87` \x85\x01a\x03\x9BV[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x05)W`\0\x80\xFD[a\x055\x88\x82\x86\x01a\x03\xE0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05MW`\0\x80\xFD[a\x05Y\x88\x82\x86\x01a\x02SV[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x91Pa\x05z` \x84\x01a\x02CV[\x90P\x92P\x92\x90PV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x05\xA9W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x05\x8DV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x06GW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xFCV[P\x94\x95\x94PPPPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16\x83R`@` \x84\x01R\x83Q`\xE0`@\x85\x01R\x81\x81Q\x16a\x01 \x85\x01R\x81` \x82\x01Q\x16a\x01@\x85\x01R`@\x81\x01Qa\x01`\x85\x01R``\x81\x01Qa\x01\x80\x85\x01R\x81`\x80\x82\x01Q\x16a\x01\xA0\x85\x01R`\xA0\x81\x01Q\x91PP`\xC0a\x01\xC0\x84\x01Ra\x06\xD6a\x01\xE0\x84\x01\x82a\x05\x83V[` \x85\x81\x01Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x87\x01R\x90\x81\x01Q`\x80\x86\x01R`@\x81\x01Q`\xA0\x86\x01R\x90\x91PP`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x80\x85\x84\x03\x01`\xC0\x86\x01Ra\x07J\x83\x83a\x05\xE7V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xE0\x86\x01RPa\x07h\x82\x82a\x05\x83V[\x91PP`\x80\x84\x01Qa\x01\0\x84\x01R\x80\x91PP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 6\xBB\x01\xE8D`4\x9E\xB6\xC2Y\xA4;f\xB6)'\xEEZZ\\\x85\x017\xDEM\xD9\xDDf\xCABRdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKRESOLVEDORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKRESOLVEDORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockResolvedOrderLib(::ethers::contract::Contract); impl ::core::clone::Clone for MockResolvedOrderLib { fn clone(&self) -> Self { @@ -130,11 +140,13 @@ pub mod mock_resolved_order_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKRESOLVEDORDERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKRESOLVEDORDERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -187,123 +199,38 @@ pub mod mock_resolved_order_lib { } } impl From<::ethers::contract::Contract> - for MockResolvedOrderLib - { + for MockResolvedOrderLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `InvalidReactor` with signature `InvalidReactor()` and selector `0x4ddf4a64` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; - ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum MockResolvedOrderLibErrors { - DeadlinePassed(DeadlinePassed), - InvalidReactor(InvalidReactor), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for MockResolvedOrderLibErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InvalidReactor(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for MockResolvedOrderLibErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for MockResolvedOrderLibErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } - _ if selector == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for MockResolvedOrderLibErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for MockResolvedOrderLibErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for MockResolvedOrderLibErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } - impl ::core::convert::From for MockResolvedOrderLibErrors { - fn from(value: InvalidReactor) -> Self { - Self::InvalidReactor(value) - } - } ///Container type for all input parameters for the `validate` function with signature `validate(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32),address)` and selector `0x58c9edbf` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "validate", diff --git a/crates/bindings-uniswapx/src/mock_swap_router.rs b/crates/bindings-uniswapx/src/mock_swap_router.rs index f83a3cc..89266c8 100644 --- a/crates/bindings-uniswapx/src/mock_swap_router.rs +++ b/crates/bindings-uniswapx/src/mock_swap_router.rs @@ -7,7 +7,7 @@ pub use mock_swap_router::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_swap_router { pub use super::super::shared_types::*; @@ -15,146 +15,186 @@ pub mod mock_swap_router { fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("wethAddress"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "address" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("wethAddress"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("SWAP_RATE_GRANULARITY"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("SWAP_RATE_GRANULARITY",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "SWAP_RATE_GRANULARITY", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("WETH9"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("WETH9"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("WETH9"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("exactInput"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("exactInput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("params"), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct IUniV3SwapRouter.ExactInputParams", - ), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amountOut"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("exactInput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("params"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ExactInputParams"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amountOut"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("multicall"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("multicall"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("data"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("multicall"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("results"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Bytes, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes[]"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("results"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Bytes, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setSwapRate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setSwapRate"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newRate"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setSwapRate"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newRate"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("swapRate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("swapRate"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("swapRate"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), @@ -164,18 +204,21 @@ pub mod mock_swap_router { } } ///The parsed JSON ABI of the contract. - pub static MOCKSWAPROUTER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKSWAPROUTER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@Ra'\x10`\0U4\x80\x15a\0\x16W`\0\x80\xFD[P`@Qa\x10\x038\x03\x80a\x10\x03\x839\x81\x01`@\x81\x90Ra\x005\x91a\0FV[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0vV[`\0` \x82\x84\x03\x12\x15a\0XW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0oW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0Fsa\0\x90`\09`\0`|\x01Ra\x0Fs`\0\xF3\xFE`\x80`@R`\x046\x10a\0eW`\x005`\xE0\x1C\x80cwr\xE9\x04\x11a\0CW\x80cwr\xE9\x04\x14a\x01\x0CW\x80c\xB8X\x18?\x14a\x01\"W\x80c\xF4\xCD\xE4i\x14a\x01BW`\0\x80\xFD[\x80cJ\xA4\xA4\xFC\x14a\0jW\x80cZ\xE4\x01\xDC\x14a\0\xC8W\x80ci\x85\x18\xE5\x14a\0\xE8W[`\0\x80\xFD[4\x80\x15a\0vW`\0\x80\xFD[Pa\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\n\xA8V[a\x01dV[`@Qa\0\xBF\x91\x90a\x0B\x95V[4\x80\x15a\0\xF4W`\0\x80\xFD[Pa\0\xFE`\0T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[4\x80\x15a\x01\x18W`\0\x80\xFD[Pa\0\xFEa'\x10\x81V[4\x80\x15a\x01.W`\0\x80\xFD[Pa\0\xFEa\x01=6`\x04a\x0C\x15V[a\x02\xE0V[4\x80\x15a\x01NW`\0\x80\xFD[Pa\x01ba\x01]6`\x04a\x0CWV[`\0UV[\0[``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x7FWa\x01\x7Fa\x0CpV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xB2W\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x01\x9DW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x02\xD8W`\0\x800\x86\x86\x85\x81\x81\x10a\x01\xD6Wa\x01\xD6a\x0C\x9FV[\x90P` \x02\x81\x01\x90a\x01\xE8\x91\x90a\x0C\xCEV[`@Qa\x01\xF6\x92\x91\x90a\r:V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x021W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x026V[``\x91P[P\x91P\x91P\x81a\x02\xA5W`D\x81Q\x10\x15a\x02OW`\0\x80\xFD[`\x04\x81\x01\x90P\x80\x80` \x01\x90Q\x81\x01\x90a\x02i\x91\x90a\rJV[`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x02\x9C\x91\x90a\x0E\x15V[`@Q\x80\x91\x03\x90\xFD[\x80\x84\x84\x81Q\x81\x10a\x02\xB8Wa\x02\xB8a\x0C\x9FV[` \x02` \x01\x01\x81\x90RPPP\x80\x80a\x02\xD0\x90a\x0EWV[\x91PPa\x01\xB8V[P\x93\x92PPPV[`\0\x80a\x02\xED\x83\x80a\x0C\xCEV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x94Pa\x03/\x92P\x84\x91Pa\x04O\x90PV[PP\x90P[a\x03=\x82a\x04\x8BV[\x15a\x03RWa\x03K\x82a\x04\xC5V[\x91Pa\x034V[`\0a\x03]\x83a\x04OV[P\x91PPa'\x10`\0T\x86`@\x015a\x03v\x91\x90a\x0E\x8FV[a\x03\x80\x91\x90a\x0E\xA6V[\x93P\x84``\x015\x84\x10\x15a\x03\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FToo little received\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x04\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x1630`@\x89\x015a\x04\xFCV[a\x04Ga\x04)`@\x87\x01` \x88\x01a\x0E\xE1V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x86a\x05\xEEV[PPP\x91\x90PV[`\0\x80\x80a\x04]\x84\x82a\x06\xC3V[\x92Pa\x04j\x84`\x14a\x07\xC7V[\x90Pa\x04\x82a\x04{`\x03`\x14a\x0F\x17V[\x85\x90a\x06\xC3V[\x91P\x91\x93\x90\x92PV[`\0a\x04\x99`\x03`\x14a\x0F\x17V[`\x14a\x04\xA6`\x03\x82a\x0F\x17V[a\x04\xB0\x91\x90a\x0F\x17V[a\x04\xBA\x91\x90a\x0F\x17V[\x82Q\x10\x15\x90P\x91\x90PV[``a\x04\xF6a\x04\xD6`\x03`\x14a\x0F\x17V[a\x04\xE2`\x03`\x14a\x0F\x17V[\x84Qa\x04\xEE\x91\x90a\x0F*V[\x84\x91\x90a\x08\xBBV[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x05\xE7W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[PPPPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x06\xBDW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[PPPPV[`\0\x81a\x06\xD1\x81`\x14a\x0F\x17V[\x10\x15a\x079W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x12`$\x82\x01R\x7FtoAddress_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x07D\x82`\x14a\x0F\x17V[\x83Q\x10\x15a\x07\xAEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FtoAddress_outOfBounds\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[P\x01` \x01Ql\x01\0\0\0\0\0\0\0\0\0\0\0\0\x90\x04\x90V[`\0\x81a\x07\xD5\x81`\x03a\x0F\x17V[\x10\x15a\x08=W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x11`$\x82\x01R\x7FtoUint24_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x08H\x82`\x03a\x0F\x17V[\x83Q\x10\x15a\x08\xB2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FtoUint24_outOfBounds\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[P\x01`\x03\x01Q\x90V[``\x81a\x08\xC9\x81`\x1Fa\x0F\x17V[\x10\x15a\t1W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7Fslice_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[\x82a\t<\x83\x82a\x0F\x17V[\x10\x15a\t\xA4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7Fslice_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\t\xAE\x82\x84a\x0F\x17V[\x84Q\x10\x15a\n\x18W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x11`$\x82\x01R\x7Fslice_outOfBounds\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[``\x82\x15\x80\x15a\n7W`@Q\x91P`\0\x82R` \x82\x01`@Ra\n\x9FV[`@Q\x91P`\x1F\x84\x16\x80\x15` \x02\x81\x84\x01\x01\x85\x81\x01\x87\x83\x15` \x02\x84\x8B\x01\x01\x01[\x81\x83\x10\x15a\npW\x80Q\x83R` \x92\x83\x01\x92\x01a\nXV[PP\x85\x84R`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16`@RP[P\x94\x93PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x835\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\n\xDCW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\n\xF0W`\0\x80\xFD[\x815\x81\x81\x11\x15a\n\xFFW`\0\x80\xFD[\x87` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0B\x14W`\0\x80\xFD[` \x83\x01\x94P\x80\x93PPPP\x92P\x92P\x92V[`\0[\x83\x81\x10\x15a\x0BBW\x81\x81\x01Q\x83\x82\x01R` \x01a\x0B*V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x0Bc\x81` \x86\x01` \x86\x01a\x0B'V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a\x0C\x08W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0B\xF6\x85\x83Qa\x0BKV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0B\xBCV[P\x92\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x0C'W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C>W`\0\x80\xFD[\x82\x01`\x80\x81\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x0CiW`\0\x80\xFD[P5\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\r\x03W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\r\x1EW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\r3W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r\\W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\rtW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\r\x88W`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\r\x9AWa\r\x9Aa\x0CpV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\r\xE0Wa\r\xE0a\x0CpV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\r\xF9W`\0\x80\xFD[a\x0E\n\x83` \x83\x01` \x88\x01a\x0B'V[\x97\x96PPPPPPPV[` \x81R`\0a\x0CP` \x83\x01\x84a\x0BKV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0E\x88Wa\x0E\x88a\x0E(V[P`\x01\x01\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x04\xF6Wa\x04\xF6a\x0E(V[`\0\x82a\x0E\xDCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15a\x0E\xF3W`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0CPW`\0\x80\xFD[\x80\x82\x01\x80\x82\x11\x15a\x04\xF6Wa\x04\xF6a\x0E(V[\x81\x81\x03\x81\x81\x11\x15a\x04\xF6Wa\x04\xF6a\x0E(V\xFE\xA2dipfsX\"\x12 \xC55 \x9F\x8C\xF3M!X\x0F\x0B\xCB\xD1\xF3\xCAo\xDAXV\xE6\xED!X@\xFA\x0B\xF6\xE1J\x9AoEdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xA0`@Ra'\x10`\0U4\x80\x15a\0\x16W`\0\x80\xFD[P`@Qa\x0F\xC28\x03\x80a\x0F\xC2\x839\x81\x01`@\x81\x90Ra\x005\x91a\0FV[`\x01`\x01`\xA0\x1B\x03\x16`\x80Ra\0vV[`\0` \x82\x84\x03\x12\x15a\0XW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0oW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x0F2a\0\x90`\09`\0`|\x01Ra\x0F2`\0\xF3\xFE`\x80`@R`\x046\x10a\0eW`\x005`\xE0\x1C\x80cwr\xE9\x04\x11a\0CW\x80cwr\xE9\x04\x14a\x01\x0CW\x80c\xB8X\x18?\x14a\x01\"W\x80c\xF4\xCD\xE4i\x14a\x01BW`\0\x80\xFD[\x80cJ\xA4\xA4\xFC\x14a\0jW\x80cZ\xE4\x01\xDC\x14a\0\xC8W\x80ci\x85\x18\xE5\x14a\0\xE8W[`\0\x80\xFD[4\x80\x15a\0vW`\0\x80\xFD[Pa\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\n\x9DV[a\x01dV[`@Qa\0\xBF\x91\x90a\x0B\x8AV[4\x80\x15a\0\xF4W`\0\x80\xFD[Pa\0\xFE`\0T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[4\x80\x15a\x01\x18W`\0\x80\xFD[Pa\0\xFEa'\x10\x81V[4\x80\x15a\x01.W`\0\x80\xFD[Pa\0\xFEa\x01=6`\x04a\x0C\x0CV[a\x02\xD5V[4\x80\x15a\x01NW`\0\x80\xFD[Pa\x01ba\x01]6`\x04a\x0CNV[`\0UV[\0[``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x7FWa\x01\x7Fa\x0CgV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xB2W\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x01\x9DW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x02\xCDW`\0\x800\x86\x86\x85\x81\x81\x10a\x01\xD6Wa\x01\xD6a\x0C\x96V[\x90P` \x02\x81\x01\x90a\x01\xE8\x91\x90a\x0C\xC5V[`@Qa\x01\xF6\x92\x91\x90a\r1V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x021W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x026V[``\x91P[P\x91P\x91P\x81a\x02\xA5W`D\x81Q\x10\x15a\x02OW`\0\x80\xFD[`\x04\x81\x01\x90P\x80\x80` \x01\x90Q\x81\x01\x90a\x02i\x91\x90a\rAV[`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x02\x9C\x91\x90a\x0E\x0CV[`@Q\x80\x91\x03\x90\xFD[\x80\x84\x84\x81Q\x81\x10a\x02\xB8Wa\x02\xB8a\x0C\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x01\xB8V[P\x93\x92PPPV[`\0\x80a\x02\xE2\x83\x80a\x0C\xC5V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x94Pa\x03$\x92P\x84\x91Pa\x04D\x90PV[PP\x90P[a\x032\x82a\x04\x80V[\x15a\x03GWa\x03@\x82a\x04\xBAV[\x91Pa\x03)V[`\0a\x03R\x83a\x04DV[P\x91PPa'\x10`\0T\x86`@\x015a\x03k\x91\x90a\x0ENV[a\x03u\x91\x90a\x0EeV[\x93P\x84``\x015\x84\x10\x15a\x03\xE5W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FToo little received\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x04\x0Bs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x1630`@\x89\x015a\x04\xF1V[a\x04a\x026V[``\x91P[P\x91P\x91P\x81a\x02\xA5W`D\x81Q\x10\x15a\x02OW`\0\x80\xFD[`\x04\x81\x01\x90P\x80\x80` \x01\x90Q\x81\x01\x90a\x02i\x91\x90a\rJV[`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x02\x9C\x91\x90a\x0E\x15V[`@Q\x80\x91\x03\x90\xFD[\x80\x84\x84\x81Q\x81\x10a\x02\xB8Wa\x02\xB8a\x0C\x9FV[` \x02` \x01\x01\x81\x90RPPP\x80\x80a\x02\xD0\x90a\x0EWV[\x91PPa\x01\xB8V[P\x93\x92PPPV[`\0\x80a\x02\xED\x83\x80a\x0C\xCEV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x94Pa\x03/\x92P\x84\x91Pa\x04O\x90PV[PP\x90P[a\x03=\x82a\x04\x8BV[\x15a\x03RWa\x03K\x82a\x04\xC5V[\x91Pa\x034V[`\0a\x03]\x83a\x04OV[P\x91PPa'\x10`\0T\x86`@\x015a\x03v\x91\x90a\x0E\x8FV[a\x03\x80\x91\x90a\x0E\xA6V[\x93P\x84``\x015\x84\x10\x15a\x03\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FToo little received\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x04\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x1630`@\x89\x015a\x04\xFCV[a\x04Ga\x04)`@\x87\x01` \x88\x01a\x0E\xE1V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x86a\x05\xEEV[PPP\x91\x90PV[`\0\x80\x80a\x04]\x84\x82a\x06\xC3V[\x92Pa\x04j\x84`\x14a\x07\xC7V[\x90Pa\x04\x82a\x04{`\x03`\x14a\x0F\x17V[\x85\x90a\x06\xC3V[\x91P\x91\x93\x90\x92PV[`\0a\x04\x99`\x03`\x14a\x0F\x17V[`\x14a\x04\xA6`\x03\x82a\x0F\x17V[a\x04\xB0\x91\x90a\x0F\x17V[a\x04\xBA\x91\x90a\x0F\x17V[\x82Q\x10\x15\x90P\x91\x90PV[``a\x04\xF6a\x04\xD6`\x03`\x14a\x0F\x17V[a\x04\xE2`\x03`\x14a\x0F\x17V[\x84Qa\x04\xEE\x91\x90a\x0F*V[\x84\x91\x90a\x08\xBBV[\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x05\xE7W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[PPPPPV[`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x06\xBDW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[PPPPV[`\0\x81a\x06\xD1\x81`\x14a\x0F\x17V[\x10\x15a\x079W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x12`$\x82\x01R\x7FtoAddress_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x07D\x82`\x14a\x0F\x17V[\x83Q\x10\x15a\x07\xAEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FtoAddress_outOfBounds\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[P\x01` \x01Ql\x01\0\0\0\0\0\0\0\0\0\0\0\0\x90\x04\x90V[`\0\x81a\x07\xD5\x81`\x03a\x0F\x17V[\x10\x15a\x08=W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x11`$\x82\x01R\x7FtoUint24_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x08H\x82`\x03a\x0F\x17V[\x83Q\x10\x15a\x08\xB2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FtoUint24_outOfBounds\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[P\x01`\x03\x01Q\x90V[``\x81a\x08\xC9\x81`\x1Fa\x0F\x17V[\x10\x15a\t1W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7Fslice_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[\x82a\t<\x83\x82a\x0F\x17V[\x10\x15a\t\xA4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7Fslice_overflow\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\t\xAE\x82\x84a\x0F\x17V[\x84Q\x10\x15a\n\x18W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x11`$\x82\x01R\x7Fslice_outOfBounds\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[``\x82\x15\x80\x15a\n7W`@Q\x91P`\0\x82R` \x82\x01`@Ra\n\x9FV[`@Q\x91P`\x1F\x84\x16\x80\x15` \x02\x81\x84\x01\x01\x85\x81\x01\x87\x83\x15` \x02\x84\x8B\x01\x01\x01[\x81\x83\x10\x15a\npW\x80Q\x83R` \x92\x83\x01\x92\x01a\nXV[PP\x85\x84R`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16`@RP[P\x94\x93PPPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x835\x92P` \x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\n\xDCW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\n\xF0W`\0\x80\xFD[\x815\x81\x81\x11\x15a\n\xFFW`\0\x80\xFD[\x87` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0B\x14W`\0\x80\xFD[` \x83\x01\x94P\x80\x93PPPP\x92P\x92P\x92V[`\0[\x83\x81\x10\x15a\x0BBW\x81\x81\x01Q\x83\x82\x01R` \x01a\x0B*V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x0Bc\x81` \x86\x01` \x86\x01a\x0B'V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a\x0C\x08W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0B\xF6\x85\x83Qa\x0BKV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0B\xBCV[P\x92\x97\x96PPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x0C'W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C>W`\0\x80\xFD[\x82\x01`\x80\x81\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x0CiW`\0\x80\xFD[P5\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\r\x03W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\r\x1EW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\r3W`\0\x80\xFD[\x92P\x92\x90PV[\x81\x83\x827`\0\x91\x01\x90\x81R\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r\\W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\rtW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\r\x88W`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\r\x9AWa\r\x9Aa\x0CpV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\r\xE0Wa\r\xE0a\x0CpV[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\r\xF9W`\0\x80\xFD[a\x0E\n\x83` \x83\x01` \x88\x01a\x0B'V[\x97\x96PPPPPPPV[` \x81R`\0a\x0CP` \x83\x01\x84a\x0BKV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0E\x88Wa\x0E\x88a\x0E(V[P`\x01\x01\x90V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x04\xF6Wa\x04\xF6a\x0E(V[`\0\x82a\x0E\xDCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15a\x0E\xF3W`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0CPW`\0\x80\xFD[\x80\x82\x01\x80\x82\x11\x15a\x04\xF6Wa\x04\xF6a\x0E(V[\x81\x81\x03\x81\x81\x11\x15a\x04\xF6Wa\x04\xF6a\x0E(V\xFE\xA2dipfsX\"\x12 \xC55 \x9F\x8C\xF3M!X\x0F\x0B\xCB\xD1\xF3\xCAo\xDAXV\xE6\xED!X@\xFA\x0B\xF6\xE1J\x9AoEdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0eW`\x005`\xE0\x1C\x80cwr\xE9\x04\x11a\0CW\x80cwr\xE9\x04\x14a\x01\x0CW\x80c\xB8X\x18?\x14a\x01\"W\x80c\xF4\xCD\xE4i\x14a\x01BW`\0\x80\xFD[\x80cJ\xA4\xA4\xFC\x14a\0jW\x80cZ\xE4\x01\xDC\x14a\0\xC8W\x80ci\x85\x18\xE5\x14a\0\xE8W[`\0\x80\xFD[4\x80\x15a\0vW`\0\x80\xFD[Pa\0\x9E\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xDBa\0\xD66`\x04a\n\x9DV[a\x01dV[`@Qa\0\xBF\x91\x90a\x0B\x8AV[4\x80\x15a\0\xF4W`\0\x80\xFD[Pa\0\xFE`\0T\x81V[`@Q\x90\x81R` \x01a\0\xBFV[4\x80\x15a\x01\x18W`\0\x80\xFD[Pa\0\xFEa'\x10\x81V[4\x80\x15a\x01.W`\0\x80\xFD[Pa\0\xFEa\x01=6`\x04a\x0C\x0CV[a\x02\xD5V[4\x80\x15a\x01NW`\0\x80\xFD[Pa\x01ba\x01]6`\x04a\x0CNV[`\0UV[\0[``\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01\x7FWa\x01\x7Fa\x0CgV[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x01\xB2W\x81` \x01[``\x81R` \x01\x90`\x01\x90\x03\x90\x81a\x01\x9DW\x90P[P\x90P`\0[\x82\x81\x10\x15a\x02\xCDW`\0\x800\x86\x86\x85\x81\x81\x10a\x01\xD6Wa\x01\xD6a\x0C\x96V[\x90P` \x02\x81\x01\x90a\x01\xE8\x91\x90a\x0C\xC5V[`@Qa\x01\xF6\x92\x91\x90a\r1V[`\0`@Q\x80\x83\x03\x81\x85Z\xF4\x91PP=\x80`\0\x81\x14a\x021W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x026V[``\x91P[P\x91P\x91P\x81a\x02\xA5W`D\x81Q\x10\x15a\x02OW`\0\x80\xFD[`\x04\x81\x01\x90P\x80\x80` \x01\x90Q\x81\x01\x90a\x02i\x91\x90a\rAV[`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01a\x02\x9C\x91\x90a\x0E\x0CV[`@Q\x80\x91\x03\x90\xFD[\x80\x84\x84\x81Q\x81\x10a\x02\xB8Wa\x02\xB8a\x0C\x96V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x01\xB8V[P\x93\x92PPPV[`\0\x80a\x02\xE2\x83\x80a\x0C\xC5V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x94Pa\x03$\x92P\x84\x91Pa\x04D\x90PV[PP\x90P[a\x032\x82a\x04\x80V[\x15a\x03GWa\x03@\x82a\x04\xBAV[\x91Pa\x03)V[`\0a\x03R\x83a\x04DV[P\x91PPa'\x10`\0T\x86`@\x015a\x03k\x91\x90a\x0ENV[a\x03u\x91\x90a\x0EeV[\x93P\x84``\x015\x84\x10\x15a\x03\xE5W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FToo little received\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x02\x9CV[a\x04\x0Bs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x1630`@\x89\x015a\x04\xF1V[a\x04(::ethers::contract::Contract); impl ::core::clone::Clone for MockSwapRouter { fn clone(&self) -> Self { @@ -207,11 +250,13 @@ pub mod mock_swap_router { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKSWAPROUTER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKSWAPROUTER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -263,7 +308,10 @@ pub mod mock_swap_router { ///Calls the contract's `WETH9` (0x4aa4a4fc) function pub fn weth9( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([74, 164, 164, 252], ()) .expect("method not found (this should never happen)") @@ -309,8 +357,7 @@ pub mod mock_swap_router { } } impl From<::ethers::contract::Contract> - for MockSwapRouter - { + for MockSwapRouter { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -320,11 +367,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "SWAP_RATE_GRANULARITY", abi = "SWAP_RATE_GRANULARITY()")] pub struct SwapRateGranularityCall; @@ -333,11 +382,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "WETH9", abi = "WETH9()")] pub struct Weth9Call; @@ -346,16 +397,15 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "exactInput", - abi = "exactInput((bytes,address,uint256,uint256))" + Hash )] + #[ethcall(name = "exactInput", abi = "exactInput((bytes,address,uint256,uint256))")] pub struct ExactInputCall { pub params: ExactInputParams, } @@ -364,11 +414,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "multicall", abi = "multicall(uint256,bytes[])")] pub struct MulticallCall { @@ -380,11 +432,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setSwapRate", abi = "setSwapRate(uint256)")] pub struct SetSwapRateCall { @@ -395,16 +449,27 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "swapRate", abi = "swapRate()")] pub struct SwapRateCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockSwapRouterCalls { SwapRateGranularity(SwapRateGranularityCall), Weth9(Weth9Call), @@ -418,24 +483,34 @@ pub mod mock_swap_router { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SwapRateGranularity(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Weth9(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExactInput(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Multicall(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetSwapRate(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SwapRate(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -448,17 +523,27 @@ pub mod mock_swap_router { ::ethers::core::abi::AbiEncode::encode(element) } Self::Weth9(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExactInput(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Multicall(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetSwapRate(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SwapRate(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExactInput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Multicall(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SetSwapRate(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SwapRate(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for MockSwapRouterCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::SwapRateGranularity(element) => ::core::fmt::Display::fmt(element, f), + Self::SwapRateGranularity(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::Weth9(element) => ::core::fmt::Display::fmt(element, f), Self::ExactInput(element) => ::core::fmt::Display::fmt(element, f), Self::Multicall(element) => ::core::fmt::Display::fmt(element, f), @@ -502,11 +587,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SwapRateGranularityReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `WETH9` function with signature `WETH9()` and selector `0x4aa4a4fc` @@ -514,11 +601,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct Weth9Return(pub ::ethers::core::types::Address); ///Container type for all return fields from the `exactInput` function with signature `exactInput((bytes,address,uint256,uint256))` and selector `0xb858183f` @@ -526,11 +615,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExactInputReturn { pub amount_out: ::ethers::core::types::U256, @@ -540,11 +631,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct MulticallReturn { pub results: ::std::vec::Vec<::ethers::core::types::Bytes>, @@ -554,11 +647,13 @@ pub mod mock_swap_router { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SwapRateReturn(pub ::ethers::core::types::U256); } diff --git a/crates/bindings-uniswapx/src/mock_swapper.rs b/crates/bindings-uniswapx/src/mock_swapper.rs index 7bb91c9..6e34abe 100644 --- a/crates/bindings-uniswapx/src/mock_swapper.rs +++ b/crates/bindings-uniswapx/src/mock_swapper.rs @@ -7,45 +7,51 @@ pub use mock_swapper::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_swapper { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, }, ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], - )]), + ), + ]), events: ::std::collections::BTreeMap::new(), errors: ::std::collections::BTreeMap::new(), receive: false, @@ -53,18 +59,21 @@ pub mod mock_swapper { } } ///The parsed JSON ABI of the contract. - pub static MOCKSWAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKSWAPPER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x01\xA8\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xF4\x9A]\x92\xFBj\xD3\xB2\xA9_\x9E\x1A\xB8\x90\xA0\xF7r.\xD4\x1E\x89\xAE\xB1|\xBB\x1A\xCFx\xD9\x19\xAA\xF1dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x01\xA8\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 G\x98\r`\x12\x97\xFF\xF2\xB6\x07\xD4\xE7\xB4P\xDC\xA8ZO1<\xEFxk\x9B\xF4S\x06\x1F\xF8\xD8\xD7\xF1dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKSWAPPER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKSWAPPER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xF4\x9A]\x92\xFBj\xD3\xB2\xA9_\x9E\x1A\xB8\x90\xA0\xF7r.\xD4\x1E\x89\xAE\xB1|\xBB\x1A\xCFx\xD9\x19\xAA\xF1dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\xE1\xF2\x1Cg\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\rV[a\0EV[\0[`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`$\x82\x01\x83\x90R\x84\x16\x90c\t^\xA7\xB3\x90`D\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\0\xBAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xDE\x91\x90a\x01IV[PPPPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\x08W`\0\x80\xFD[\x91\x90PV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\"W`\0\x80\xFD[a\x01+\x84a\0\xE4V[\x92Pa\x019` \x85\x01a\0\xE4V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x01[W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x01kW`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 G\x98\r`\x12\x97\xFF\xF2\xB6\x07\xD4\xE7\xB4P\xDC\xA8ZO1<\xEFxk\x9B\xF4S\x06\x1F\xF8\xD8\xD7\xF1dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKSWAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKSWAPPER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockSwapper(::ethers::contract::Contract); impl ::core::clone::Clone for MockSwapper { fn clone(&self) -> Self { @@ -96,11 +105,13 @@ pub mod mock_swapper { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKSWAPPER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKSWAPPER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -153,7 +164,8 @@ pub mod mock_swapper { .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for MockSwapper { + impl From<::ethers::contract::Contract> + for MockSwapper { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -163,11 +175,13 @@ pub mod mock_swapper { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,address,uint256)")] pub struct ApproveCall { diff --git a/crates/bindings-uniswapx/src/mock_validation_contract.rs b/crates/bindings-uniswapx/src/mock_validation_contract.rs index 332dd2b..143413f 100644 --- a/crates/bindings-uniswapx/src/mock_validation_contract.rs +++ b/crates/bindings-uniswapx/src/mock_validation_contract.rs @@ -7,7 +7,7 @@ pub use mock_validation_contract::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod mock_validation_contract { pub use super::super::shared_types::*; @@ -18,116 +18,139 @@ pub mod mock_validation_contract { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("setValid"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setValid"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_valid"), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setValid"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_valid"), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("valid"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("valid"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("valid"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("validate"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("validate"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Bytes, - ],), - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ],), - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("validate"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Tuple( ::std::vec![ ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize - ), ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), ], ), - ), + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + ), + ), + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), + ], ), - ::ethers::core::abi::ethabi::ParamType::Bytes, - ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize), - ],), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct ResolvedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ]), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("MockValidationError"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("MockValidationError",), - inputs: ::std::vec![], - },], - )]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("MockValidationError"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "MockValidationError", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static MOCKVALIDATIONCONTRACT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static MOCKVALIDATIONCONTRACT_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x05|\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cld\xED\xEE\x14a\0FW\x80cn\x84\xBA+\x14a\0\x87W\x80c\xC1\x99\x12\x19\x14a\0\x9AW[`\0\x80\xFD[a\0\x85a\0T6`\x04a\0\xFBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x91\x15\x15\x91\x90\x91\x17\x90UV[\0[a\0\x85a\0\x956`\x04a\x04`V[a\0\xBBV[`\0Ta\0\xA7\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0T`\xFF\x16a\0\xF7W`@Q\x7F\xB3\xCA.(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\0` \x82\x84\x03\x12\x15a\x01\rW`\0\x80\xFD[\x815\x80\x15\x15\x81\x14a\x01\x1DW`\0\x80\xFD[\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01FW`\0\x80\xFD[PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x0BWa\x02\x0Ba\x01IV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02$W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02>Wa\x02>a\x01IV[a\x02o` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xC4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\x84W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xB3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x02\xD7Wa\x02\xD7a\x01IV[\x81`@R\x82\x93P\x845\x91Pa\x02\xEB\x82a\x01$V[\x90\x82R` \x84\x015\x90a\x02\xFD\x82a\x01$V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03'\x82a\x01$V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03AW`\0\x80\xFD[Pa\x03N\x85\x82\x86\x01a\x02\x13V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03mW`\0\x80\xFD[a\x03ua\x01xV[\x90P\x815a\x03\x82\x81a\x01$V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xB1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xCDWa\x03\xCDa\x01IV[a\x03\xDB\x81\x83`\x05\x1B\x01a\x01\xC4V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x03\xFAW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04SW\x81\x81\x8A\x03\x12\x15a\x04\x16W`\0\x80\x81\xFD[a\x04\x1Ea\x01xV[\x815a\x04)\x81a\x01$V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04B\x81a\x01$V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x03\xFEV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04sW`\0\x80\xFD[\x825a\x04~\x81a\x01$V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x9BW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xAFW`\0\x80\xFD[a\x04\xB7a\x01\xA1V[\x825\x82\x81\x11\x15a\x04\xC6W`\0\x80\xFD[a\x04\xD2\x88\x82\x86\x01a\x02\xA1V[\x82RPa\x04\xE2\x87` \x85\x01a\x03[V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x04\xF9W`\0\x80\xFD[a\x05\x05\x88\x82\x86\x01a\x03\xA0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x1DW`\0\x80\xFD[a\x05)\x88\x82\x86\x01a\x02\x13V[``\x83\x01RP`\xC0\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \x9C\xBE5n\xC53L\x98\xDA&\x16\x08\xE5AP\xB7z\xC5z\x97\"\xBC\xAB\x1F\0\xDFB\x7F\0\xA3h\xC9dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x05|\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cld\xED\xEE\x14a\0FW\x80cn\x84\xBA+\x14a\0\x87W\x80c\xC1\x99\x12\x19\x14a\0\x9AW[`\0\x80\xFD[a\0\x85a\0T6`\x04a\0\xFBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x91\x15\x15\x91\x90\x91\x17\x90UV[\0[a\0\x85a\0\x956`\x04a\x04`V[a\0\xBBV[`\0Ta\0\xA7\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0T`\xFF\x16a\0\xF7W`@Q\x7F\xB3\xCA.(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\0` \x82\x84\x03\x12\x15a\x01\rW`\0\x80\xFD[\x815\x80\x15\x15\x81\x14a\x01\x1DW`\0\x80\xFD[\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01FW`\0\x80\xFD[PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x0BWa\x02\x0Ba\x01IV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02$W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02>Wa\x02>a\x01IV[a\x02o` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xC4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\x84W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xB3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x02\xD7Wa\x02\xD7a\x01IV[\x81`@R\x82\x93P\x845\x91Pa\x02\xEB\x82a\x01$V[\x90\x82R` \x84\x015\x90a\x02\xFD\x82a\x01$V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03'\x82a\x01$V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03AW`\0\x80\xFD[Pa\x03N\x85\x82\x86\x01a\x02\x13V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03mW`\0\x80\xFD[a\x03ua\x01xV[\x90P\x815a\x03\x82\x81a\x01$V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xB1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xCDWa\x03\xCDa\x01IV[a\x03\xDB\x81\x83`\x05\x1B\x01a\x01\xC4V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x03\xFAW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04SW\x81\x81\x8A\x03\x12\x15a\x04\x16W`\0\x80\x81\xFD[a\x04\x1Ea\x01xV[\x815a\x04)\x81a\x01$V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04B\x81a\x01$V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x03\xFEV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04sW`\0\x80\xFD[\x825a\x04~\x81a\x01$V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x9BW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xAFW`\0\x80\xFD[a\x04\xB7a\x01\xA1V[\x825\x82\x81\x11\x15a\x04\xC6W`\0\x80\xFD[a\x04\xD2\x88\x82\x86\x01a\x02\xA1V[\x82RPa\x04\xE2\x87` \x85\x01a\x03[V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x04\xF9W`\0\x80\xFD[a\x05\x05\x88\x82\x86\x01a\x03\xA0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x1DW`\0\x80\xFD[a\x05)\x88\x82\x86\x01a\x02\x13V[``\x83\x01RP`\xC0\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \xECC\xCC\xEB\xAC\xDB\xD9\\|\xCE\xC8P\x858\xD4%nW\xEB7\xA4\xE8\xD9,\xA2\xA5\xA4\x13EU\xC2'dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static MOCKVALIDATIONCONTRACT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static MOCKVALIDATIONCONTRACT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cld\xED\xEE\x14a\0FW\x80cn\x84\xBA+\x14a\0\x87W\x80c\xC1\x99\x12\x19\x14a\0\x9AW[`\0\x80\xFD[a\0\x85a\0T6`\x04a\0\xFBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x91\x15\x15\x91\x90\x91\x17\x90UV[\0[a\0\x85a\0\x956`\x04a\x04`V[a\0\xBBV[`\0Ta\0\xA7\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0T`\xFF\x16a\0\xF7W`@Q\x7F\xB3\xCA.(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\0` \x82\x84\x03\x12\x15a\x01\rW`\0\x80\xFD[\x815\x80\x15\x15\x81\x14a\x01\x1DW`\0\x80\xFD[\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01FW`\0\x80\xFD[PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x0BWa\x02\x0Ba\x01IV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02$W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02>Wa\x02>a\x01IV[a\x02o` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xC4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\x84W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xB3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x02\xD7Wa\x02\xD7a\x01IV[\x81`@R\x82\x93P\x845\x91Pa\x02\xEB\x82a\x01$V[\x90\x82R` \x84\x015\x90a\x02\xFD\x82a\x01$V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03'\x82a\x01$V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03AW`\0\x80\xFD[Pa\x03N\x85\x82\x86\x01a\x02\x13V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03mW`\0\x80\xFD[a\x03ua\x01xV[\x90P\x815a\x03\x82\x81a\x01$V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xB1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xCDWa\x03\xCDa\x01IV[a\x03\xDB\x81\x83`\x05\x1B\x01a\x01\xC4V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x03\xFAW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04SW\x81\x81\x8A\x03\x12\x15a\x04\x16W`\0\x80\x81\xFD[a\x04\x1Ea\x01xV[\x815a\x04)\x81a\x01$V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04B\x81a\x01$V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x03\xFEV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04sW`\0\x80\xFD[\x825a\x04~\x81a\x01$V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x9BW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xAFW`\0\x80\xFD[a\x04\xB7a\x01\xA1V[\x825\x82\x81\x11\x15a\x04\xC6W`\0\x80\xFD[a\x04\xD2\x88\x82\x86\x01a\x02\xA1V[\x82RPa\x04\xE2\x87` \x85\x01a\x03[V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x04\xF9W`\0\x80\xFD[a\x05\x05\x88\x82\x86\x01a\x03\xA0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x1DW`\0\x80\xFD[a\x05)\x88\x82\x86\x01a\x02\x13V[``\x83\x01RP`\xC0\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \x9C\xBE5n\xC53L\x98\xDA&\x16\x08\xE5AP\xB7z\xC5z\x97\"\xBC\xAB\x1F\0\xDFB\x7F\0\xA3h\xC9dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cld\xED\xEE\x14a\0FW\x80cn\x84\xBA+\x14a\0\x87W\x80c\xC1\x99\x12\x19\x14a\0\x9AW[`\0\x80\xFD[a\0\x85a\0T6`\x04a\0\xFBV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x91\x15\x15\x91\x90\x91\x17\x90UV[\0[a\0\x85a\0\x956`\x04a\x04`V[a\0\xBBV[`\0Ta\0\xA7\x90`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0T`\xFF\x16a\0\xF7W`@Q\x7F\xB3\xCA.(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPV[`\0` \x82\x84\x03\x12\x15a\x01\rW`\0\x80\xFD[\x815\x80\x15\x15\x81\x14a\x01\x1DW`\0\x80\xFD[\x93\x92PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01FW`\0\x80\xFD[PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x01\x9BWa\x01\x9Ba\x01IV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x02\x0BWa\x02\x0Ba\x01IV[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x02$W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x02>Wa\x02>a\x01IV[a\x02o` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a\x01\xC4V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x02\x84W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a\x02\xB3W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x02\xD7Wa\x02\xD7a\x01IV[\x81`@R\x82\x93P\x845\x91Pa\x02\xEB\x82a\x01$V[\x90\x82R` \x84\x015\x90a\x02\xFD\x82a\x01$V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x03'\x82a\x01$V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x03AW`\0\x80\xFD[Pa\x03N\x85\x82\x86\x01a\x02\x13V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x03mW`\0\x80\xFD[a\x03ua\x01xV[\x90P\x815a\x03\x82\x81a\x01$V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x03\xB1W`\0\x80\xFD[\x815` g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x03\xCDWa\x03\xCDa\x01IV[a\x03\xDB\x81\x83`\x05\x1B\x01a\x01\xC4V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x03\xFAW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x04SW\x81\x81\x8A\x03\x12\x15a\x04\x16W`\0\x80\x81\xFD[a\x04\x1Ea\x01xV[\x815a\x04)\x81a\x01$V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x04B\x81a\x01$V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x03\xFEV[P\x90\x97\x96PPPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04sW`\0\x80\xFD[\x825a\x04~\x81a\x01$V[\x91P` \x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\x9BW`\0\x80\xFD[\x90\x84\x01\x90`\xE0\x82\x87\x03\x12\x15a\x04\xAFW`\0\x80\xFD[a\x04\xB7a\x01\xA1V[\x825\x82\x81\x11\x15a\x04\xC6W`\0\x80\xFD[a\x04\xD2\x88\x82\x86\x01a\x02\xA1V[\x82RPa\x04\xE2\x87` \x85\x01a\x03[V[` \x82\x01R`\x80\x83\x015\x82\x81\x11\x15a\x04\xF9W`\0\x80\xFD[a\x05\x05\x88\x82\x86\x01a\x03\xA0V[`@\x83\x01RP`\xA0\x83\x015\x82\x81\x11\x15a\x05\x1DW`\0\x80\xFD[a\x05)\x88\x82\x86\x01a\x02\x13V[``\x83\x01RP`\xC0\x83\x015`\x80\x82\x01R\x80\x93PPPP\x92P\x92\x90PV\xFE\xA2dipfsX\"\x12 \xECC\xCC\xEB\xAC\xDB\xD9\\|\xCE\xC8P\x858\xD4%nW\xEB7\xA4\xE8\xD9,\xA2\xA5\xA4\x13EU\xC2'dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static MOCKVALIDATIONCONTRACT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static MOCKVALIDATIONCONTRACT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct MockValidationContract(::ethers::contract::Contract); impl ::core::clone::Clone for MockValidationContract { fn clone(&self) -> Self { @@ -159,11 +182,13 @@ pub mod mock_validation_contract { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - MOCKVALIDATIONCONTRACT_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKVALIDATIONCONTRACT_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -205,7 +230,10 @@ pub mod mock_validation_contract { Ok(deployer) } ///Calls the contract's `setValid` (0x6c64edee) function - pub fn set_valid(&self, valid: bool) -> ::ethers::contract::builders::ContractCall { + pub fn set_valid( + &self, + valid: bool, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([108, 100, 237, 238], valid) .expect("method not found (this should never happen)") @@ -228,8 +256,7 @@ pub mod mock_validation_contract { } } impl From<::ethers::contract::Contract> - for MockValidationContract - { + for MockValidationContract { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -239,11 +266,13 @@ pub mod mock_validation_contract { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "MockValidationError", abi = "MockValidationError()")] pub struct MockValidationError; @@ -252,11 +281,13 @@ pub mod mock_validation_contract { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "setValid", abi = "setValid(bool)")] pub struct SetValidCall { @@ -267,11 +298,13 @@ pub mod mock_validation_contract { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "valid", abi = "valid()")] pub struct ValidCall; @@ -280,11 +313,13 @@ pub mod mock_validation_contract { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "validate", @@ -292,7 +327,16 @@ pub mod mock_validation_contract { )] pub struct ValidateCall(pub ::ethers::core::types::Address, pub ResolvedOrder); ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum MockValidationContractCalls { SetValid(SetValidCall), Valid(ValidCall), @@ -303,13 +347,19 @@ pub mod mock_validation_contract { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetValid(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Valid(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Validate(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -318,9 +368,13 @@ pub mod mock_validation_contract { impl ::ethers::core::abi::AbiEncode for MockValidationContractCalls { fn encode(self) -> Vec { match self { - Self::SetValid(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetValid(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Valid(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Validate(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Validate(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -353,11 +407,13 @@ pub mod mock_validation_contract { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ValidReturn(pub bool); } diff --git a/crates/bindings-uniswapx/src/order_info_builder.rs b/crates/bindings-uniswapx/src/order_info_builder.rs index 9d5307c..3ee0d57 100644 --- a/crates/bindings-uniswapx/src/order_info_builder.rs +++ b/crates/bindings-uniswapx/src/order_info_builder.rs @@ -7,7 +7,7 @@ pub use order_info_builder::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod order_info_builder { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod order_info_builder { } } ///The parsed JSON ABI of the contract. - pub static ORDERINFOBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ORDERINFOBUILDER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x8F\xA2>\x8F\xAE\x11A\x1E\xE35\xB8\xBB\xDF\xAE\x9F\xC5w\xFF-\xBF\x06K\xB1\xE6\x9D\x14d\xC4q\xE8&6dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 7\xE1\x9C\x9Cp\xD7\x1A\xE5\xBE\x89\x11C\xBE\xC1\xFB\xEE\xB4\x82i\xC1\n\xBDJ!\xCB<`E\0\xD6w]dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static ORDERINFOBUILDER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ORDERINFOBUILDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x8F\xA2>\x8F\xAE\x11A\x1E\xE35\xB8\xBB\xDF\xAE\x9F\xC5w\xFF-\xBF\x06K\xB1\xE6\x9D\x14d\xC4q\xE8&6dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 7\xE1\x9C\x9Cp\xD7\x1A\xE5\xBE\x89\x11C\xBE\xC1\xFB\xEE\xB4\x82i\xC1\n\xBDJ!\xCB<`E\0\xD6w]dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static ORDERINFOBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ORDERINFOBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct OrderInfoBuilder(::ethers::contract::Contract); impl ::core::clone::Clone for OrderInfoBuilder { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod order_info_builder { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ORDERINFOBUILDER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ORDERINFOBUILDER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod order_info_builder { } } impl From<::ethers::contract::Contract> - for OrderInfoBuilder - { + for OrderInfoBuilder { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/order_info_lib.rs b/crates/bindings-uniswapx/src/order_info_lib.rs index 3c0b5e6..e42f28f 100644 --- a/crates/bindings-uniswapx/src/order_info_lib.rs +++ b/crates/bindings-uniswapx/src/order_info_lib.rs @@ -7,7 +7,7 @@ pub use order_info_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod order_info_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod order_info_lib { } } ///The parsed JSON ABI of the contract. - pub static ORDERINFOLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ORDERINFOLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \r\x14-\xD5-$\\\x1AR_\x07Z\x1BG.\xDEl\x82\xCD?\x15\xAC>.:+@\x98V\x91\x03\x89dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBFP||Q\xE9\x08Ai0\xD5\xCC\xDD\x15\xD0M\x06\xB5\xF8:j\x96\xFEX\x8A^\xF4\xF7\xE2\x1B\xECwdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static ORDERINFOLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ORDERINFOLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \r\x14-\xD5-$\\\x1AR_\x07Z\x1BG.\xDEl\x82\xCD?\x15\xAC>.:+@\x98V\x91\x03\x89dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBFP||Q\xE9\x08Ai0\xD5\xCC\xDD\x15\xD0M\x06\xB5\xF8:j\x96\xFEX\x8A^\xF4\xF7\xE2\x1B\xECwdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static ORDERINFOLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ORDERINFOLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct OrderInfoLib(::ethers::contract::Contract); impl ::core::clone::Clone for OrderInfoLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod order_info_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ORDERINFOLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ORDERINFOLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +116,8 @@ pub mod order_info_lib { Ok(deployer) } } - impl From<::ethers::contract::Contract> for OrderInfoLib { + impl From<::ethers::contract::Contract> + for OrderInfoLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/order_quoter.rs b/crates/bindings-uniswapx/src/order_quoter.rs index e0eb1db..d95d062 100644 --- a/crates/bindings-uniswapx/src/order_quoter.rs +++ b/crates/bindings-uniswapx/src/order_quoter.rs @@ -7,7 +7,7 @@ pub use order_quoter::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod order_quoter { pub use super::super::shared_types::*; @@ -162,13 +162,6 @@ pub mod order_quoter { ::std::borrow::ToOwned::to_owned("struct ResolvedOrder[]"), ), }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, ::ethers::core::abi::ethabi::Param { name: ::std::string::String::new(), kind: ::ethers::core::abi::ethabi::ParamType::Bytes, @@ -179,7 +172,7 @@ pub mod order_quoter { ], outputs: ::std::vec![], constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, }, ], ), @@ -203,18 +196,21 @@ pub mod order_quoter { } } ///The parsed JSON ABI of the contract. - pub static ORDERQUOTER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static ORDERQUOTER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x0Er\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cvq\xD0{\x14a\0oW\x80c\x99C\xFA\x89\x14a\0\xB0W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xE2V[a\0\xC5V[`@Qa\0f\x91\x90a\x06\x1EV[`@Q\x80\x91\x03\x90\xF3[a\0\x8Ba\0}6`\x04a\x07HV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[a\0\xC3a\0\xBE6`\x04a\t[V[a\x02!V[\0[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x83\x81\x01Q\x84\x01\x81\x01Q\x81Q\x80\x83\x01\x83R\x85\x81R` \x80\x82\x01\x86\x90R\x83Q\x90\x81\x01\x84R`\0\x81R\x92Q\x7F\x05\xAF\xC9w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x92c\x05\xAF\xC9w\x92a\x01\xAF\x92\x910\x91`\x04\x01a\n\xFBV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xC4V[\x91PP[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x160\x14a\x02CW`\0\x80\xFD[\x82Q`\x01\x14a\x02~W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x83`\0\x81Q\x81\x10a\x02\x93Wa\x02\x93a\x0B\x8DV[` \x02` \x01\x01Q`@Q` \x01a\x02\xAB\x91\x90a\x06\x1EV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03@W\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\rjV[\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\xABWa\x03\xABa\x03YV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04>Wa\x04>a\x03YV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x04`Wa\x04`a\x03YV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04\x9DW`\0\x80\xFD[\x815a\x04\xB0a\x04\xAB\x82a\x04FV[a\x03\xF7V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\xC5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xF5W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x05\rW`\0\x80\xFD[a\x05\x19\x86\x83\x87\x01a\x04\x8CV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05/W`\0\x80\xFD[Pa\x05<\x85\x82\x86\x01a\x04\x8CV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05aW\x81\x81\x01Q\x83\x82\x01R` \x01a\x05IV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05\x82\x81` \x86\x01` \x86\x01a\x05FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P\x80\x84\x01`\0[\x83\x81\x10\x15a\x06\x13W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xC8V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06\x9Aa\x01\xC0\x84\x01\x82a\x05jV[\x90P` \x84\x01Qa\x06\xD8`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x07\x13\x83\x83a\x05\xB4V[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x071\x82\x82a\x05jV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x07ZW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x07qW`\0\x80\xFD[a\x07}\x84\x82\x85\x01a\x04\x8CV[\x94\x93PPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07\x9FWa\x07\x9Fa\x03YV[P`\x05\x1B` \x01\x90V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xCBW`\0\x80\xFD[PV[\x805a\x03T\x81a\x07\xA9V[`\0`\xC0\x82\x84\x03\x12\x15a\x07\xEBW`\0\x80\xFD[a\x07\xF3a\x03\x88V[\x90P\x815a\x08\0\x81a\x07\xA9V[\x81R` \x82\x015a\x08\x10\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a\x089\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08XW`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x04\x8CV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x08\x82W`\0\x80\xFD[a\x08\x8Aa\x03\xB1V[\x90P\x815a\x08\x97\x81a\x07\xA9V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x08\xC6W`\0\x80\xFD[\x815` a\x08\xD6a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x08\xF5W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\t\x11W`\0\x80\x81\xFD[a\t\x19a\x03\xB1V[\x815a\t$\x81a\x07\xA9V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\t=\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x08\xF9V[P\x90\x97\x96PPPPPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\tpW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\x88W`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\t\x9CW`\0\x80\xFD[\x815` a\t\xACa\x04\xAB\x83a\x07\x85V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x8A\x84\x11\x15a\t\xCBW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\n\xBCW\x805\x86\x81\x11\x15a\t\xE6W`\0\x80\xFD[\x87\x01`\xE0\x81\x8E\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01\x12\x15a\n\x1AW`\0\x80\xFD[a\n\"a\x03\xD4V[\x85\x82\x015\x88\x81\x11\x15a\n3W`\0\x80\xFD[a\nA\x8F\x88\x83\x86\x01\x01a\x07\xD9V[\x82RPa\nQ\x8E`@\x84\x01a\x08pV[\x86\x82\x01R`\xA0\x82\x015\x88\x81\x11\x15a\nhW`\0\x80\x81\xFD[a\nv\x8F\x88\x83\x86\x01\x01a\x08\xB5V[`@\x83\x01RP`\xC0\x82\x015\x88\x81\x11\x15a\n\x8FW`\0\x80\x81\xFD[a\n\x9D\x8F\x88\x83\x86\x01\x01a\x04\x8CV[``\x83\x01RP`\xE0\x91\x90\x91\x015`\x80\x82\x01R\x83R\x91\x83\x01\x91\x83\x01a\t\xCFV[P\x97Pa\n\xCC\x90P\x88\x82\x01a\x07\xCEV[\x95PPP`@\x86\x015\x91P\x80\x82\x11\x15a\n\xE4W`\0\x80\xFD[Pa\n\xF1\x86\x82\x87\x01a\x04\x8CV[\x91PP\x92P\x92P\x92V[``\x81R`\0\x84Q`@``\x84\x01Ra\x0B\x17`\xA0\x84\x01\x82a\x05jV[\x90P` \x86\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x84\x83\x03\x01`\x80\x85\x01Ra\x0BR\x82\x82a\x05jV[\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16` \x84\x01R\x82\x81\x03`@\x84\x01Ra\x0B\x83\x81\x85a\x05jV[\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0B\xCDW`\0\x80\xFD[\x81Qa\x0B\xDBa\x04\xAB\x82a\x04FV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x0B\xF0W`\0\x80\xFD[a\x07}\x82` \x83\x01` \x87\x01a\x05FV[`\0`\xC0\x82\x84\x03\x12\x15a\x0C\x13W`\0\x80\xFD[a\x0C\x1Ba\x03\x88V[\x90P\x81Qa\x0C(\x81a\x07\xA9V[\x81R` \x82\x01Qa\x0C8\x81a\x07\xA9V[\x80` \x83\x01RP`@\x82\x01Q`@\x82\x01R``\x82\x01Q``\x82\x01R`\x80\x82\x01Qa\x0Ca\x81a\x07\xA9V[`\x80\x82\x01R`\xA0\x82\x01Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0C\x80W`\0\x80\xFD[a\x08d\x84\x82\x85\x01a\x0B\xBCV[`\0``\x82\x84\x03\x12\x15a\x0C\x9EW`\0\x80\xFD[a\x0C\xA6a\x03\xB1V[\x90P\x81Qa\x0C\xB3\x81a\x07\xA9V[\x80\x82RP` \x82\x01Q` \x82\x01R`@\x82\x01Q`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x0C\xE2W`\0\x80\xFD[\x81Q` a\x0C\xF2a\x04\xAB\x83a\x07\x85V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\r\x11W`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\tNW\x81\x81\x8A\x03\x12\x15a\r-W`\0\x80\x81\xFD[a\r5a\x03\xB1V[\x81Qa\r@\x81a\x07\xA9V[\x81R\x81\x86\x01Q\x86\x82\x01R`@\x80\x83\x01Qa\rY\x81a\x07\xA9V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\r\x15V[`\0` \x82\x84\x03\x12\x15a\r|W`\0\x80\xFD[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x94W`\0\x80\xFD[\x90\x83\x01\x90`\xE0\x82\x86\x03\x12\x15a\r\xA8W`\0\x80\xFD[a\r\xB0a\x03\xD4V[\x82Q\x82\x81\x11\x15a\r\xBFW`\0\x80\xFD[a\r\xCB\x87\x82\x86\x01a\x0C\x01V[\x82RPa\r\xDB\x86` \x85\x01a\x0C\x8CV[` \x82\x01R`\x80\x83\x01Q\x82\x81\x11\x15a\r\xF2W`\0\x80\xFD[a\r\xFE\x87\x82\x86\x01a\x0C\xD1V[`@\x83\x01RP`\xA0\x83\x01Q\x82\x81\x11\x15a\x0E\x16W`\0\x80\xFD[a\x0E\"\x87\x82\x86\x01a\x0B\xBCV[``\x83\x01RP`\xC0\x92\x90\x92\x01Q`\x80\x83\x01RP\x93\x92PPPV\xFE\xA2dipfsX\"\x12 \xD8\x02\xF2LZ1\xDD\x0B\xF7*N\x8A\xC1:\xE7H\x85n\"\x89\xD8\xA1C\xBE\xB2p\xED\xBD\x1D\x7FO\xAEdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07(::ethers::contract::Contract); impl ::core::clone::Clone for OrderQuoter { fn clone(&self) -> Self { @@ -246,11 +242,13 @@ pub mod order_quoter { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ORDERQUOTER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ORDERQUOTER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -295,7 +293,10 @@ pub mod order_quoter { pub fn get_reactor( &self, order: ::ethers::core::types::Bytes, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([118, 113, 208, 123], order) .expect("method not found (this should never happen)") @@ -310,19 +311,19 @@ pub mod order_quoter { .method_hash([65, 216, 141, 105], (order, sig)) .expect("method not found (this should never happen)") } - ///Calls the contract's `reactorCallback` (0x9943fa89) function + ///Calls the contract's `reactorCallback` (0x585da628) function pub fn reactor_callback( &self, resolved_orders: ::std::vec::Vec, - filler: ::ethers::core::types::Address, - p2: ::ethers::core::types::Bytes, + p1: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([153, 67, 250, 137], (resolved_orders, filler, p2)) + .method_hash([88, 93, 166, 40], (resolved_orders, p1)) .expect("method not found (this should never happen)") } } - impl From<::ethers::contract::Contract> for OrderQuoter { + impl From<::ethers::contract::Contract> + for OrderQuoter { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -332,11 +333,13 @@ pub mod order_quoter { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "OrdersLengthIncorrect", abi = "OrdersLengthIncorrect()")] pub struct OrdersLengthIncorrect; @@ -345,11 +348,13 @@ pub mod order_quoter { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "getReactor", abi = "getReactor(bytes)")] pub struct GetReactorCall { @@ -360,39 +365,51 @@ pub mod order_quoter { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "quote", abi = "quote(bytes,bytes)")] pub struct QuoteCall { pub order: ::ethers::core::types::Bytes, pub sig: ::ethers::core::types::Bytes, } - ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)` and selector `0x9943fa89` + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "reactorCallback", - abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)" + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" )] pub struct ReactorCallbackCall { pub resolved_orders: ::std::vec::Vec, - pub filler: ::ethers::core::types::Address, - pub p2: ::ethers::core::types::Bytes, + pub p1: ::ethers::core::types::Bytes, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum OrderQuoterCalls { GetReactor(GetReactorCall), Quote(QuoteCall), @@ -403,15 +420,19 @@ pub mod order_quoter { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::GetReactor(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Quote(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ReactorCallback(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -420,9 +441,13 @@ pub mod order_quoter { impl ::ethers::core::abi::AbiEncode for OrderQuoterCalls { fn encode(self) -> Vec { match self { - Self::GetReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::GetReactor(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Quote(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ReactorCallback(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ReactorCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -455,11 +480,13 @@ pub mod order_quoter { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct GetReactorReturn { pub reactor: ::ethers::core::types::Address, @@ -469,11 +496,13 @@ pub mod order_quoter { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct QuoteReturn { pub result: ResolvedOrder, diff --git a/crates/bindings-uniswapx/src/outputs_builder.rs b/crates/bindings-uniswapx/src/outputs_builder.rs index 76a9231..5ab2eed 100644 --- a/crates/bindings-uniswapx/src/outputs_builder.rs +++ b/crates/bindings-uniswapx/src/outputs_builder.rs @@ -7,7 +7,7 @@ pub use outputs_builder::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod outputs_builder { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod outputs_builder { } } ///The parsed JSON ABI of the contract. - pub static OUTPUTSBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static OUTPUTSBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF45\x1E\x01\xDC\xF4\x0E\xCD\x88\x02\xEF?\xFAb\x9Bt\xC5^\x7F\x8F\xFF\x02=(6\xB2\xA2\x8B\xC7l\xD1\xDAdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC\xD4\xEAU\x1E\xF6\xD0\xAB\xEA\xE4\xFEv\x04\xDDf\xFD0\x07GC\xCD6x\xDB\x9D\x1C\xD2\xF0\x8E,\x06adsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static OUTPUTSBUILDER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static OUTPUTSBUILDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xF45\x1E\x01\xDC\xF4\x0E\xCD\x88\x02\xEF?\xFAb\x9Bt\xC5^\x7F\x8F\xFF\x02=(6\xB2\xA2\x8B\xC7l\xD1\xDAdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC\xD4\xEAU\x1E\xF6\xD0\xAB\xEA\xE4\xFEv\x04\xDDf\xFD0\x07GC\xCD6x\xDB\x9D\x1C\xD2\xF0\x8E,\x06adsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static OUTPUTSBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static OUTPUTSBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct OutputsBuilder(::ethers::contract::Contract); impl ::core::clone::Clone for OutputsBuilder { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod outputs_builder { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - OUTPUTSBUILDER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + OUTPUTSBUILDER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod outputs_builder { } } impl From<::ethers::contract::Contract> - for OutputsBuilder - { + for OutputsBuilder { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/owned.rs b/crates/bindings-uniswapx/src/owned.rs index d39f2cf..080b879 100644 --- a/crates/bindings-uniswapx/src/owned.rs +++ b/crates/bindings-uniswapx/src/owned.rs @@ -7,7 +7,7 @@ pub use owned::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod owned { #[allow(deprecated)] @@ -17,64 +17,79 @@ pub mod owned { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, }, ], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static OWNED_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static OWNED_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct Owned(::ethers::contract::Contract); impl ::core::clone::Clone for Owned { fn clone(&self) -> Self { @@ -94,9 +109,7 @@ pub mod owned { } impl ::core::fmt::Debug for Owned { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Owned)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Owned)).field(&self.address()).finish() } } impl Owned { @@ -106,16 +119,21 @@ pub mod owned { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - OWNED_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + OWNED_ABI.clone(), + client, + ), + ) } ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -132,20 +150,26 @@ pub mod owned { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for Owned { + impl From<::ethers::contract::Contract> + for Owned { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -154,11 +178,13 @@ pub mod owned { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -175,11 +201,13 @@ pub mod owned { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -188,18 +216,29 @@ pub mod owned { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum OwnedCalls { Owner(OwnerCall), TransferOwnership(TransferOwnershipCall), @@ -209,12 +248,14 @@ pub mod owned { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -224,7 +265,9 @@ pub mod owned { fn encode(self) -> Vec { match self { Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -251,11 +294,13 @@ pub mod owned { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/path.rs b/crates/bindings-uniswapx/src/path.rs index d601fed..b97a586 100644 --- a/crates/bindings-uniswapx/src/path.rs +++ b/crates/bindings-uniswapx/src/path.rs @@ -7,7 +7,7 @@ pub use path::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod path { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod path { } } ///The parsed JSON ABI of the contract. - pub static PATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x17m{\xFA\x99\x05-H_\x93\xB2\xF9\xF1\xFF\x88\x07X\xD6-a\xD5\x91T\xFE<\x91\xA1\xC7\x86\x9F\xB0\x93dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x93\t\xAE\\\xBFH\x18\x96]\xA5\xD3-\xD1\t\xCBk\xD42\xBE7\xDA\xAD1\x0B*\xF8J/\xE5\x15\x85\xE5dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static PATH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static PATH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x17m{\xFA\x99\x05-H_\x93\xB2\xF9\xF1\xFF\x88\x07X\xD6-a\xD5\x91T\xFE<\x91\xA1\xC7\x86\x9F\xB0\x93dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x93\t\xAE\\\xBFH\x18\x96]\xA5\xD3-\xD1\t\xCBk\xD42\xBE7\xDA\xAD1\x0B*\xF8J/\xE5\x15\x85\xE5dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static PATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static PATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct Path(::ethers::contract::Contract); impl ::core::clone::Clone for Path { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod path { } impl ::core::fmt::Debug for Path { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Path)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Path)).field(&self.address()).finish() } } impl Path { @@ -65,11 +66,13 @@ pub mod path { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PATH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PATH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod path { Ok(deployer) } } - impl From<::ethers::contract::Contract> for Path { + impl From<::ethers::contract::Contract> + for Path { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/path_builder.rs b/crates/bindings-uniswapx/src/path_builder.rs index 522d8bc..92497e7 100644 --- a/crates/bindings-uniswapx/src/path_builder.rs +++ b/crates/bindings-uniswapx/src/path_builder.rs @@ -7,7 +7,7 @@ pub use path_builder::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod path_builder { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod path_builder { } } ///The parsed JSON ABI of the contract. - pub static PATHBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PATHBUILDER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 Zns\x96\xF1\x1F\xB2U:\xD3\xDA,\xEF\x99C\x8C6\xA6\x9C\xB8W\x12\xD2+p\xA2\xCE\xEE0\xDF\xEE\x07dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 g1\xF2\xC8_\xBC\xFF\x7F\xA5\xDC\xACo_\xB0?S|<\xEE\xA4f\x11Q1\xF7\x13\x16\x8E\x8E&\x84\x14dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static PATHBUILDER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static PATHBUILDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 Zns\x96\xF1\x1F\xB2U:\xD3\xDA,\xEF\x99C\x8C6\xA6\x9C\xB8W\x12\xD2+p\xA2\xCE\xEE0\xDF\xEE\x07dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 g1\xF2\xC8_\xBC\xFF\x7F\xA5\xDC\xACo_\xB0?S|<\xEE\xA4f\x11Q1\xF7\x13\x16\x8E\x8E&\x84\x14dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static PATHBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static PATHBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct PathBuilder(::ethers::contract::Contract); impl ::core::clone::Clone for PathBuilder { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod path_builder { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PATHBUILDER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PATHBUILDER_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +116,8 @@ pub mod path_builder { Ok(deployer) } } - impl From<::ethers::contract::Contract> for PathBuilder { + impl From<::ethers::contract::Contract> + for PathBuilder { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/permit_2_lib.rs b/crates/bindings-uniswapx/src/permit_2_lib.rs index 40fd109..24bdd8f 100644 --- a/crates/bindings-uniswapx/src/permit_2_lib.rs +++ b/crates/bindings-uniswapx/src/permit_2_lib.rs @@ -7,7 +7,7 @@ pub use permit_2_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod permit_2_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod permit_2_lib { } } ///The parsed JSON ABI of the contract. - pub static PERMIT2LIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PERMIT2LIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\xECP\xCE\xCC\x85\xC7b\xC2\xB19\x08v8Q\xD3\xD2\xCB0\xF5\xDA\x8B\0kw$\x91\x87\xBFgw\x9EdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 }\xC0\xC3\x0BA\xE8F\x11\x0F\x89\x02rc\x12\xFF\xB6\x81\n\xD4\xF3'\x9E\xBF1t\x11N\x0B\xD9wX\x16dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static PERMIT2LIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static PERMIT2LIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAA\xECP\xCE\xCC\x85\xC7b\xC2\xB19\x08v8Q\xD3\xD2\xCB0\xF5\xDA\x8B\0kw$\x91\x87\xBFgw\x9EdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 }\xC0\xC3\x0BA\xE8F\x11\x0F\x89\x02rc\x12\xFF\xB6\x81\n\xD4\xF3'\x9E\xBF1t\x11N\x0B\xD9wX\x16dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static PERMIT2LIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static PERMIT2LIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct Permit2Lib(::ethers::contract::Contract); impl ::core::clone::Clone for Permit2Lib { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod permit_2_lib { } impl ::core::fmt::Debug for Permit2Lib { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Permit2Lib)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Permit2Lib)).field(&self.address()).finish() } } impl Permit2Lib { @@ -65,11 +66,13 @@ pub mod permit_2_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PERMIT2LIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PERMIT2LIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod permit_2_lib { Ok(deployer) } } - impl From<::ethers::contract::Contract> for Permit2Lib { + impl From<::ethers::contract::Contract> + for Permit2Lib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/permit_signature.rs b/crates/bindings-uniswapx/src/permit_signature.rs index a822501..68bb72f 100644 --- a/crates/bindings-uniswapx/src/permit_signature.rs +++ b/crates/bindings-uniswapx/src/permit_signature.rs @@ -7,7 +7,7 @@ pub use permit_signature::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod permit_signature { pub use super::super::shared_types::*; @@ -18,380 +18,721 @@ pub mod permit_signature { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("IS_TEST"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_TEST"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_TEST"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("NAME_HASH"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("NAME_HASH"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("NAME_HASH"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("TYPE_HASH"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("TYPE_HASH"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("TYPE_HASH"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedArtifacts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeArtifacts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedArtifacts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("excludeContracts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedContracts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeContracts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedContracts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("excludeSelectors"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeSelectors"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("excludeSenders"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeSenders"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("excludedSenders_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("failed"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("failed"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("failed"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("targetArtifactSelectors"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetArtifactSelectors",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedArtifactSelectors_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 4usize - ), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "targetArtifactSelectors", + ), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedArtifactSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::String, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], ), ), - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzArtifactSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("targetArtifacts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedArtifacts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetArtifacts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedArtifacts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("targetContracts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedContracts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetContracts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedContracts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetInterfaces"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetInterfaces"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedInterfaces_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzInterface[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("targetSelectors"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSelectors"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedSelectors_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 4usize - ), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetSelectors"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], ), ), - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("targetSenders"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetSenders"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("targetedSenders_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("log"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_address"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_address"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_address"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_array"), ::std::vec![ ::ethers::core::abi::ethabi::Event { name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), ), - ), - indexed: false, - },], + indexed: false, + }, + ], anonymous: false, }, ::ethers::core::abi::ethabi::Event { name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Int(256usize), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Int(256usize), + ), ), - ), - indexed: false, - },], + indexed: false, + }, + ], anonymous: false, }, ::ethers::core::abi::ethabi::Event { name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), ), - ), - indexed: false, - },], + indexed: false, + }, + ], anonymous: false, }, ], ), ( ::std::borrow::ToOwned::to_owned("log_bytes"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_bytes"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_bytes"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_bytes32"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_bytes32"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_bytes32"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_int"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_int"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_int"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_named_address"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_address"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_address"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_array"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Int(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_bytes"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_bytes"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_bytes32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_bytes32"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_decimal_int"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "log_named_decimal_int", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("decimals"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_decimal_uint"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "log_named_decimal_uint", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("decimals"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( - ::std::borrow::ToOwned::to_owned("log_named_array"), + ::std::borrow::ToOwned::to_owned("log_named_int"), ::std::vec![ ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), + name: ::std::borrow::ToOwned::to_owned("log_named_int"), inputs: ::std::vec![ ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("key"), @@ -400,18 +741,19 @@ pub mod permit_signature { }, ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), indexed: false, }, ], anonymous: false, }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_string"), + ::std::vec![ ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), + name: ::std::borrow::ToOwned::to_owned("log_named_string"), inputs: ::std::vec![ ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("key"), @@ -420,18 +762,19 @@ pub mod permit_signature { }, ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Int(256usize), - ), - ), + kind: ::ethers::core::abi::ethabi::ParamType::String, indexed: false, }, ], anonymous: false, }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_uint"), + ::std::vec![ ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), + name: ::std::borrow::ToOwned::to_owned("log_named_uint"), inputs: ::std::vec![ ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("key"), @@ -440,10 +783,8 @@ pub mod permit_signature { }, ::ethers::core::abi::ethabi::EventParam { name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, ), indexed: false, }, @@ -452,184 +793,55 @@ pub mod permit_signature { }, ], ), - ( - ::std::borrow::ToOwned::to_owned("log_named_bytes"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_bytes"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_bytes32"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_bytes32"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_decimal_int"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_decimal_int",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("decimals"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_decimal_uint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_decimal_uint",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("decimals"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_int"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_int"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_string"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_string"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_uint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_uint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], - ), ( ::std::borrow::ToOwned::to_owned("log_string"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_string"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_string"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("log_uint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_uint"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_uint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("logs"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("logs"), - inputs: ::std::vec![::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - },], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("logs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -638,18 +850,21 @@ pub mod permit_signature { } } ///The parsed JSON ABI of the contract. - pub static PERMITSIGNATURE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PERMITSIGNATURE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\0\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x04\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pa\x0B\xD5\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xD4W`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x81W\x80c\xBAAO\xA6\x11a\0[W\x80c\xBAAO\xA6\x14a\x01\x99W\x80c\xE2\x0C\x9Fq\x14a\x01\xB1W\x80c\xFAv&\xD4\x14a\x01\xB9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01tW\x80c\x91j\x17\xC6\x14a\x01\x89W\x80c\xB5P\x8A\xA9\x14a\x01\x91W`\0\x80\xFD[\x80c?r\x86\xF4\x11a\0\xB2W\x80c?r\x86\xF4\x14a\x010W\x80cd\xD4\xC8\x19\x14a\x018W\x80cf\xD9\xA9\xA0\x14a\x01_W`\0\x80\xFD[\x80c\x04b,.\x14a\0\xD9W\x80c\x1E\xD7\x83\x1C\x14a\x01\x13W\x80c>^<#\x14a\x01(W[`\0\x80\xFD[a\x01\0\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01\x1Ba\x01\xC6V[`@Qa\x01\n\x91\x90a\x08\x95V[a\x01\x1Ba\x025V[a\x01\x1Ba\x02\xA2V[a\x01\0\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01ga\x03\x0FV[`@Qa\x01\n\x91\x90a\x08\xEFV[a\x01|a\x04 V[`@Qa\x01\n\x91\x90a\n\tV[a\x01ga\x04\xF0V[a\x01|a\x05\xF8V[a\x01\xA1a\x06\xC8V[`@Q\x90\x15\x15\x81R` \x01a\x01\nV[a\x01\x1Ba\x08(V[`\0Ta\x01\xA1\x90`\xFF\x16\x81V[```\r\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0W[PPPPP\x90P\x90V[```\x0F\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[```\x0E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[```\x12\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x03\xFFW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x03\xACW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x033V[PPPP\x90P\x90V[```\x11\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x04c\x90a\n\xBFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04\x8F\x90a\n\xBFV[\x80\x15a\x04\xDCW\x80`\x1F\x10a\x04\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x04DV[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05\x14V[```\x10\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06;\x90a\n\xBFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\n\xBFV[\x80\x15a\x06\xB4W\x80`\x1F\x10a\x06\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1CV[`\0\x80Ta\x01\0\x90\x04`\xFF\x16\x15a\x06\xE8WP`\0Ta\x01\0\x90\x04`\xFF\x16\x90V[`\0sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-;\x15a\x08#W`@\x80Qsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-` \x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\0\x92\x90\x91a\x07\x8D\x91\x7Ff\x7F\x9Dp\xCAA\x1Dp\xEA\xD5\r\x8D\\\"\x07\r\xAF\xC3j\xD7_=\xCF^r7\xB2*\xDE\x9A\xEC\xC4\x91`\x80\x01a\x0B\x12V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x07\xC5\x91a\x0BZV[`\0`@Q\x80\x83\x03\x81`\0\x86Z\xF1\x91PP=\x80`\0\x81\x14a\x08\x02W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x08\x07V[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\x08\x1F\x91\x90a\x0BvV[\x91PP[\x91\x90PV[```\x0C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x08\xE3W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x08\xB1V[P\x90\x96\x95PPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0\x80[\x84\x81\x10\x15a\t\xD6W\x89\x84\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x86R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\t\xC1W\x83Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82R\x92\x8B\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8B\x01\x90a\t\x7FV[P\x97\x8A\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\t\x17V[P\x91\x99\x98PPPPPPPPPV[`\0[\x83\x81\x10\x15a\n\0W\x81\x81\x01Q\x83\x82\x01R` \x01a\t\xE8V[PP`\0\x91\x01RV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a\n\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84R\x81Q\x80Q\x80\x87Ra\nu\x81\x89\x89\x01\x8A\x85\x01a\t\xE5V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\n0V[P\x92\x97\x96PPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\xD3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B\x0CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81R`\0\x82Qa\x0BL\x81`\x04\x85\x01` \x87\x01a\t\xE5V[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\0\x82Qa\x0Bl\x81\x84` \x87\x01a\t\xE5V[\x91\x90\x91\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x0B\x88W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x0B\x98W`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 b\xE5\xB7`\x89\x80\xE2 \x01*\xC4\x84n\x1D\x88\x95\xCDC\xB0l\xA1n\x07\x83\xEC\rA\xB4\tF\xA4\"dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x1F\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pa\x0F\x9B\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 !\x8BT\xF5\xFB\xC9\x8D\x7F\xA7\x8A\xE3.Y>\xA5g\xD6\xD6\xEF\xF1E\x9E7\x02H\xB6\x11/\x8D\x8AA\x9FdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static PERMITSIGNATURE_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static PERMITSIGNATURE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xD4W`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x81W\x80c\xBAAO\xA6\x11a\0[W\x80c\xBAAO\xA6\x14a\x01\x99W\x80c\xE2\x0C\x9Fq\x14a\x01\xB1W\x80c\xFAv&\xD4\x14a\x01\xB9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01tW\x80c\x91j\x17\xC6\x14a\x01\x89W\x80c\xB5P\x8A\xA9\x14a\x01\x91W`\0\x80\xFD[\x80c?r\x86\xF4\x11a\0\xB2W\x80c?r\x86\xF4\x14a\x010W\x80cd\xD4\xC8\x19\x14a\x018W\x80cf\xD9\xA9\xA0\x14a\x01_W`\0\x80\xFD[\x80c\x04b,.\x14a\0\xD9W\x80c\x1E\xD7\x83\x1C\x14a\x01\x13W\x80c>^<#\x14a\x01(W[`\0\x80\xFD[a\x01\0\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x01\x1Ba\x01\xC6V[`@Qa\x01\n\x91\x90a\x08\x95V[a\x01\x1Ba\x025V[a\x01\x1Ba\x02\xA2V[a\x01\0\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01ga\x03\x0FV[`@Qa\x01\n\x91\x90a\x08\xEFV[a\x01|a\x04 V[`@Qa\x01\n\x91\x90a\n\tV[a\x01ga\x04\xF0V[a\x01|a\x05\xF8V[a\x01\xA1a\x06\xC8V[`@Q\x90\x15\x15\x81R` \x01a\x01\nV[a\x01\x1Ba\x08(V[`\0Ta\x01\xA1\x90`\xFF\x16\x81V[```\r\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0W[PPPPP\x90P\x90V[```\x0F\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[```\x0E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[```\x12\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x03\xFFW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x03\xACW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x033V[PPPP\x90P\x90V[```\x11\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x04c\x90a\n\xBFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x04\x8F\x90a\n\xBFV[\x80\x15a\x04\xDCW\x80`\x1F\x10a\x04\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x04\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x04DV[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05\x14V[```\x10\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x04\x17W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06;\x90a\n\xBFV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\n\xBFV[\x80\x15a\x06\xB4W\x80`\x1F\x10a\x06\x89Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xB4V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1CV[`\0\x80Ta\x01\0\x90\x04`\xFF\x16\x15a\x06\xE8WP`\0Ta\x01\0\x90\x04`\xFF\x16\x90V[`\0sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-;\x15a\x08#W`@\x80Qsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-` \x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\0\x92\x90\x91a\x07\x8D\x91\x7Ff\x7F\x9Dp\xCAA\x1Dp\xEA\xD5\r\x8D\\\"\x07\r\xAF\xC3j\xD7_=\xCF^r7\xB2*\xDE\x9A\xEC\xC4\x91`\x80\x01a\x0B\x12V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x07\xC5\x91a\x0BZV[`\0`@Q\x80\x83\x03\x81`\0\x86Z\xF1\x91PP=\x80`\0\x81\x14a\x08\x02W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x08\x07V[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\x08\x1F\x91\x90a\x0BvV[\x91PP[\x91\x90PV[```\x0C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02+W` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02\0WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x08\xE3W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x08\xB1V[P\x90\x96\x95PPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0\x80[\x84\x81\x10\x15a\t\xD6W\x89\x84\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x86R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\t\xC1W\x83Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82R\x92\x8B\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8B\x01\x90a\t\x7FV[P\x97\x8A\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\t\x17V[P\x91\x99\x98PPPPPPPPPV[`\0[\x83\x81\x10\x15a\n\0W\x81\x81\x01Q\x83\x82\x01R` \x01a\t\xE8V[PP`\0\x91\x01RV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0[\x82\x81\x10\x15a\n\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84R\x81Q\x80Q\x80\x87Ra\nu\x81\x89\x89\x01\x8A\x85\x01a\t\xE5V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\n0V[P\x92\x97\x96PPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\xD3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B\x0CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81R`\0\x82Qa\x0BL\x81`\x04\x85\x01` \x87\x01a\t\xE5V[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\0\x82Qa\x0Bl\x81\x84` \x87\x01a\t\xE5V[\x91\x90\x91\x01\x92\x91PPV[`\0` \x82\x84\x03\x12\x15a\x0B\x88W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14a\x0B\x98W`\0\x80\xFD[\x93\x92PPPV\xFE\xA2dipfsX\"\x12 b\xE5\xB7`\x89\x80\xE2 \x01*\xC4\x84n\x1D\x88\x95\xCDC\xB0l\xA1n\x07\x83\xEC\rA\xB4\tF\xA4\"dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 !\x8BT\xF5\xFB\xC9\x8D\x7F\xA7\x8A\xE3.Y>\xA5g\xD6\xD6\xEF\xF1E\x9E7\x02H\xB6\x11/\x8D\x8AA\x9FdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static PERMITSIGNATURE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static PERMITSIGNATURE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct PermitSignature(::ethers::contract::Contract); impl ::core::clone::Clone for PermitSignature { fn clone(&self) -> Self { @@ -681,11 +896,13 @@ pub mod permit_signature { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PERMITSIGNATURE_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PERMITSIGNATURE_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -733,13 +950,17 @@ pub mod permit_signature { .expect("method not found (this should never happen)") } ///Calls the contract's `NAME_HASH` (0x04622c2e) function - pub fn name_hash(&self) -> ::ethers::contract::builders::ContractCall { + pub fn name_hash( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([4, 98, 44, 46], ()) .expect("method not found (this should never happen)") } ///Calls the contract's `TYPE_HASH` (0x64d4c819) function - pub fn type_hash(&self) -> ::ethers::contract::builders::ContractCall { + pub fn type_hash( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([100, 212, 200, 25], ()) .expect("method not found (this should never happen)") @@ -747,8 +968,10 @@ pub mod permit_signature { ///Calls the contract's `excludeArtifacts` (0xb5508aa9) function pub fn exclude_artifacts( &self, - ) -> ::ethers::contract::builders::ContractCall> - { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::std::string::String>, + > { self.0 .method_hash([181, 80, 138, 169], ()) .expect("method not found (this should never happen)") @@ -764,6 +987,17 @@ pub mod permit_signature { .method_hash([226, 12, 159, 113], ()) .expect("method not found (this should never happen)") } + ///Calls the contract's `excludeSelectors` (0xb0464fdc) function + pub fn exclude_selectors( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([176, 70, 79, 220], ()) + .expect("method not found (this should never happen)") + } ///Calls the contract's `excludeSenders` (0x1ed7831c) function pub fn exclude_senders( &self, @@ -784,7 +1018,10 @@ pub mod permit_signature { ///Calls the contract's `targetArtifactSelectors` (0x66d9a9a0) function pub fn target_artifact_selectors( &self, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([102, 217, 169, 160], ()) .expect("method not found (this should never happen)") @@ -792,8 +1029,10 @@ pub mod permit_signature { ///Calls the contract's `targetArtifacts` (0x85226c81) function pub fn target_artifacts( &self, - ) -> ::ethers::contract::builders::ContractCall> - { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::std::string::String>, + > { self.0 .method_hash([133, 34, 108, 129], ()) .expect("method not found (this should never happen)") @@ -809,10 +1048,24 @@ pub mod permit_signature { .method_hash([63, 114, 134, 244], ()) .expect("method not found (this should never happen)") } + ///Calls the contract's `targetInterfaces` (0x2ade3880) function + pub fn target_interfaces( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([42, 222, 56, 128], ()) + .expect("method not found (this should never happen)") + } ///Calls the contract's `targetSelectors` (0x916a17c6) function pub fn target_selectors( &self, - ) -> ::ethers::contract::builders::ContractCall> { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { self.0 .method_hash([145, 106, 23, 198], ()) .expect("method not found (this should never happen)") @@ -837,37 +1090,61 @@ pub mod permit_signature { ///Gets the contract's `log_address` event pub fn log_address_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogAddressFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogAddressFilter, + > { self.0.event() } ///Gets the contract's `log_array` event pub fn log_array_1_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogArray1Filter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray1Filter, + > { self.0.event() } ///Gets the contract's `log_array` event pub fn log_array_2_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogArray2Filter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray2Filter, + > { self.0.event() } ///Gets the contract's `log_array` event pub fn log_array_3_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogArray3Filter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray3Filter, + > { self.0.event() } ///Gets the contract's `log_bytes` event pub fn log_bytes_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogBytesFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogBytesFilter, + > { self.0.event() } ///Gets the contract's `log_bytes32` event pub fn log_bytes_32_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogBytes32Filter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogBytes32Filter, + > { self.0.event() } ///Gets the contract's `log_int` event @@ -879,84 +1156,121 @@ pub mod permit_signature { ///Gets the contract's `log_named_address` event pub fn log_named_address_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedAddressFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedAddressFilter, + > { self.0.event() } ///Gets the contract's `log_named_array` event pub fn log_named_array_1_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedArray1Filter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray1Filter, + > { self.0.event() } ///Gets the contract's `log_named_array` event pub fn log_named_array_2_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedArray2Filter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray2Filter, + > { self.0.event() } ///Gets the contract's `log_named_array` event pub fn log_named_array_3_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedArray3Filter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray3Filter, + > { self.0.event() } ///Gets the contract's `log_named_bytes` event pub fn log_named_bytes_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedBytesFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedBytesFilter, + > { self.0.event() } ///Gets the contract's `log_named_bytes32` event pub fn log_named_bytes_32_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedBytes32Filter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedBytes32Filter, + > { self.0.event() } ///Gets the contract's `log_named_decimal_int` event pub fn log_named_decimal_int_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedDecimalIntFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedDecimalIntFilter, + > { self.0.event() } ///Gets the contract's `log_named_decimal_uint` event pub fn log_named_decimal_uint_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedDecimalUintFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedDecimalUintFilter, + > { self.0.event() } ///Gets the contract's `log_named_int` event pub fn log_named_int_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedIntFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedIntFilter, + > { self.0.event() } ///Gets the contract's `log_named_string` event pub fn log_named_string_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedStringFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedStringFilter, + > { self.0.event() } ///Gets the contract's `log_named_uint` event pub fn log_named_uint_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogNamedUintFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedUintFilter, + > { self.0.event() } ///Gets the contract's `log_string` event pub fn log_string_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogStringFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogStringFilter, + > { self.0.event() } ///Gets the contract's `log_uint` event @@ -974,15 +1288,16 @@ pub mod permit_signature { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, PermitSignatureEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + PermitSignatureEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for PermitSignature - { + for PermitSignature { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -991,11 +1306,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log", abi = "log(string)")] pub struct LogFilter(pub ::std::string::String); @@ -1003,11 +1320,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_address", abi = "log_address(address)")] pub struct LogAddressFilter(pub ::ethers::core::types::Address); @@ -1015,11 +1334,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_array", abi = "log_array(uint256[])")] pub struct LogArray1Filter { @@ -1029,11 +1350,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_array", abi = "log_array(int256[])")] pub struct LogArray2Filter { @@ -1043,11 +1366,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_array", abi = "log_array(address[])")] pub struct LogArray3Filter { @@ -1057,11 +1382,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_bytes", abi = "log_bytes(bytes)")] pub struct LogBytesFilter(pub ::ethers::core::types::Bytes); @@ -1069,11 +1396,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_bytes32", abi = "log_bytes32(bytes32)")] pub struct LogBytes32Filter(pub [u8; 32]); @@ -1081,11 +1410,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_int", abi = "log_int(int256)")] pub struct LogIntFilter(pub ::ethers::core::types::I256); @@ -1093,11 +1424,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_address", abi = "log_named_address(string,address)")] pub struct LogNamedAddressFilter { @@ -1108,11 +1441,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_array", abi = "log_named_array(string,uint256[])")] pub struct LogNamedArray1Filter { @@ -1123,11 +1458,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_array", abi = "log_named_array(string,int256[])")] pub struct LogNamedArray2Filter { @@ -1138,11 +1475,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_array", abi = "log_named_array(string,address[])")] pub struct LogNamedArray3Filter { @@ -1153,11 +1492,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_bytes", abi = "log_named_bytes(string,bytes)")] pub struct LogNamedBytesFilter { @@ -1168,11 +1509,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_bytes32", abi = "log_named_bytes32(string,bytes32)")] pub struct LogNamedBytes32Filter { @@ -1183,11 +1526,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "log_named_decimal_int", @@ -1202,11 +1547,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "log_named_decimal_uint", @@ -1221,11 +1568,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_int", abi = "log_named_int(string,int256)")] pub struct LogNamedIntFilter { @@ -1236,11 +1585,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_string", abi = "log_named_string(string,string)")] pub struct LogNamedStringFilter { @@ -1251,11 +1602,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_named_uint", abi = "log_named_uint(string,uint256)")] pub struct LogNamedUintFilter { @@ -1266,11 +1619,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_string", abi = "log_string(string)")] pub struct LogStringFilter(pub ::std::string::String); @@ -1278,11 +1633,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "log_uint", abi = "log_uint(uint256)")] pub struct LogUintFilter(pub ::ethers::core::types::U256); @@ -1290,16 +1647,27 @@ pub mod permit_signature { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "logs", abi = "logs(bytes)")] pub struct LogsFilter(pub ::ethers::core::types::Bytes); ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum PermitSignatureEvents { LogFilter(LogFilter), LogAddressFilter(LogAddressFilter), @@ -1408,17 +1776,37 @@ pub mod permit_signature { Self::LogBytesFilter(element) => ::core::fmt::Display::fmt(element, f), Self::LogBytes32Filter(element) => ::core::fmt::Display::fmt(element, f), Self::LogIntFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedAddressFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedArray1Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedArray2Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedArray3Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedBytesFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedBytes32Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedDecimalIntFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedDecimalUintFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogNamedAddressFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray1Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray2Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray3Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedBytesFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedBytes32Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedDecimalIntFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedDecimalUintFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::LogNamedIntFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedStringFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedUintFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogNamedStringFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedUintFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::LogStringFilter(element) => ::core::fmt::Display::fmt(element, f), Self::LogUintFilter(element) => ::core::fmt::Display::fmt(element, f), Self::LogsFilter(element) => ::core::fmt::Display::fmt(element, f), @@ -1540,11 +1928,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "IS_TEST", abi = "IS_TEST()")] pub struct IsTestCall; @@ -1553,11 +1943,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "NAME_HASH", abi = "NAME_HASH()")] pub struct NameHashCall; @@ -1566,11 +1958,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "TYPE_HASH", abi = "TYPE_HASH()")] pub struct TypeHashCall; @@ -1579,11 +1973,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "excludeArtifacts", abi = "excludeArtifacts()")] pub struct ExcludeArtifactsCall; @@ -1592,24 +1988,43 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "excludeContracts", abi = "excludeContracts()")] pub struct ExcludeContractsCall; + ///Container type for all input parameters for the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "excludeSelectors", abi = "excludeSelectors()")] + pub struct ExcludeSelectorsCall; ///Container type for all input parameters for the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "excludeSenders", abi = "excludeSenders()")] pub struct ExcludeSendersCall; @@ -1618,11 +2033,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "failed", abi = "failed()")] pub struct FailedCall; @@ -1631,11 +2048,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "targetArtifactSelectors", abi = "targetArtifactSelectors()")] pub struct TargetArtifactSelectorsCall; @@ -1644,11 +2063,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "targetArtifacts", abi = "targetArtifacts()")] pub struct TargetArtifactsCall; @@ -1657,24 +2078,43 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "targetContracts", abi = "targetContracts()")] pub struct TargetContractsCall; + ///Container type for all input parameters for the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetInterfaces", abi = "targetInterfaces()")] + pub struct TargetInterfacesCall; ///Container type for all input parameters for the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "targetSelectors", abi = "targetSelectors()")] pub struct TargetSelectorsCall; @@ -1683,27 +2123,40 @@ pub mod permit_signature { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "targetSenders", abi = "targetSenders()")] pub struct TargetSendersCall; ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum PermitSignatureCalls { IsTest(IsTestCall), NameHash(NameHashCall), TypeHash(TypeHashCall), ExcludeArtifacts(ExcludeArtifactsCall), ExcludeContracts(ExcludeContractsCall), + ExcludeSelectors(ExcludeSelectorsCall), ExcludeSenders(ExcludeSendersCall), Failed(FailedCall), TargetArtifactSelectors(TargetArtifactSelectorsCall), TargetArtifacts(TargetArtifactsCall), TargetContracts(TargetContractsCall), + TargetInterfaces(TargetInterfacesCall), TargetSelectors(TargetSelectorsCall), TargetSenders(TargetSendersCall), } @@ -1712,55 +2165,74 @@ pub mod permit_signature { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::IsTest(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NameHash(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TypeHash(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExcludeArtifacts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExcludeContracts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExcludeSelectors(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ExcludeSenders(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Failed(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TargetArtifactSelectors(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TargetArtifacts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TargetContracts(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetInterfaces(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TargetSelectors(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TargetSenders(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1770,19 +2242,43 @@ pub mod permit_signature { fn encode(self) -> Vec { match self { Self::IsTest(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::NameHash(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TypeHash(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExcludeArtifacts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExcludeContracts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExcludeSenders(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::NameHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TypeHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeArtifacts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeContracts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeSelectors(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeSenders(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Failed(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::TargetArtifactSelectors(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TargetArtifacts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetContracts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetSelectors(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetSenders(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TargetArtifacts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetContracts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetInterfaces(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetSelectors(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetSenders(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -1794,11 +2290,15 @@ pub mod permit_signature { Self::TypeHash(element) => ::core::fmt::Display::fmt(element, f), Self::ExcludeArtifacts(element) => ::core::fmt::Display::fmt(element, f), Self::ExcludeContracts(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcludeSelectors(element) => ::core::fmt::Display::fmt(element, f), Self::ExcludeSenders(element) => ::core::fmt::Display::fmt(element, f), Self::Failed(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetArtifactSelectors(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetArtifactSelectors(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TargetArtifacts(element) => ::core::fmt::Display::fmt(element, f), Self::TargetContracts(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetInterfaces(element) => ::core::fmt::Display::fmt(element, f), Self::TargetSelectors(element) => ::core::fmt::Display::fmt(element, f), Self::TargetSenders(element) => ::core::fmt::Display::fmt(element, f), } @@ -1829,6 +2329,11 @@ pub mod permit_signature { Self::ExcludeContracts(value) } } + impl ::core::convert::From for PermitSignatureCalls { + fn from(value: ExcludeSelectorsCall) -> Self { + Self::ExcludeSelectors(value) + } + } impl ::core::convert::From for PermitSignatureCalls { fn from(value: ExcludeSendersCall) -> Self { Self::ExcludeSenders(value) @@ -1854,6 +2359,11 @@ pub mod permit_signature { Self::TargetContracts(value) } } + impl ::core::convert::From for PermitSignatureCalls { + fn from(value: TargetInterfacesCall) -> Self { + Self::TargetInterfaces(value) + } + } impl ::core::convert::From for PermitSignatureCalls { fn from(value: TargetSelectorsCall) -> Self { Self::TargetSelectors(value) @@ -1869,11 +2379,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct IsTestReturn(pub bool); ///Container type for all return fields from the `NAME_HASH` function with signature `NAME_HASH()` and selector `0x04622c2e` @@ -1881,11 +2393,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameHashReturn(pub [u8; 32]); ///Container type for all return fields from the `TYPE_HASH` function with signature `TYPE_HASH()` and selector `0x64d4c819` @@ -1893,11 +2407,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TypeHashReturn(pub [u8; 32]); ///Container type for all return fields from the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` @@ -1905,11 +2421,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExcludeArtifactsReturn { pub excluded_artifacts: ::std::vec::Vec<::std::string::String>, @@ -1919,25 +2437,45 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExcludeContractsReturn { pub excluded_contracts: ::std::vec::Vec<::ethers::core::types::Address>, } + ///Container type for all return fields from the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExcludeSelectorsReturn { + pub excluded_selectors: ::std::vec::Vec, + } ///Container type for all return fields from the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ExcludeSendersReturn { pub excluded_senders: ::std::vec::Vec<::ethers::core::types::Address>, @@ -1947,11 +2485,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FailedReturn(pub bool); ///Container type for all return fields from the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` @@ -1959,25 +2499,29 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TargetArtifactSelectorsReturn { - pub targeted_artifact_selectors: ::std::vec::Vec, + pub targeted_artifact_selectors: ::std::vec::Vec, } ///Container type for all return fields from the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TargetArtifactsReturn { pub targeted_artifacts: ::std::vec::Vec<::std::string::String>, @@ -1987,25 +2531,45 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TargetContractsReturn { pub targeted_contracts: ::std::vec::Vec<::ethers::core::types::Address>, } + ///Container type for all return fields from the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetInterfacesReturn { + pub targeted_interfaces: ::std::vec::Vec, + } ///Container type for all return fields from the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TargetSelectorsReturn { pub targeted_selectors: ::std::vec::Vec, @@ -2015,11 +2579,13 @@ pub mod permit_signature { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TargetSendersReturn { pub targeted_senders: ::std::vec::Vec<::ethers::core::types::Address>, diff --git a/crates/bindings-uniswapx/src/expected_balance_lib.rs b/crates/bindings-uniswapx/src/priority_fee_lib.rs similarity index 53% rename from crates/bindings-uniswapx/src/expected_balance_lib.rs rename to crates/bindings-uniswapx/src/priority_fee_lib.rs index 6d2aa21..4a82327 100644 --- a/crates/bindings-uniswapx/src/expected_balance_lib.rs +++ b/crates/bindings-uniswapx/src/priority_fee_lib.rs @@ -1,4 +1,4 @@ -pub use expected_balance_lib::*; +pub use priority_fee_lib::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: #[allow( @@ -7,90 +7,74 @@ pub use expected_balance_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] -pub mod expected_balance_lib { +pub mod priority_fee_lib { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, functions: ::std::collections::BTreeMap::new(), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InsufficientOutput"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("actualBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("expectedBalance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], - )]), + errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static EXPECTEDBALANCELIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PRIORITYFEELIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 4\x12\xAC\x9F\xCFh\xF2\xABq\x01\xDA\0\xC6\x93C\xE4\xDEe\xC9\xE0\x81\x9C\xB6y\xC6\xDE\xF3\xC6\xE9\xDF\x99MdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x98\x1F\xA6\x85s~9\xB4\xC6QSf\x9D\xFEcd.YF\x13!\x9D}\x90o\xFF\xB7\x06\xD0f\x84\xC0dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static EXPECTEDBALANCELIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static PRIORITYFEELIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 4\x12\xAC\x9F\xCFh\xF2\xABq\x01\xDA\0\xC6\x93C\xE4\xDEe\xC9\xE0\x81\x9C\xB6y\xC6\xDE\xF3\xC6\xE9\xDF\x99MdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x98\x1F\xA6\x85s~9\xB4\xC6QSf\x9D\xFEcd.YF\x13!\x9D}\x90o\xFF\xB7\x06\xD0f\x84\xC0dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static EXPECTEDBALANCELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct ExpectedBalanceLib(::ethers::contract::Contract); - impl ::core::clone::Clone for ExpectedBalanceLib { + pub static PRIORITYFEELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct PriorityFeeLib(::ethers::contract::Contract); + impl ::core::clone::Clone for PriorityFeeLib { fn clone(&self) -> Self { Self(::core::clone::Clone::clone(&self.0)) } } - impl ::core::ops::Deref for ExpectedBalanceLib { + impl ::core::ops::Deref for PriorityFeeLib { type Target = ::ethers::contract::Contract; fn deref(&self) -> &Self::Target { &self.0 } } - impl ::core::ops::DerefMut for ExpectedBalanceLib { + impl ::core::ops::DerefMut for PriorityFeeLib { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } - impl ::core::fmt::Debug for ExpectedBalanceLib { + impl ::core::fmt::Debug for PriorityFeeLib { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ExpectedBalanceLib)) + f.debug_tuple(::core::stringify!(PriorityFeeLib)) .field(&self.address()) .finish() } } - impl ExpectedBalanceLib { + impl PriorityFeeLib { /// Creates a new contract instance with the specified `ethers` client at /// `address`. The contract derefs to a `ethers::Contract` object. pub fn new>( address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - EXPECTEDBALANCELIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PRIORITYFEELIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -123,8 +107,8 @@ pub mod expected_balance_lib { ::ethers::contract::ContractError, > { let factory = ::ethers::contract::ContractFactory::new( - EXPECTEDBALANCELIB_ABI.clone(), - EXPECTEDBALANCELIB_BYTECODE.clone().into(), + PRIORITYFEELIB_ABI.clone(), + PRIORITYFEELIB_BYTECODE.clone().into(), client, ); let deployer = factory.deploy(constructor_args)?; @@ -133,29 +117,9 @@ pub mod expected_balance_lib { } } impl From<::ethers::contract::Contract> - for ExpectedBalanceLib - { + for PriorityFeeLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `InsufficientOutput` with signature `InsufficientOutput(uint256,uint256)` and selector `0x2c19b8b8` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror( - name = "InsufficientOutput", - abi = "InsufficientOutput(uint256,uint256)" - )] - pub struct InsufficientOutput { - pub actual_balance: ::ethers::core::types::U256, - pub expected_balance: ::ethers::core::types::U256, - } } diff --git a/crates/bindings-uniswapx/src/priority_order_lib.rs b/crates/bindings-uniswapx/src/priority_order_lib.rs new file mode 100644 index 0000000..f5508de --- /dev/null +++ b/crates/bindings-uniswapx/src/priority_order_lib.rs @@ -0,0 +1,125 @@ +pub use priority_order_lib::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod priority_order_lib { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::std::collections::BTreeMap::new(), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static PRIORITYORDERLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x06\xEE\xBA\xEA\xF5\x1D^\xCCi\t*\x8C\x1B\xCCOr\xF7E\x87\x12\xB0\xA5k\xE8Ij#d~\xB4\x87\x9DdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static PRIORITYORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x06\xEE\xBA\xEA\xF5\x1D^\xCCi\t*\x8C\x1B\xCCOr\xF7E\x87\x12\xB0\xA5k\xE8Ij#d~\xB4\x87\x9DdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static PRIORITYORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct PriorityOrderLib(::ethers::contract::Contract); + impl ::core::clone::Clone for PriorityOrderLib { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for PriorityOrderLib { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for PriorityOrderLib { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for PriorityOrderLib { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(PriorityOrderLib)) + .field(&self.address()) + .finish() + } + } + impl PriorityOrderLib { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + PRIORITYORDERLIB_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + PRIORITYORDERLIB_ABI.clone(), + PRIORITYORDERLIB_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + } + impl From<::ethers::contract::Contract> + for PriorityOrderLib { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } +} diff --git a/crates/bindings-uniswapx/src/priority_order_reactor.rs b/crates/bindings-uniswapx/src/priority_order_reactor.rs new file mode 100644 index 0000000..8de9c5b --- /dev/null +++ b/crates/bindings-uniswapx/src/priority_order_reactor.rs @@ -0,0 +1,1669 @@ +pub use priority_order_reactor::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod priority_order_reactor { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_permit2"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_protocolFeeOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("feeController"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("owner"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("permit2"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferOwnership"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Fill"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InputOutputScaling"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputOutputScaling"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidDeadline"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidDeadline"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidGasPrice"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidGasPrice"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidReactor"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("OrderNotFillable"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("OrderNotFillable"), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: true, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static PRIORITYORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x001\xB78\x03\x80b\x001\xB7\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa0\x9Eb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x19\x19\x01Ra0\x9E`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a \xDCV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a!\x8AV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a!\xCCV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"eV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\"\x89V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"eV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xAFV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a%\xBEV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B^V[a\x04\xB5\x81a\x0B\xAFV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xAFV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B^V[a\x08\x86\x81a\x0B\xAFV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a%\xFCV[\x81\x01\x90a\n|\x91\x90a)\xC8V[\x90P`\0a\n\x89\x82a\r\x02V[\x90P\x81`@\x01QC\x10\x15a\n\xA1Wa\n\xA1\x81\x83a\x0E\x15V[a\n\xAA\x82a\x0F\xFEV[`\0a\n\xB9\x83``\x01Qa\x10\xFDV[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE7\x83\x86`\x80\x01Qa\x11R\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x03\x83\x86`\xA0\x01Qa\x12I\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x18\x91\x90a%\xFCV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x7FWa\x0B\x7Fa\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0B\x92\x81a\x13.V[a\x0B\x9C\x813a\x18\x1EV[a\x0B\xA6\x813a\x19\x17V[P`\x01\x01a\x0BcV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF1W`\0\x83\x82\x81Q\x81\x10a\x0B\xD0Wa\x0B\xD0a\"\xF5V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CQW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x07Wa\x0C\x07a\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0CH\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Bp\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE7V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9AWa\x0C\x9Aa\"\xF5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xDF\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB4V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\xB7V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\ra\x93\x92\x91\x90a*\xC9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x84\x83`\0\x01Qa\x1CQV[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xA0\x87`\x80\x01Qa\x1C\xEBV[a\r\xAD\x88`\xA0\x01Qa\x1DRV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\xC0\x81\x01QQ`\0\x03a\x0E&WPPV[`@\x81\x01Q`\xC0\x82\x01QQ\x10\x15a\x0ECW`\xC0\x81\x01QQ`@\x82\x01R[`\0\x80\x82`\xE0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0E^\x91\x90a,\x1FV[\x91P\x91P`\0\x83`\xE0\x01Q`@\x81Q\x81\x10a\x0E{Wa\x0E{a\"\xF5V[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\xC0\x01Q`@Q` \x01a\x0E\xA8\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0E\xE4\x92\x91` \x01a,CV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x0F`W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x0F\xBFWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x0F\xF6W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[\x80Q``\x01QB\x11\x15a\x10=W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81`@\x01Q\x11\x15a\x10{W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q`@\x01Q\x15a\x08\x91W`\0[\x81`\xA0\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82`\xA0\x01Q\x82\x81Q\x81\x10a\x10\xB1Wa\x10\xB1a\"\xF5V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x10\xF5W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x10\x8CV[`\0H:\x10\x15a\x119W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x11IW\x03\x90V[P`\0[\x91\x90PV[a\x11\x8C`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x11\x9E\x91\x90a,\x98V[\x90Pb\x98\x96\x80\x81\x10a\x11\xECW`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x12CV[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01a\x124a\x12%\x84b\x98\x96\x80a,\xAFV[` \x88\x01Q\x90b\x98\x96\x80a\x1D\xF0V[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12gWa\x12ga\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\xD0W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x12\x85W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13&Wa\x13\x01\x85\x82\x81Q\x81\x10a\x12\xF3Wa\x12\xF3a\"\xF5V[` \x02` \x01\x01Q\x85a\x1E,V[\x83\x82\x81Q\x81\x10a\x13\x13Wa\x13\x13a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x12\xD6V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x13NWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x13\xA5\x90\x85\x90`\x04\x01a,\xC2V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xC2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\x08\x91\x90\x81\x01\x90a,\xD5V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14 \x82\x84a-\xA5V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x148Wa\x148a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\xA1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14VW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xF2W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a\"\xF5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xDFWa\x14\xDFa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\xA7V[P`\0\x80`\0[\x84\x81\x10\x15a\x18\rW`\0\x87\x82\x81Q\x81\x10a\x15\x15Wa\x15\x15a\"\xF5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xD3W\x88\x81\x81Q\x81\x10a\x15=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xD7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\x1A\x82\x93\x92\x91\x90a*\xC9V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a/S` \x83\x019`@Q` \x01a\x1A\xD5\x92\x91\x90a-\xE7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1BB\x96\x95\x94\x93\x92`\x04\x01a.BV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1B\\W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xF6W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\x95Wa\x03_\x82\x82a\x1B\xB7V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1E\xCEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1C\x11W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1C\x16V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\r\xF8\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\r\xF8\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DrWa\x1Dra\"\xC6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1D\x9CW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1D\xE1W`\0a\x1D\xCF\x85\x83\x81Q\x81\x10a\x1D\xC2Wa\x1D\xC2a\"\xF5V[` \x02` \x01\x01Qa\x1F\xC0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1D\xA2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1E%W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1E\xA3\x85`@\x01Q\x85a\x1E\x87\x91\x90a,\x98V[a\x1E\x94\x90b\x98\x96\x80a-\xA5V[` \x87\x01Q\x90b\x98\x96\x80a 7V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1F\xB9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\r\xF8\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a lW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a \x8DW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a \xA5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xBDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a \xF1W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\tW`\0\x80\xFD[a!\x15\x87\x83\x88\x01a {V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!+W`\0\x80\xFD[Pa!8\x86\x82\x87\x01a \x93V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a!\x9DW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\xB4W`\0\x80\xFD[a!\xC0\x85\x82\x86\x01a!EV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a!\xE2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xFAW`\0\x80\xFD[a\"\x06\x88\x83\x89\x01a!EV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\x1FW`\0\x80\xFD[Pa\",\x87\x82\x88\x01a \x93V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x11M\x81a\"8V[`\0` \x82\x84\x03\x12\x15a\"wW`\0\x80\xFD[\x815a\"\x82\x81a\"8V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\"\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xB2W`\0\x80\xFD[a\"\xBE\x84\x82\x85\x01a {V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#?W\x81\x81\x01Q\x83\x82\x01R` \x01a#'V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#`\x81` \x86\x01` \x86\x01a#$V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a#\xF2W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xA7V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$qa\x01\xA0\x85\x01\x82a#HV[\x90P` \x83\x01Qa$\xAF` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xC7\x82\x82a#\x92V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra$\xE1\x82\x82a#HV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%mW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%[\x86\x83Qa#\xFDV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%!V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a%\xF2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&1W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&LW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a \xD5W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\x18Wa'\x18a\"\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'KWa'Ka\"\xC6V[a'|` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a&\xD1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a'\x91W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a'\xC0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a'\xE4Wa'\xE4a\"\xC6V[\x81`@R\x82\x93P\x845\x91Pa'\xF8\x82a\"8V[\x90\x82R` \x84\x015\x90a(\n\x82a\"8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa(4\x82a\"8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a(NW`\0\x80\xFD[Pa([\x85\x82\x86\x01a' V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a(zW`\0\x80\xFD[a(\x82a&aV[\x90P\x815a(\x8F\x81a\"8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xC7Wa(\xC7a\"\xC6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a(\xE2W`\0\x80\xFD[\x815` a(\xF7a(\xF2\x83a(\xADV[a&\xD1V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a)\x16W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a){W`\x80\x81\x89\x03\x12\x15a)3W`\0\x80\x81\xFD[a);a&\x8AV[\x815a)F\x81a\"8V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a)i\x81a\"8V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a)\x1AV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a)\x98W`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a)\xBBWa)\xBBa\"\xC6V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xDAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a)\xF2W`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a*\x07W`\0\x80\xFD[a*\x0Fa&\xADV[\x825\x82\x81\x11\x15a*\x1EW`\0\x80\xFD[a**\x87\x82\x86\x01a'\xAEV[\x82RPa*9` \x84\x01a\"ZV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra*_\x86`\x80\x85\x01a(hV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a*vW`\0\x80\xFD[a*\x82\x87\x82\x86\x01a(\xD1V[`\xA0\x83\x01RPa*\x96\x86a\x01\0\x85\x01a)\x86V[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a*\xAEW`\0\x80\xFD[a*\xBA\x87\x82\x86\x01a' V[`\xE0\x83\x01RP\x95\x94PPPPPV[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`.\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`H\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`g\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`{\x82\x01R`\0\x84Qa+\xE5\x81`\x94\x85\x01` \x89\x01a#$V[\x84Q\x90\x83\x01\x90a+\xFC\x81`\x94\x84\x01` \x89\x01a#$V[\x84Q\x91\x01\x90a,\x12\x81`\x94\x84\x01` \x88\x01a#$V[\x01`\x94\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a,2W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x82\x81R`\0\x82Qa,[\x81` \x85\x01` \x87\x01a#$V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x12CWa\x12Ca,iV[\x81\x81\x03\x81\x81\x11\x15a\x12CWa\x12Ca,iV[` \x81R`\0a\"\x82` \x83\x01\x84a#\xFDV[`\0` \x80\x83\x85\x03\x12\x15a,\xE8W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xFFW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x10W`\0\x80\xFD[\x80Qa-\x1Ea(\xF2\x82a(\xADV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-=W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x99W\x80\x85\x8A\x03\x12\x15a-ZW`\0\x80\x81\xFD[a-ba&aV[\x85Qa-m\x81a\"8V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-\x86\x81a\"8V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-BV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x12CWa\x12Ca,iV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\"\xBE`@\x83\x01\x84a#\xFDV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa.\x1F\x81`\x16\x85\x01` \x88\x01a#$V[\x83Q\x90\x83\x01\x90a.6\x81`\x16\x84\x01` \x88\x01a#$V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a.r\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xB3`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xE8\x81\x84\x01\x86a#HV[\x90P\x82\x81\x03a\x01 \x84\x01Ra.\xFD\x81\x85a#HV[\x99\x98PPPPPPPPPV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 \x01W\xF6@\xB2\xA3d\x16\x95\x13\x82>\x9B\xC0N\x14\x03\xE4\x05\xF2Y>\xFBJ(\xBEM\xF1\x9BW\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a \xDCV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a!\x8AV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a!\xCCV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"eV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\"\x89V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"eV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xAFV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a%\xBEV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B^V[a\x04\xB5\x81a\x0B\xAFV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xAFV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B^V[a\x08\x86\x81a\x0B\xAFV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a%\xFCV[\x81\x01\x90a\n|\x91\x90a)\xC8V[\x90P`\0a\n\x89\x82a\r\x02V[\x90P\x81`@\x01QC\x10\x15a\n\xA1Wa\n\xA1\x81\x83a\x0E\x15V[a\n\xAA\x82a\x0F\xFEV[`\0a\n\xB9\x83``\x01Qa\x10\xFDV[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE7\x83\x86`\x80\x01Qa\x11R\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x03\x83\x86`\xA0\x01Qa\x12I\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x18\x91\x90a%\xFCV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x7FWa\x0B\x7Fa\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0B\x92\x81a\x13.V[a\x0B\x9C\x813a\x18\x1EV[a\x0B\xA6\x813a\x19\x17V[P`\x01\x01a\x0BcV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF1W`\0\x83\x82\x81Q\x81\x10a\x0B\xD0Wa\x0B\xD0a\"\xF5V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CQW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x07Wa\x0C\x07a\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0CH\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Bp\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE7V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9AWa\x0C\x9Aa\"\xF5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xDF\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB4V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\xB7V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\ra\x93\x92\x91\x90a*\xC9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x84\x83`\0\x01Qa\x1CQV[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xA0\x87`\x80\x01Qa\x1C\xEBV[a\r\xAD\x88`\xA0\x01Qa\x1DRV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\xC0\x81\x01QQ`\0\x03a\x0E&WPPV[`@\x81\x01Q`\xC0\x82\x01QQ\x10\x15a\x0ECW`\xC0\x81\x01QQ`@\x82\x01R[`\0\x80\x82`\xE0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0E^\x91\x90a,\x1FV[\x91P\x91P`\0\x83`\xE0\x01Q`@\x81Q\x81\x10a\x0E{Wa\x0E{a\"\xF5V[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\xC0\x01Q`@Q` \x01a\x0E\xA8\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0E\xE4\x92\x91` \x01a,CV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x0F`W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x0F\xBFWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x0F\xF6W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[\x80Q``\x01QB\x11\x15a\x10=W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81`@\x01Q\x11\x15a\x10{W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q`@\x01Q\x15a\x08\x91W`\0[\x81`\xA0\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82`\xA0\x01Q\x82\x81Q\x81\x10a\x10\xB1Wa\x10\xB1a\"\xF5V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x10\xF5W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x10\x8CV[`\0H:\x10\x15a\x119W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x11IW\x03\x90V[P`\0[\x91\x90PV[a\x11\x8C`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x11\x9E\x91\x90a,\x98V[\x90Pb\x98\x96\x80\x81\x10a\x11\xECW`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x12CV[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01a\x124a\x12%\x84b\x98\x96\x80a,\xAFV[` \x88\x01Q\x90b\x98\x96\x80a\x1D\xF0V[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12gWa\x12ga\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\xD0W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x12\x85W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13&Wa\x13\x01\x85\x82\x81Q\x81\x10a\x12\xF3Wa\x12\xF3a\"\xF5V[` \x02` \x01\x01Q\x85a\x1E,V[\x83\x82\x81Q\x81\x10a\x13\x13Wa\x13\x13a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x12\xD6V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x13NWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x13\xA5\x90\x85\x90`\x04\x01a,\xC2V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xC2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\x08\x91\x90\x81\x01\x90a,\xD5V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14 \x82\x84a-\xA5V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x148Wa\x148a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\xA1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14VW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xF2W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a\"\xF5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xDFWa\x14\xDFa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\xA7V[P`\0\x80`\0[\x84\x81\x10\x15a\x18\rW`\0\x87\x82\x81Q\x81\x10a\x15\x15Wa\x15\x15a\"\xF5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xD3W\x88\x81\x81Q\x81\x10a\x15=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xD7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\x1A\x82\x93\x92\x91\x90a*\xC9V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a/S` \x83\x019`@Q` \x01a\x1A\xD5\x92\x91\x90a-\xE7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1BB\x96\x95\x94\x93\x92`\x04\x01a.BV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1B\\W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xF6W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\x95Wa\x03_\x82\x82a\x1B\xB7V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1E\xCEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1C\x11W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1C\x16V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\r\xF8\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\r\xF8\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DrWa\x1Dra\"\xC6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1D\x9CW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1D\xE1W`\0a\x1D\xCF\x85\x83\x81Q\x81\x10a\x1D\xC2Wa\x1D\xC2a\"\xF5V[` \x02` \x01\x01Qa\x1F\xC0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1D\xA2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1E%W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1E\xA3\x85`@\x01Q\x85a\x1E\x87\x91\x90a,\x98V[a\x1E\x94\x90b\x98\x96\x80a-\xA5V[` \x87\x01Q\x90b\x98\x96\x80a 7V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1F\xB9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\r\xF8\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a lW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a \x8DW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a \xA5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xBDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a \xF1W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\tW`\0\x80\xFD[a!\x15\x87\x83\x88\x01a {V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!+W`\0\x80\xFD[Pa!8\x86\x82\x87\x01a \x93V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a!\x9DW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\xB4W`\0\x80\xFD[a!\xC0\x85\x82\x86\x01a!EV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a!\xE2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xFAW`\0\x80\xFD[a\"\x06\x88\x83\x89\x01a!EV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\x1FW`\0\x80\xFD[Pa\",\x87\x82\x88\x01a \x93V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x11M\x81a\"8V[`\0` \x82\x84\x03\x12\x15a\"wW`\0\x80\xFD[\x815a\"\x82\x81a\"8V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\"\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xB2W`\0\x80\xFD[a\"\xBE\x84\x82\x85\x01a {V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#?W\x81\x81\x01Q\x83\x82\x01R` \x01a#'V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#`\x81` \x86\x01` \x86\x01a#$V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a#\xF2W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xA7V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$qa\x01\xA0\x85\x01\x82a#HV[\x90P` \x83\x01Qa$\xAF` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xC7\x82\x82a#\x92V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra$\xE1\x82\x82a#HV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%mW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%[\x86\x83Qa#\xFDV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%!V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a%\xF2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&1W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&LW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a \xD5W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\x18Wa'\x18a\"\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'KWa'Ka\"\xC6V[a'|` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a&\xD1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a'\x91W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a'\xC0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a'\xE4Wa'\xE4a\"\xC6V[\x81`@R\x82\x93P\x845\x91Pa'\xF8\x82a\"8V[\x90\x82R` \x84\x015\x90a(\n\x82a\"8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa(4\x82a\"8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a(NW`\0\x80\xFD[Pa([\x85\x82\x86\x01a' V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a(zW`\0\x80\xFD[a(\x82a&aV[\x90P\x815a(\x8F\x81a\"8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xC7Wa(\xC7a\"\xC6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a(\xE2W`\0\x80\xFD[\x815` a(\xF7a(\xF2\x83a(\xADV[a&\xD1V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a)\x16W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a){W`\x80\x81\x89\x03\x12\x15a)3W`\0\x80\x81\xFD[a);a&\x8AV[\x815a)F\x81a\"8V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a)i\x81a\"8V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a)\x1AV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a)\x98W`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a)\xBBWa)\xBBa\"\xC6V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xDAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a)\xF2W`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a*\x07W`\0\x80\xFD[a*\x0Fa&\xADV[\x825\x82\x81\x11\x15a*\x1EW`\0\x80\xFD[a**\x87\x82\x86\x01a'\xAEV[\x82RPa*9` \x84\x01a\"ZV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra*_\x86`\x80\x85\x01a(hV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a*vW`\0\x80\xFD[a*\x82\x87\x82\x86\x01a(\xD1V[`\xA0\x83\x01RPa*\x96\x86a\x01\0\x85\x01a)\x86V[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a*\xAEW`\0\x80\xFD[a*\xBA\x87\x82\x86\x01a' V[`\xE0\x83\x01RP\x95\x94PPPPPV[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`.\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`H\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`g\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`{\x82\x01R`\0\x84Qa+\xE5\x81`\x94\x85\x01` \x89\x01a#$V[\x84Q\x90\x83\x01\x90a+\xFC\x81`\x94\x84\x01` \x89\x01a#$V[\x84Q\x91\x01\x90a,\x12\x81`\x94\x84\x01` \x88\x01a#$V[\x01`\x94\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a,2W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x82\x81R`\0\x82Qa,[\x81` \x85\x01` \x87\x01a#$V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x12CWa\x12Ca,iV[\x81\x81\x03\x81\x81\x11\x15a\x12CWa\x12Ca,iV[` \x81R`\0a\"\x82` \x83\x01\x84a#\xFDV[`\0` \x80\x83\x85\x03\x12\x15a,\xE8W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xFFW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x10W`\0\x80\xFD[\x80Qa-\x1Ea(\xF2\x82a(\xADV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-=W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x99W\x80\x85\x8A\x03\x12\x15a-ZW`\0\x80\x81\xFD[a-ba&aV[\x85Qa-m\x81a\"8V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-\x86\x81a\"8V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-BV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x12CWa\x12Ca,iV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\"\xBE`@\x83\x01\x84a#\xFDV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa.\x1F\x81`\x16\x85\x01` \x88\x01a#$V[\x83Q\x90\x83\x01\x90a.6\x81`\x16\x84\x01` \x88\x01a#$V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a.r\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xB3`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xE8\x81\x84\x01\x86a#HV[\x90P\x82\x81\x03a\x01 \x84\x01Ra.\xFD\x81\x85a#HV[\x99\x98PPPPPPPPPV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 \x01W\xF6@\xB2\xA3d\x16\x95\x13\x82>\x9B\xC0N\x14\x03\xE4\x05\xF2Y>\xFBJ(\xBEM\xF1\x9B(::ethers::contract::Contract); + impl ::core::clone::Clone for PriorityOrderReactor { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for PriorityOrderReactor { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for PriorityOrderReactor { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for PriorityOrderReactor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(PriorityOrderReactor)) + .field(&self.address()) + .finish() + } + } + impl PriorityOrderReactor { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + PRIORITYORDERREACTOR_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + PRIORITYORDERREACTOR_ABI.clone(), + PRIORITYORDERREACTOR_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( + &self, + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([63, 98, 25, 46], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( + &self, + orders: ::std::vec::Vec, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 122, 22, 195], orders) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( + &self, + orders: ::std::vec::Vec, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `feeController` (0x6999b377) function + pub fn fee_controller( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([105, 153, 179, 119], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `owner` (0x8da5cb5b) function + pub fn owner( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([141, 165, 203, 91], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `permit2` (0x12261ee7) function + pub fn permit_2( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([18, 38, 30, 231], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setProtocolFeeController` (0x2d771389) function + pub fn set_protocol_fee_controller( + &self, + new_fee_controller: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([45, 119, 19, 137], new_fee_controller) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferOwnership` (0xf2fde38b) function + pub fn transfer_ownership( + &self, + new_owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([242, 253, 227, 139], new_owner) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Fill` event + pub fn fill_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, FillFilter> { + self.0.event() + } + ///Gets the contract's `OwnershipTransferred` event + pub fn ownership_transferred_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event() + } + ///Gets the contract's `ProtocolFeeControllerSet` event + pub fn protocol_fee_controller_set_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ProtocolFeeControllerSetFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + PriorityOrderReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for PriorityOrderReactor { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] + pub struct DuplicateFeeOutput { + pub duplicate_token: ::ethers::core::types::Address, + } + ///Custom Error type `FeeTooLarge` with signature `FeeTooLarge(address,uint256,address)` and selector `0x82e75656` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] + pub struct FeeTooLarge { + pub token: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + pub recipient: ::ethers::core::types::Address, + } + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; + ///Custom Error type `InputOutputScaling` with signature `InputOutputScaling()` and selector `0xa6b844f5` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InputOutputScaling", abi = "InputOutputScaling()")] + pub struct InputOutputScaling; + ///Custom Error type `InvalidCosignature` with signature `InvalidCosignature()` and selector `0xd7815be1` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignature", abi = "InvalidCosignature()")] + pub struct InvalidCosignature; + ///Custom Error type `InvalidDeadline` with signature `InvalidDeadline()` and selector `0x769d11e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidDeadline", abi = "InvalidDeadline()")] + pub struct InvalidDeadline; + ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] + pub struct InvalidFeeToken { + pub fee_token: ::ethers::core::types::Address, + } + ///Custom Error type `InvalidGasPrice` with signature `InvalidGasPrice()` and selector `0xf3eb44e5` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidGasPrice", abi = "InvalidGasPrice()")] + pub struct InvalidGasPrice; + ///Custom Error type `InvalidReactor` with signature `InvalidReactor()` and selector `0x4ddf4a64` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] + pub struct InvalidReactor; + ///Custom Error type `NativeTransferFailed` with signature `NativeTransferFailed()` and selector `0xf4b3b1bc` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] + pub struct NativeTransferFailed; + ///Custom Error type `OrderNotFillable` with signature `OrderNotFillable()` and selector `0xc6035520` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "OrderNotFillable", abi = "OrderNotFillable()")] + pub struct OrderNotFillable; + ///Container type for all of the contract's custom errors + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum PriorityOrderReactorErrors { + DuplicateFeeOutput(DuplicateFeeOutput), + FeeTooLarge(FeeTooLarge), + InputAndOutputFees(InputAndOutputFees), + InputOutputScaling(InputOutputScaling), + InvalidCosignature(InvalidCosignature), + InvalidDeadline(InvalidDeadline), + InvalidFeeToken(InvalidFeeToken), + InvalidGasPrice(InvalidGasPrice), + InvalidReactor(InvalidReactor), + NativeTransferFailed(NativeTransferFailed), + OrderNotFillable(OrderNotFillable), + /// The standard solidity revert string, with selector + /// Error(string) -- 0x08c379a0 + RevertString(::std::string::String), + } + impl ::ethers::core::abi::AbiDecode for PriorityOrderReactorErrors { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { + return Ok(Self::RevertString(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::DuplicateFeeOutput(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeTooLarge(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputOutputScaling(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidCosignature(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidDeadline(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidFeeToken(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidGasPrice(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidReactor(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::NativeTransferFailed(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OrderNotFillable(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for PriorityOrderReactorErrors { + fn encode(self) -> ::std::vec::Vec { + match self { + Self::DuplicateFeeOutput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputOutputScaling(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidCosignature(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidDeadline(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidGasPrice(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::NativeTransferFailed(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::OrderNotFillable(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), + } + } + } + impl ::ethers::contract::ContractRevert for PriorityOrderReactorErrors { + fn valid_selector(selector: [u8; 4]) -> bool { + match selector { + [0x08, 0xc3, 0x79, 0xa0] => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ => false, + } + } + } + impl ::core::fmt::Display for PriorityOrderReactorErrors { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InputOutputScaling(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidCosignature(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidDeadline(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidGasPrice(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::OrderNotFillable(element) => ::core::fmt::Display::fmt(element, f), + Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), + } + } + } + impl ::core::convert::From<::std::string::String> for PriorityOrderReactorErrors { + fn from(value: String) -> Self { + Self::RevertString(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: DuplicateFeeOutput) -> Self { + Self::DuplicateFeeOutput(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: FeeTooLarge) -> Self { + Self::FeeTooLarge(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InputOutputScaling) -> Self { + Self::InputOutputScaling(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InvalidCosignature) -> Self { + Self::InvalidCosignature(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InvalidDeadline) -> Self { + Self::InvalidDeadline(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InvalidFeeToken) -> Self { + Self::InvalidFeeToken(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InvalidGasPrice) -> Self { + Self::InvalidGasPrice(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: InvalidReactor) -> Self { + Self::InvalidReactor(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: NativeTransferFailed) -> Self { + Self::NativeTransferFailed(value) + } + } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: OrderNotFillable) -> Self { + Self::OrderNotFillable(value) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] + pub struct FillFilter { + #[ethevent(indexed)] + pub order_hash: [u8; 32], + #[ethevent(indexed)] + pub filler: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub swapper: ::ethers::core::types::Address, + pub nonce: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "OwnershipTransferred", + abi = "OwnershipTransferred(address,address)" + )] + pub struct OwnershipTransferredFilter { + #[ethevent(indexed)] + pub user: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub new_owner: ::ethers::core::types::Address, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "ProtocolFeeControllerSet", + abi = "ProtocolFeeControllerSet(address,address)" + )] + pub struct ProtocolFeeControllerSetFilter { + pub old_fee_controller: ::ethers::core::types::Address, + pub new_fee_controller: ::ethers::core::types::Address, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum PriorityOrderReactorEvents { + FillFilter(FillFilter), + OwnershipTransferredFilter(OwnershipTransferredFilter), + ProtocolFeeControllerSetFilter(ProtocolFeeControllerSetFilter), + } + impl ::ethers::contract::EthLogDecode for PriorityOrderReactorEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = FillFilter::decode_log(log) { + return Ok(PriorityOrderReactorEvents::FillFilter(decoded)); + } + if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { + return Ok( + PriorityOrderReactorEvents::OwnershipTransferredFilter(decoded), + ); + } + if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { + return Ok( + PriorityOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for PriorityOrderReactorEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ProtocolFeeControllerSetFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + } + } + } + impl ::core::convert::From for PriorityOrderReactorEvents { + fn from(value: FillFilter) -> Self { + Self::FillFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorEvents { + fn from(value: OwnershipTransferredFilter) -> Self { + Self::OwnershipTransferredFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorEvents { + fn from(value: ProtocolFeeControllerSetFilter) -> Self { + Self::ProtocolFeeControllerSetFilter(value) + } + } + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + } + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" + )] + pub struct ExecuteBatchWithCallbackCall { + pub orders: ::std::vec::Vec, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "feeController", abi = "feeController()")] + pub struct FeeControllerCall; + ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "owner", abi = "owner()")] + pub struct OwnerCall; + ///Container type for all input parameters for the `permit2` function with signature `permit2()` and selector `0x12261ee7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "permit2", abi = "permit2()")] + pub struct Permit2Call; + ///Container type for all input parameters for the `setProtocolFeeController` function with signature `setProtocolFeeController(address)` and selector `0x2d771389` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "setProtocolFeeController", + abi = "setProtocolFeeController(address)" + )] + pub struct SetProtocolFeeControllerCall { + pub new_fee_controller: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] + pub struct TransferOwnershipCall { + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum PriorityOrderReactorCalls { + Execute(ExecuteCall), + ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), + FeeController(FeeControllerCall), + Owner(OwnerCall), + Permit2(Permit2Call), + SetProtocolFeeController(SetProtocolFeeControllerCall), + TransferOwnership(TransferOwnershipCall), + } + impl ::ethers::core::abi::AbiDecode for PriorityOrderReactorCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatch(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeController(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Owner(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Permit2(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetProtocolFeeController(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferOwnership(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for PriorityOrderReactorCalls { + fn encode(self) -> Vec { + match self { + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetProtocolFeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for PriorityOrderReactorCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::Owner(element) => ::core::fmt::Display::fmt(element, f), + Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: ExecuteBatchCall) -> Self { + Self::ExecuteBatch(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: FeeControllerCall) -> Self { + Self::FeeController(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: OwnerCall) -> Self { + Self::Owner(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: Permit2Call) -> Self { + Self::Permit2(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorCalls { + fn from(value: SetProtocolFeeControllerCall) -> Self { + Self::SetProtocolFeeController(value) + } + } + impl ::core::convert::From for PriorityOrderReactorCalls { + fn from(value: TransferOwnershipCall) -> Self { + Self::TransferOwnership(value) + } + } + ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeeControllerReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct Permit2Return(pub ::ethers::core::types::Address); +} diff --git a/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs b/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs new file mode 100644 index 0000000..bdf1ec1 --- /dev/null +++ b/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs @@ -0,0 +1,2988 @@ +pub use priority_order_reactor_integration::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod priority_order_reactor_integration { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("IS_TEST"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_TEST"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NAME_HASH"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("NAME_HASH"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("TYPE_HASH"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("TYPE_HASH"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("excludeArtifacts"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeArtifacts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedArtifacts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("excludeContracts"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeContracts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedContracts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("excludeSelectors"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeSelectors"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "excludedSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("excludeSenders"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("excludeSenders"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("excludedSenders_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("failed"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("failed"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("run"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setUp"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("submitLoserExecution"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "submitLoserExecution", + ), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("submitRunnerUpExecution"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "submitRunnerUpExecution", + ), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("submitWinnerExecution"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "submitWinnerExecution", + ), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetArtifactSelectors"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "targetArtifactSelectors", + ), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedArtifactSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::String, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzArtifactSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetArtifacts"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetArtifacts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedArtifacts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetContracts"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetContracts"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedContracts_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetInterfaces"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetInterfaces"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedInterfaces_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::String, + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzInterface[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetSelectors"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetSelectors"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "targetedSelectors_", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), + ), + ), + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct StdInvariant.FuzzSelector[]", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("targetSenders"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("targetSenders"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("targetedSenders_"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address[]"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("log"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_address"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_array"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Int(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_bytes"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_bytes"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_bytes32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_bytes32"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_int"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_int"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_address"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_array"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Uint(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Int(256usize), + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_array"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Address, + ), + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_bytes"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_bytes"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_bytes32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_bytes32"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_decimal_int"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "log_named_decimal_int", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("decimals"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_decimal_uint"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "log_named_decimal_uint", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("decimals"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_int"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_int"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_string"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_string"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_named_uint"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_named_uint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("key"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("val"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_string"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_string"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("log_uint"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("log_uint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("logs"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("logs"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static PRIORITYORDERREACTORINTEGRATION_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@\x81\x90R`\x0C\x80T`\xFF\x19\x16`\x01\x17\x90U`\x1F\x80Ta\x01\x01a\xFF\xFF\x19\x90\x91\x16\x17\x90U`\x12\x90b\0\x002\x90b\0\0\xF0V[b\0\0>\x91\x90b\0\0\xFEV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0[W=`\0\x80>=`\0\xFD[P`\x1F`\x02a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x12`@Qb\0\0\x92\x90b\0\0\xF0V[b\0\0\x9E\x91\x90b\0\x01YV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0\xBBW=`\0\x80>=`\0\xFD[P` \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90U4\x80\x15b\0\0\xE9W`\0\x80\xFD[Pb\0\x01\xA0V[a\x126\x80b\0\x88\xC0\x839\x01\x90V[``\x81R`\0b\0\x01#``\x83\x01`\x04\x81Rc\n\xE8\xAA\x89`\xE3\x1B` \x82\x01R`@\x01\x90V[\x82\x81\x03` \x84\x01Rb\0\x01G\x81`\x04\x81Rc\n\xE8\xAA\x89`\xE3\x1B` \x82\x01R`@\x01\x90V[\x91PP`\xFF\x83\x16`@\x83\x01R\x92\x91PPV[``\x81R`\0b\0\x01}``\x83\x01`\x03\x81RbDAI`\xE8\x1B` \x82\x01R`@\x01\x90V[\x82\x81\x03` \x84\x01Rb\0\x01G\x81`\x03\x81RbDAI`\xE8\x1B` \x82\x01R`@\x01\x90V[a\x87\x10\x80b\0\x01\xB0`\09`\0\xF3\xFE`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\x01\x89W`\x005`\xE0\x1C\x80c\x91j\x17\xC6\x11b\0\0\xDDW\x80c\xC0@b&\x11b\0\0\x8BW\x80c\xF8\xCC\xBFG\x11b\0\0nW\x80c\xF8\xCC\xBFG\x14b\0\x02\xDBW\x80c\xFAv&\xD4\x14b\0\x02\xE9W\x80c\xFBs\xBA#\x14b\0\x02\xFCW`\0\x80\xFD[\x80c\xC0@b&\x14b\0\x01\xD3W\x80c\xE2\x0C\x9Fq\x14b\0\x02\xD1W`\0\x80\xFD[\x80c\xB0FO\xDC\x11b\0\0\xC0W\x80c\xB0FO\xDC\x14b\0\x02\xA2W\x80c\xB5P\x8A\xA9\x14b\0\x02\xACW\x80c\xBAAO\xA6\x14b\0\x02\xB6W`\0\x80\xFD[\x80c\x91j\x17\xC6\x14b\0\x02\x7FW\x80c\xA69 \xCC\x14b\0\x02\x98W`\0\x80\xFD[\x80c>^<#\x11b\0\x01;W\x80cd\xD4\xC8\x19\x11b\0\x01\x1EW\x80cd\xD4\xC8\x19\x14b\0\x02%W\x80cf\xD9\xA9\xA0\x14b\0\x02MW\x80c\x85\"l\x81\x14b\0\x02fW`\0\x80\xFD[\x80c>^<#\x14b\0\x02\x11W\x80c?r\x86\xF4\x14b\0\x02\x1BW`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x11b\0\x01pW\x80c\x1E\xD7\x83\x1C\x14b\0\x01\xD5W\x80c*\xDE8\x80\x14b\0\x01\xEEW\x80c0\x94\xDF\xF0\x14b\0\x02\x07W`\0\x80\xFD[\x80c\x04b,.\x14b\0\x01\x8EW\x80c\n\x92T\xE4\x14b\0\x01\xC9W[`\0\x80\xFD[b\0\x01\xB6\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[b\0\x01\xD3b\0\x03\x06V[\0[b\0\x01\xDFb\0\x0F4V[`@Qb\0\x01\xC0\x91\x90b\0(\tV[b\0\x01\xF8b\0\x0F\xA5V[`@Qb\0\x01\xC0\x91\x90b\0(\xD7V[b\0\x01\xD3b\0\x11\0V[b\0\x01\xDFb\0\x132V[b\0\x01\xDFb\0\x13\xA1V[b\0\x01\xB6\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[b\0\x02Wb\0\x14\x10V[`@Qb\0\x01\xC0\x91\x90b\0*FV[b\0\x02pb\0\x15\x9EV[`@Qb\0\x01\xC0\x91\x90b\0*\xF1V[b\0\x02\x89b\0\x16xV[`@Qb\0\x01\xC0\x91\x90b\0+wV[b\0\x01\xD3b\0\x17\x84V[b\0\x02\x89b\0\x18rV[b\0\x02pb\0\x19~V[b\0\x02\xC0b\0\x1AXV[`@Q\x90\x15\x15\x81R` \x01b\0\x01\xC0V[b\0\x01\xDFb\0\x1B0V[`\x1FTb\0\x02\xC0\x90`\xFF\x16\x81V[`\x1FTb\0\x02\xC0\x90a\x01\0\x90\x04`\xFF\x16\x81V[b\0\x01\xD3b\0\x1B\x9FV[a\xBA\xBE`\"\x81\x90U`@Q\x7F\xFF\xA1\x86I\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xFF\xA1\x86I\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x03\x9F\x91\x90b\0,\x17V[`!\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U`@\x80Q\x80\x82\x01\x82Rs\xF3\x9F\xD6\xE5\x1A\xAD\x88\xF6\xF4\xCEj\xB8\x82ry\xCF\xFF\xB9\"f\x80\x82Rb\x98\x96\x80` \x92\x83\x01\x81\x90R`#\x80T\x90\x95\x16\x90\x91\x17\x90\x93U`$\x83\x90U\x81Q\x80\x83\x01\x90\x92Rsp\x99yp\xC5\x18\x12\xDC:\x01\x0C}\x01\xB5\x0E\r\x17\xDCy\xC8\x82R\x90\x91\x90\x82\x01\x90b\0\x04U\x90`\n\x90b\0,\x85V[\x90R\x80Q`%\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U` \x91\x82\x01Q`&U`@\x80Q\x80\x82\x01\x82Rs=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pb\0\x05\x80Wb\0\x05~b\0\x1C\x8EV[P[n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`\0`@Qb\0\x05\xA0\x90b\0'\xFBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\x05\xE1W=`\0\x80>=`\0\xFD[P`)\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x17\x90U`\x1FT`!T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x83\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01Rb\x01\0\0\x90\x91\x04\x90\x91\x16\x90ca\xF4\x9E\xD6\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x06\xC6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x06\xEC\x91\x90b\0,\xC1V[P`\x1FT`!Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x92\x04\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x07.g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x07\x9AW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x07\xAFW=`\0\x80>=`\0\xFD[PP` T`#T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x08YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x08\x7F\x91\x90b\0,\xC1V[P` T`#Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x08\xBBg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\t'W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\t=`\0\xFD[PP` T`%T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\t\xE6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\n\x0C\x91\x90b\0,\xC1V[P` T`%Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\nHg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\n\xB4W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\n\xC9W=`\0\x80>=`\0\xFD[PP`\x1FT`!T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01Rb\0\x0B\xAE\x94Pb\x01\0\0\x90\x92\x04\x16\x91Pc\xDDb\xED>\x90`D\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0BaW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0B\x87\x91\x90b\0,\xFFV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\0\x1D^V[` T`#T`)T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01Rb\0\x0C\x1B\x92\x91\x90\x91\x16\x90c\xDDb\xED>\x90`D\x01b\0\x0BCV[`\x1FT`!T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\x0C\xDC\x92b\x01\0\0\x90\x04\x90\x91\x16\x90cp\xA0\x821\x90`$\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0C\x9BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0C\xC1\x91\x90b\0,\xFFV[b\0\x0C\xD6g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[b\0\x1D^V[` T`#T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\r>\x92\x91\x90\x91\x16\x90cp\xA0\x821\x90`$\x01b\0\x0C}V[g\r\xE0\xB6\xB3\xA7d\0\0\x80`\0`\x01\x81b\0\r[Ba\x03\xE8b\0-\x19V[`@\x80Q``\x81\x01\x82R`\x1FTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x91\x04\x81\x16\x82R` \x80\x83\x01\x8A\x90R\x92\x82\x01\x87\x90R\x91T`!T\x93\x94P\x90\x92`\0\x92b\0\r\xB6\x92\x81\x16\x91\x89\x91\x88\x91\x16b\0\x1D\xE7V[`@\x80Q`\x80\x81\x01\x90\x91R`!T`)T\x92\x93P`\0\x92\x82\x91b\0\x0E\x0E\x91\x88\x91b\0\x0E\x07\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91b\0\x0E\0\x91\x16b\0\x1E\xCEV[\x90b\0\x1F\xC5V[\x90b\0 fV[\x81R` \x01C\x81R` \x01\x84\x81R` \x01\x83\x81RP\x90P`@Q\x80`@\x01`@R\x80\x82`@Q` \x01b\0\x0EC\x91\x90b\0-\x9BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x81R` \x01b\0\x0Eu`\"Tn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x85b\0 \xEBV[\x90R\x80Q`*\x90\x81\x90b\0\x0E\x8A\x90\x82b\0/{V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x0E\xA1\x90\x82b\0/{V[P\x90PP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x0F\x11W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x0F&W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoW[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15b\0\x10\xDFW\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x10K\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x10y\x90b\0.\xD5V[\x80\x15b\0\x10\xCAW\x80`\x1F\x10b\0\x10\x9EWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x10\xCAV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x10\xACW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x10)V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x0F\xC9V[PPPP\x90P\x90V[`%T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x11\x80W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x11\x95W=`\0\x80>=`\0\xFD[PP`&T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x05W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\x1AW=`\0\x80>=`\0\xFD[PP`)T`@Q\x7F?b\x19.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x92Pc?b\x19.\x91Pb\0\x12w\x90`*\x90`\x04\x01b\x001EV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x92W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\xA7W=`\0\x80>=`\0\xFD[PPPP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x13\x17W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x13,W=`\0\x80>=`\0\xFD[PPPPV[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Tb\0\x14j\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x14\x98\x90b\0.\xD5V[\x80\x15b\0\x14\xE9W\x80`\x1F\x10b\0\x14\xBDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x14\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x14\xCBW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x15\x85W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x151W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x144V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x15\xE4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x16\x12\x90b\0.\xD5V[\x80\x15b\0\x16cW\x80`\x1F\x10b\0\x167Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x16cV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x16EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x15\xC2V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x17kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x17\x17W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x16\x9CV[`#T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x18\x04W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x18\x19W=`\0\x80>=`\0\xFD[PP`$\x80T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x93PcH\xF5\x0C\x0F\x92P\x01b\0\x11\xEAV[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x19eW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x19\x11W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x18\x96V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x19\xC4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x19\xF2\x90b\0.\xD5V[\x80\x15b\0\x1ACW\x80`\x1F\x10b\0\x1A\x17Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x1ACV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x1A%W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x19\xA2V[`\x08T`\0\x90`\xFF\x16\x15b\0\x1AqWP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x1B\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x1B)\x91\x90b\0,\xFFV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[`'T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1C\x1FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1C4W=`\0\x80>=`\0\xFD[PP`(T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01b\0\x11\xEAV[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01b\0a\xA1a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90b\0\x1D\x14\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01b\x001\x9AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1D/W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1DDW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[`@Q\x7F\x98)lT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x83\x90R`$\x81\x01\x82\x90Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x98)lT\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15b\0\x1D\xCAW`\0\x80\xFD[PZ\xFA\x15\x80\x15b\0\x1D\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91`\0\x91\x90\x81` \x01[`@\x80Q`\x80\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01\x81\x90R``\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81b\0\x1E\x02W\x90PP\x90P`@Q\x80`\x80\x01`@R\x80\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x81`\0\x81Q\x81\x10b\0\x1E\xBAWb\0\x1E\xBAb\x001\xCBV[` \x90\x81\x02\x91\x90\x91\x01\x01R\x95\x94PPPPPV[b\0\x1FJ`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[`@Q\x80`\xC0\x01`@R\x80\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01B`db\0\x1F\xA4\x91\x90b\0-\x19V[\x81R`\0` \x80\x83\x01\x82\x90R`@\x80Q\x91\x82\x01\x81R\x91\x81R\x91\x01R\x92\x91PPV[b\0 A`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16` \x83\x01R\x81[\x92\x91PPV[b\0 \xE2`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[P``\x82\x01R\x90V[``b\0\"&\x84\x84\x84`\0\x01Q\x85`@\x01Q`\0\x01Q\x86`@\x01Q` \x01Q`@Q\x80`\xA0\x01`@R\x80`d\x81R` \x01b\0\x85\x8F`d\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0!k\x92\x91\x90b\x001\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90b\0\x85a` \x83\x019`@Q` \x01b\0!\xC1\x92\x91\x90b\x003cV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Rb\0!\xFF\x92\x91` \x01b\x003\xC2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\" \x89b\0\".V[b\0#,V[\x94\x93PPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0\"w\x92\x91\x90b\x001\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\"\x9C\x83`\0\x01Qb\0#\x95V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92b\0\"\xC4\x90b\0$1V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q`\xA0\x81\x01\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16``\x82\x81\x01\x91\x82R`\x80\x83\x01\x87\x90R\x90\x82R\x87\x83\x01Q` \x83\x01R\x87\x81\x01Q\x92\x82\x01\x92\x90\x92R\x86Qb\0#\x88\x90\x8A\x90\x8A\x90\x84\x90\x88\x88b\0$\xDAV[\x99\x98PPPPPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qb\0#\x0F\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0$TWb\0$Tb\0.\xA6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15b\0$\x7FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15b\0$\xCBW`\0b\0$\xB8\x85\x83\x81Q\x81\x10b\0$\xAAWb\0$\xAAb\x001\xCBV[` \x02` \x01\x01Qb\0&\xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01b\0$\x85V[P\x80Q` \x90\x91\x01 \x92\x91PPV[```\0b\0%\x9Eb\0$\xED\x88b\0'\x19V[\x85b\0$\xFD\x89`\0\x01Qb\0'\x99V[` \x80\x8B\x01Q`@\x80\x8D\x01Q\x81Q\x93\x84\x01\x95\x90\x95R\x82\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x91\x90\x91R`\xC0\x81\x01\x86\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x90 \x90V[`@Q\x7F\xE3A\xEA\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x8A\x90R`$\x81\x01\x82\x90R\x90\x91P`\0\x90\x81\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xE3A\xEA\xA4\x90`D\x01```@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0&\x19W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0&?\x91\x90b\x003\xF5V[`@\x80Q` \x81\x01\x93\x90\x93R\x82\x81\x01\x91\x90\x91R`\xF8\x92\x90\x92\x1B\x7F\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16``\x82\x01R\x81Q`A\x81\x83\x03\x01\x81R`a\x90\x91\x01\x90\x91R\x9B\x9APPPPPPPPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qb\0#\x0F\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`@\x80Q\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f` \x82\x01R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x91\x81\x01\x91\x90\x91RF``\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x80\x82\x01R`\0\x90`\xA0\x01b\0#\x0FV[`\0\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x82`@Q` \x01b\0#\x0F\x92\x91\x90\x91\x82R\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16` \x80\x84\x01\x91\x90\x91R\x01Q`@\x82\x01R``\x01\x90V[a-l\x80b\x0045\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15b\0(YW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01b\0(%V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15b\0(\x82W\x81\x81\x01Q\x83\x82\x01R` \x01b\0(hV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Rb\0(\xA5\x81` \x86\x01` \x86\x01b\0(eV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15b\0)\xD6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15b\0)\xBFW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Rb\0)\xAC\x84\x86Qb\0(\x8BV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01b\0)oV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01b\0(\xFEV[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01b\0)\xFBV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Rb\0*\xB4\x88\x86\x01\x82b\0(\x8BV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pb\0*\xCE\x81\x83b\0)\xE6V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01b\0*oV[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15b\0+jW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Rb\0+W\x85\x83Qb\0(\x8BV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01b\0+\x1AV[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Rb\0,\x03\x87\x85\x01\x82b\0)\xE6V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01b\0+\xA0V[`\0` \x82\x84\x03\x12\x15b\0,*W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0,OW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x82b\0,\xBCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15b\0,\xD4W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0,OW`\0\x80\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17b\0 `Wb\0 `b\0,VV[`\0` \x82\x84\x03\x12\x15b\0-\x12W`\0\x80\xFD[PQ\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15b\0 `Wb\0 `b\0,VV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x80\x83\x01Q\x90\x8A\x01R``\x91\x82\x01Q\x16\x90\x88\x01R`\x80\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01b\0-DV[` \x81R`\0\x82Q`\xC0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x85\x01R\x80` \x83\x01Q\x16a\x01\0\x85\x01R`@\x82\x01Qa\x01 \x85\x01R``\x82\x01Qa\x01@\x85\x01R\x80`\x80\x83\x01Q\x16a\x01`\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x84\x01Rb\0.\x18a\x01\xA0\x84\x01\x82b\0(\x8BV[\x90P` \x84\x01Q`@\x84\x01R`@\x84\x01Qb\0.a``\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P``\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x84\x83\x03\x01`\xC0\x85\x01Rb\0.\x9D\x82\x82b\0-/V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0.\xEAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0/$W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0/vW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0/UWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x1D\xDFW\x82\x81U`\x01\x01b\0/aV[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0/\x98Wb\0/\x98b\0.\xA6V[b\0/\xB0\x81b\0/\xA9\x84Tb\0.\xD5V[\x84b\0/*V[` \x80`\x1F\x83\x11`\x01\x81\x14b\x000\x06W`\0\x84\x15b\0/\xCFWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x1D\xDFV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15b\x000UW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\x0004V[P\x85\x82\x10\x15b\x000\x92W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Tb\x000\xB1\x81b\0.\xD5V[\x80\x85R` `\x01\x83\x81\x16\x80\x15b\x000\xD1W`\x01\x81\x14b\x001\nWb\x001:V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x85\x16\x83\x89\x01R\x82\x84\x15\x15`\x05\x1B\x89\x01\x01\x95Pb\x001:V[\x86`\0R\x82`\0 `\0[\x85\x81\x10\x15b\x0012W\x81T\x8A\x82\x01\x86\x01R\x90\x83\x01\x90\x84\x01b\x001\x15V[\x89\x01\x84\x01\x96PP[PPPPP\x92\x91PPV[` \x81R`@` \x82\x01R`\0b\x001a``\x83\x01\x84b\x000\xA2V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x83\x82\x03\x01`@\x84\x01Rb\0\"&\x81`\x01\x86\x01b\x000\xA2V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0b\0\"&`@\x83\x01\x84b\0(\x8BV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qb\x003>\x81`\x92\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003W\x81`\x92\x84\x01` \x88\x01b\0(eV[\x01`\x92\x01\x94\x93PPPPV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qb\x003\x9D\x81`\x16\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xB6\x81`\x16\x84\x01` \x88\x01b\0(eV[\x01`\x16\x01\x94\x93PPPPV[`\0\x83Qb\x003\xD6\x81\x84` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xEC\x81\x83` \x88\x01b\0(eV[\x01\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\x004\x0BW`\0\x80\xFD[\x83Q`\xFF\x81\x16\x81\x14b\x004\x1DW`\0\x80\xFD[` \x85\x01Q`@\x90\x95\x01Q\x90\x96\x94\x95P\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0-l8\x03\x80b\0-l\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa,Sb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x16\xB3\x01Ra,S`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x1D\xF5V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1E\xA3V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1E\xE5V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1FsV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1F\x97V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1FsV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a \x03V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x90V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\"\xCCV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B?V[a\x04\xB5\x81a\x0B\x90V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x90V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia \x03V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B?V[a\x08\x86\x81a\x0B\x90V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a#\nV[\x81\x01\x90a\n|\x91\x90a%\xD9V[\x90Pa\n\x87\x81a\x0C\xE3V[`\0a\n\x93H:a'0V[\x90P`@Q\x80`\xA0\x01`@R\x80\x83`\0\x01Q\x81R` \x01a\n\xC1\x83\x85`@\x01Qa\r\xE1\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xDD\x83\x85``\x01Qa\x0E\xE5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x85\x80` \x01\x90a\n\xF2\x91\x90a#\nV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B5\x84a\x0F\xCAV[\x90R\x94\x93PPPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B`Wa\x0B`a \x03V[` \x02` \x01\x01Q\x90Pa\x0Bs\x81a\x10\xC0V[a\x0B}\x813a\x15\xB0V[a\x0B\x87\x813a\x16\xB1V[P`\x01\x01a\x0BDV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD2W`\0\x83\x82\x81Q\x81\x10a\x0B\xB1Wa\x0B\xB1a \x03V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C2W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xE8Wa\x0B\xE8a \x03V[` \x02` \x01\x01Q\x90Pa\x0C)\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\xF0\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xC8V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C{Wa\x0C{a \x03V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC0\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x95V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x197V[\x80Q``\x01QB\x11\x15a\r\"W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81` \x01Q\x11\x15a\r`W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80\x82\x01Q\x01Q\x15a\x08\x91W`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\r\x95Wa\r\x95a \x03V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\r\xD9W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rpV[a\x0E\x1B`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[b\x98\x96\x80\x83`@\x01Q\x83a\x0E/\x91\x90a'CV[\x10a\x0EuW`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x84` \x01Q\x81RP\x90Pa\x0E\xDFV[`\0a\x0E\xA6\x84`@\x01Q\x84a\x0E\x8A\x91\x90a'CV[a\x0E\x97\x90b\x98\x96\x80a'0V[` \x86\x01Q\x90b\x98\x96\x80a\x19\xD1V[`@\x80Q``\x81\x01\x82R\x86Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x80\x82\x01\x93\x90\x93R\x91\x86\x01Q\x90\x82\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\x03Wa\x0F\x03a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FlW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F!W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xC2Wa\x0F\x9D\x85\x82\x81Q\x81\x10a\x0F\x8FWa\x0F\x8Fa \x03V[` \x02` \x01\x01Q\x85a\x1A\rV[\x83\x82\x81Q\x81\x10a\x0F\xAFWa\x0F\xAFa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FrV[PP\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x10\x0F\x92\x91\x90a'ZV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x102\x83`\0\x01Qa\x1A\xAFV[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x10X\x90a\x1BIV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x10\xE0WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x117\x90\x85\x90`\x04\x01a(\xBFV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11TW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x11\x9A\x91\x90\x81\x01\x90a(\xD2V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\xB2\x82\x84a)\xA2V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\xCAWa\x11\xCAa\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x123W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11\xE8W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x12\x84W\x85`@\x01Q\x81\x81Q\x81\x10a\x12WWa\x12Wa \x03V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x12qWa\x12qa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x129V[P`\0\x80`\0[\x84\x81\x10\x15a\x15\x9FW`\0\x87\x82\x81Q\x81\x10a\x12\xA7Wa\x12\xA7a \x03V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x13eW\x88\x81\x81Q\x81\x10a\x12\xCEWa\x12\xCEa \x03V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x13]W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x12\xB4V[P`\0\x80[\x88\x81\x10\x15a\x14&W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x13\x8AWa\x13\x8Aa \x03V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x1DW\x85\x15a\x14\x07W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x14\x16\x90\x84a)\xA2V[\x92P`\x01\x96P[P`\x01\x01a\x13jV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x14\x9FW\x84\x15a\x14\x86W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x14\x98\x90\x82a)\xA2V[\x90P`\x01\x93P[\x80`\0\x03a\x14\xF4W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x15\x02\x81`\x05a'\x10a\x19\xD1V[\x82` \x01Q\x11\x15a\x15uW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x15\x8AWa\x15\x8Aa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x12\x8BV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x16\x01W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x16}\x90\x84\x90\x86\x90`\x04\x01a)\xB5V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x16\x95W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x17q\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x18\x02\x92\x91\x90a'ZV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a+\x08` \x83\x019`@Q` \x01a\x18U\x92\x91\x90a)\xE4V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x18\xC2\x96\x95\x94\x93\x92`\x04\x01a*?V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18\xDCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x19\x15Wa\x03_\x82\x82a\x197V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1B\xE7V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x19\x91W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x19\x96V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1A\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1A\x84\x85`@\x01Q\x85a\x1Ah\x91\x90a'CV[a\x1Au\x90b\x98\x96\x80a)\xA2V[` \x87\x01Q\x90b\x98\x96\x80a\x1C\xD9V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10\xA3\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1BiWa\x1Bia\x1F\xD4V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1B\xD8W`\0a\x1B\xC6\x85\x83\x81Q\x81\x10a\x1B\xB9Wa\x1B\xB9a \x03V[` \x02` \x01\x01Qa\x1D\x1DV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1B\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1C\xD2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\x0EW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10\xA3\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x1D\xA6W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D\xBEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x1E\nW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1E\"W`\0\x80\xFD[a\x1E.\x87\x83\x88\x01a\x1D\x94V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1EDW`\0\x80\xFD[Pa\x1EQ\x86\x82\x87\x01a\x1D\xACV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1EpW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\x88W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1E\xB6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\xCDW`\0\x80\xFD[a\x1E\xD9\x85\x82\x86\x01a\x1E^V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1E\xFBW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1F\x13W`\0\x80\xFD[a\x1F\x1F\x88\x83\x89\x01a\x1E^V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1F8W`\0\x80\xFD[Pa\x1FE\x87\x82\x88\x01a\x1D\xACV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1F\x85W`\0\x80\xFD[\x815a\x1F\x90\x81a\x1FQV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1F\xA9W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC0W`\0\x80\xFD[a\x1F\xCC\x84\x82\x85\x01a\x1D\x94V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a MW\x81\x81\x01Q\x83\x82\x01R` \x01a 5V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra n\x81` \x86\x01` \x86\x01a 2V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a!\0W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a \xB5V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra!\x7Fa\x01\xA0\x85\x01\x82a VV[\x90P` \x83\x01Qa!\xBD` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra!\xD5\x82\x82a \xA0V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra!\xEF\x82\x82a VV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\"{W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\"i\x86\x83Qa!\x0BV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\"/V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a#\0W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a#?W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#ZW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\xEEW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$%Wa$%a\x1F\xD4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a$>W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$XWa$Xa\x1F\xD4V[a$\x89` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a#\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a$\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a$\xCDW`\0\x80\xFD[a$\xD5a#oV[\x90P\x815a$\xE2\x81a\x1FQV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x1AWa%\x1Aa\x1F\xD4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a%5W`\0\x80\xFD[\x815` a%Ja%E\x83a%\0V[a#\xDEV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a%iW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a%\xCEW`\x80\x81\x89\x03\x12\x15a%\x86W`\0\x80\x81\xFD[a%\x8Ea#\x98V[\x815a%\x99\x81a\x1FQV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a%\xBC\x81a\x1FQV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a%mV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a%\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xC0\x82\x86\x03\x12\x15a&\x17W`\0\x80\xFD[a&\x1Fa#\x98V[\x825\x82\x81\x11\x15a&.W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a&@W`\0\x80\xFD[a&Ha#\xBBV[\x815a&S\x81a\x1FQV[\x81R` \x82\x015a&c\x81a\x1FQV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a&\x8C\x81a\x1FQV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a&\xA3W`\0\x80\xFD[a&\xAF\x89\x82\x85\x01a$-V[`\xA0\x83\x01RP\x82RP` \x83\x81\x015\x90\x82\x01Ra&\xCF\x86`@\x85\x01a$\xBBV[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a&\xE6W`\0\x80\xFD[a&\xF2\x87\x82\x86\x01a%$V[``\x83\x01RP\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E\xDFWa\x0E\xDFa'\x01V[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qa(\x9C\x81`\x92\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a(\xB3\x81`\x92\x84\x01` \x88\x01a 2V[\x01`\x92\x01\x94\x93PPPPV[` \x81R`\0a\x1F\x90` \x83\x01\x84a!\x0BV[`\0` \x80\x83\x85\x03\x12\x15a(\xE5W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xFCW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a)\rW`\0\x80\xFD[\x80Qa)\x1Ba%E\x82a%\0V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a):W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a)\x96W\x80\x85\x8A\x03\x12\x15a)WW`\0\x80\x81\xFD[a)_a#oV[\x85Qa)j\x81a\x1FQV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa)\x83\x81a\x1FQV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a)?V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1F\xCC`@\x83\x01\x84a!\x0BV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa*\x1C\x81`\x16\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a*3\x81`\x16\x84\x01` \x88\x01a 2V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a*o\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra*\xB0`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra*\xE5\x81\x84\x01\x86a VV[\x90P\x82\x81\x03a\x01 \x84\x01Ra*\xFA\x81\x85a VV[\x99\x98PPPPPPPPPV\xFETokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 }\xD3h\xB7\xA2@\xA8\xC6\xADAv\xCE\xEB\x89\x0CQw$\x16x7~\xE4\xAFc\xD2;\xD2\xE5~O/dsolcC\0\x08\x18\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\nTokenPermissions(address token,uint256 amount)PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 4GN\x15\xC1\xF6\xD6$\0\xE5\xFD\xD9F\x06\xA1\xBB\x1A|\x19\x0B\xD4\xE3y\x1Dk\xD8\x16\xDDg\xB37OdsolcC\0\x08\x18\x003`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x1268\x03\x80b\0\x126\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01\xDEV[\x82\x82\x82`\0b\0\0E\x84\x82b\0\x02\xF4V[P`\x01b\0\0T\x83\x82b\0\x02\xF4V[P`\xFF\x81\x16`\x80RF`\xA0Rb\0\0jb\0\0zV[`\xC0RPb\0\x04>\x94PPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qb\0\0\xAE\x91\x90b\0\x03\xC0V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01>W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01[Wb\0\x01[b\0\x01\x16V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\x86Wb\0\x01\x86b\0\x01\x16V[\x81`@R\x83\x81R` \x92P\x86` \x85\x88\x01\x01\x11\x15b\0\x01\xA4W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01\xC8W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xA9V[`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01\xF4W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\x0CW`\0\x80\xFD[b\0\x02\x1A\x87\x83\x88\x01b\0\x01,V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x021W`\0\x80\xFD[Pb\0\x02@\x86\x82\x87\x01b\0\x01,V[\x92PP`@\x84\x01Q`\xFF\x81\x16\x81\x14b\0\x02XW`\0\x80\xFD[\x80\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02xW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x99WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02\xCAWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02\xEBW\x82\x81U`\x01\x01b\0\x02\xD6V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03\x10Wb\0\x03\x10b\0\x01\x16V[b\0\x03(\x81b\0\x03!\x84Tb\0\x02cV[\x84b\0\x02\x9FV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03`W`\0\x84\x15b\0\x03GWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02\xEBV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x91W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03pV[P\x85\x82\x10\x15b\0\x03\xB0W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x80\x83Tb\0\x03\xD0\x81b\0\x02cV[`\x01\x82\x81\x16\x80\x15b\0\x03\xEBW`\x01\x81\x14b\0\x04\x01Wb\0\x042V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pb\0\x042V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15b\0\x04)W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01b\0\x04\x0EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x80Q`\xA0Q`\xC0Qa\r\xC8b\0\x04n`\09`\0a\x04\xE1\x01R`\0a\x04\xAC\x01R`\0a\x01_\x01Ra\r\xC8`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80ca\xF4\x9E\xD6\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x03W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0BW\x80c\xD5\x05\xAC\xCF\x14a\x02\x1EW\x80c\xDDb\xED>\x14a\x021W`\0\x80\xFD[\x80ca\xF4\x9E\xD6\x14a\x01\xB0W\x80cp\xA0\x821\x14a\x01\xC3W\x80c~\xCE\xBE\0\x14a\x01\xE3W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01GW\x80c1<\xE5g\x14a\x01ZW\x80c6D\xE5\x15\x14a\x01\x93W\x80c@\xC1\x0F\x19\x14a\x01\x9BW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\\V[`@Qa\x01\x04\x91\x90a\nNV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\n\xE4V[a\x02\xEAV[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x019`\x02T\x81V[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01U6`\x04a\x0B\x0EV[a\x03dV[a\x01\x81\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\x019a\x04\xA8V[a\x01\xAEa\x01\xA96`\x04a\n\xE4V[a\x05\x03V[\0[a\x01 a\x01\xBE6`\x04a\x0B\x0EV[a\x05\x11V[a\x019a\x01\xD16`\x04a\x0BJV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x019a\x01\xF16`\x04a\x0BJV[`\x05` R`\0\x90\x81R`@\x90 T\x81V[a\0\xF7a\x05\x86V[a\x01 a\x02\x196`\x04a\n\xE4V[a\x05\x93V[a\x01\xAEa\x02,6`\x04a\x0BlV[a\x06\x18V[a\x019a\x02?6`\x04a\x0B\xDFV[`\x04` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`\0\x80Ta\x02i\x90a\x0C\x12V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x95\x90a\x0C\x12V[\x80\x15a\x02\xE2W\x80`\x1F\x10a\x02\xB7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xE2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xC5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\0\x81\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03R\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x03\xF8Wa\x03\xC6\x83\x82a\x0C\x94V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x04-\x90\x84\x90a\x0C\x94V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16`\0\x81\x81R`\x03` R`@\x90\x81\x90 \x80T\x87\x01\x90UQ\x90\x91\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x04\x95\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\x14a\x04\xDEWa\x04\xD9a\t=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\x08`WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\x08\xC6W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06~V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\tn\x91\x90a\x0C\xA7V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[\x80`\x02`\0\x82\x82Ta\t\xE8\x91\x90a\r\x7FV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\n|W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\n`V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xDFW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xF7W`\0\x80\xFD[a\x0B\0\x83a\n\xBBV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0B#W`\0\x80\xFD[a\x0B,\x84a\n\xBBV[\x92Pa\x0B:` \x85\x01a\n\xBBV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[a\x0Be\x82a\n\xBBV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0B\x87W`\0\x80\xFD[a\x0B\x90\x88a\n\xBBV[\x96Pa\x0B\x9E` \x89\x01a\n\xBBV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0B\xC2W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0B\xF2W`\0\x80\xFD[a\x0B\xFB\x83a\n\xBBV[\x91Pa\x0C\t` \x84\x01a\n\xBBV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C&W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C_W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x03^Wa\x03^a\x0CeV[`\0\x80\x83T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0C\xC5W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0C\xFDW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\r\x11W`\x01\x81\x14a\rDWa\rqV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\rqV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\riW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\rPV[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03^Wa\x03^a\x0CeV\xFE\xA2dipfsX\"\x12 \xEC!\xB1\xB1\xA5/`yx\xC91\xFAg\xA2|\x860P\xB1\xF3\x89\x1D\xF7\x93O\t\r\xC0E\x15\xECTdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static PRIORITYORDERREACTORINTEGRATION_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\x01\x89W`\x005`\xE0\x1C\x80c\x91j\x17\xC6\x11b\0\0\xDDW\x80c\xC0@b&\x11b\0\0\x8BW\x80c\xF8\xCC\xBFG\x11b\0\0nW\x80c\xF8\xCC\xBFG\x14b\0\x02\xDBW\x80c\xFAv&\xD4\x14b\0\x02\xE9W\x80c\xFBs\xBA#\x14b\0\x02\xFCW`\0\x80\xFD[\x80c\xC0@b&\x14b\0\x01\xD3W\x80c\xE2\x0C\x9Fq\x14b\0\x02\xD1W`\0\x80\xFD[\x80c\xB0FO\xDC\x11b\0\0\xC0W\x80c\xB0FO\xDC\x14b\0\x02\xA2W\x80c\xB5P\x8A\xA9\x14b\0\x02\xACW\x80c\xBAAO\xA6\x14b\0\x02\xB6W`\0\x80\xFD[\x80c\x91j\x17\xC6\x14b\0\x02\x7FW\x80c\xA69 \xCC\x14b\0\x02\x98W`\0\x80\xFD[\x80c>^<#\x11b\0\x01;W\x80cd\xD4\xC8\x19\x11b\0\x01\x1EW\x80cd\xD4\xC8\x19\x14b\0\x02%W\x80cf\xD9\xA9\xA0\x14b\0\x02MW\x80c\x85\"l\x81\x14b\0\x02fW`\0\x80\xFD[\x80c>^<#\x14b\0\x02\x11W\x80c?r\x86\xF4\x14b\0\x02\x1BW`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x11b\0\x01pW\x80c\x1E\xD7\x83\x1C\x14b\0\x01\xD5W\x80c*\xDE8\x80\x14b\0\x01\xEEW\x80c0\x94\xDF\xF0\x14b\0\x02\x07W`\0\x80\xFD[\x80c\x04b,.\x14b\0\x01\x8EW\x80c\n\x92T\xE4\x14b\0\x01\xC9W[`\0\x80\xFD[b\0\x01\xB6\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[b\0\x01\xD3b\0\x03\x06V[\0[b\0\x01\xDFb\0\x0F4V[`@Qb\0\x01\xC0\x91\x90b\0(\tV[b\0\x01\xF8b\0\x0F\xA5V[`@Qb\0\x01\xC0\x91\x90b\0(\xD7V[b\0\x01\xD3b\0\x11\0V[b\0\x01\xDFb\0\x132V[b\0\x01\xDFb\0\x13\xA1V[b\0\x01\xB6\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[b\0\x02Wb\0\x14\x10V[`@Qb\0\x01\xC0\x91\x90b\0*FV[b\0\x02pb\0\x15\x9EV[`@Qb\0\x01\xC0\x91\x90b\0*\xF1V[b\0\x02\x89b\0\x16xV[`@Qb\0\x01\xC0\x91\x90b\0+wV[b\0\x01\xD3b\0\x17\x84V[b\0\x02\x89b\0\x18rV[b\0\x02pb\0\x19~V[b\0\x02\xC0b\0\x1AXV[`@Q\x90\x15\x15\x81R` \x01b\0\x01\xC0V[b\0\x01\xDFb\0\x1B0V[`\x1FTb\0\x02\xC0\x90`\xFF\x16\x81V[`\x1FTb\0\x02\xC0\x90a\x01\0\x90\x04`\xFF\x16\x81V[b\0\x01\xD3b\0\x1B\x9FV[a\xBA\xBE`\"\x81\x90U`@Q\x7F\xFF\xA1\x86I\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xFF\xA1\x86I\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x03\x9F\x91\x90b\0,\x17V[`!\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U`@\x80Q\x80\x82\x01\x82Rs\xF3\x9F\xD6\xE5\x1A\xAD\x88\xF6\xF4\xCEj\xB8\x82ry\xCF\xFF\xB9\"f\x80\x82Rb\x98\x96\x80` \x92\x83\x01\x81\x90R`#\x80T\x90\x95\x16\x90\x91\x17\x90\x93U`$\x83\x90U\x81Q\x80\x83\x01\x90\x92Rsp\x99yp\xC5\x18\x12\xDC:\x01\x0C}\x01\xB5\x0E\r\x17\xDCy\xC8\x82R\x90\x91\x90\x82\x01\x90b\0\x04U\x90`\n\x90b\0,\x85V[\x90R\x80Q`%\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U` \x91\x82\x01Q`&U`@\x80Q\x80\x82\x01\x82Rs=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pb\0\x05\x80Wb\0\x05~b\0\x1C\x8EV[P[n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`\0`@Qb\0\x05\xA0\x90b\0'\xFBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\x05\xE1W=`\0\x80>=`\0\xFD[P`)\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x17\x90U`\x1FT`!T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x83\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01Rb\x01\0\0\x90\x91\x04\x90\x91\x16\x90ca\xF4\x9E\xD6\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x06\xC6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x06\xEC\x91\x90b\0,\xC1V[P`\x1FT`!Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x92\x04\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x07.g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x07\x9AW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x07\xAFW=`\0\x80>=`\0\xFD[PP` T`#T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x08YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x08\x7F\x91\x90b\0,\xC1V[P` T`#Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x08\xBBg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\t'W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\t=`\0\xFD[PP` T`%T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\t\xE6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\n\x0C\x91\x90b\0,\xC1V[P` T`%Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\nHg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\n\xB4W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\n\xC9W=`\0\x80>=`\0\xFD[PP`\x1FT`!T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01Rb\0\x0B\xAE\x94Pb\x01\0\0\x90\x92\x04\x16\x91Pc\xDDb\xED>\x90`D\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0BaW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0B\x87\x91\x90b\0,\xFFV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\0\x1D^V[` T`#T`)T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01Rb\0\x0C\x1B\x92\x91\x90\x91\x16\x90c\xDDb\xED>\x90`D\x01b\0\x0BCV[`\x1FT`!T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\x0C\xDC\x92b\x01\0\0\x90\x04\x90\x91\x16\x90cp\xA0\x821\x90`$\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0C\x9BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0C\xC1\x91\x90b\0,\xFFV[b\0\x0C\xD6g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[b\0\x1D^V[` T`#T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\r>\x92\x91\x90\x91\x16\x90cp\xA0\x821\x90`$\x01b\0\x0C}V[g\r\xE0\xB6\xB3\xA7d\0\0\x80`\0`\x01\x81b\0\r[Ba\x03\xE8b\0-\x19V[`@\x80Q``\x81\x01\x82R`\x1FTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x91\x04\x81\x16\x82R` \x80\x83\x01\x8A\x90R\x92\x82\x01\x87\x90R\x91T`!T\x93\x94P\x90\x92`\0\x92b\0\r\xB6\x92\x81\x16\x91\x89\x91\x88\x91\x16b\0\x1D\xE7V[`@\x80Q`\x80\x81\x01\x90\x91R`!T`)T\x92\x93P`\0\x92\x82\x91b\0\x0E\x0E\x91\x88\x91b\0\x0E\x07\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91b\0\x0E\0\x91\x16b\0\x1E\xCEV[\x90b\0\x1F\xC5V[\x90b\0 fV[\x81R` \x01C\x81R` \x01\x84\x81R` \x01\x83\x81RP\x90P`@Q\x80`@\x01`@R\x80\x82`@Q` \x01b\0\x0EC\x91\x90b\0-\x9BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x81R` \x01b\0\x0Eu`\"Tn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x85b\0 \xEBV[\x90R\x80Q`*\x90\x81\x90b\0\x0E\x8A\x90\x82b\0/{V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x0E\xA1\x90\x82b\0/{V[P\x90PP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x0F\x11W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x0F&W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoW[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15b\0\x10\xDFW\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x10K\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x10y\x90b\0.\xD5V[\x80\x15b\0\x10\xCAW\x80`\x1F\x10b\0\x10\x9EWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x10\xCAV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x10\xACW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x10)V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x0F\xC9V[PPPP\x90P\x90V[`%T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x11\x80W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x11\x95W=`\0\x80>=`\0\xFD[PP`&T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x05W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\x1AW=`\0\x80>=`\0\xFD[PP`)T`@Q\x7F?b\x19.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x92Pc?b\x19.\x91Pb\0\x12w\x90`*\x90`\x04\x01b\x001EV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x92W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\xA7W=`\0\x80>=`\0\xFD[PPPP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x13\x17W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x13,W=`\0\x80>=`\0\xFD[PPPPV[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Tb\0\x14j\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x14\x98\x90b\0.\xD5V[\x80\x15b\0\x14\xE9W\x80`\x1F\x10b\0\x14\xBDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x14\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x14\xCBW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x15\x85W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x151W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x144V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x15\xE4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x16\x12\x90b\0.\xD5V[\x80\x15b\0\x16cW\x80`\x1F\x10b\0\x167Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x16cV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x16EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x15\xC2V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x17kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x17\x17W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x16\x9CV[`#T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x18\x04W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x18\x19W=`\0\x80>=`\0\xFD[PP`$\x80T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x93PcH\xF5\x0C\x0F\x92P\x01b\0\x11\xEAV[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x19eW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x19\x11W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x18\x96V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x19\xC4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x19\xF2\x90b\0.\xD5V[\x80\x15b\0\x1ACW\x80`\x1F\x10b\0\x1A\x17Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x1ACV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x1A%W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x19\xA2V[`\x08T`\0\x90`\xFF\x16\x15b\0\x1AqWP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x1B\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x1B)\x91\x90b\0,\xFFV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[`'T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1C\x1FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1C4W=`\0\x80>=`\0\xFD[PP`(T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01b\0\x11\xEAV[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01b\0a\xA1a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90b\0\x1D\x14\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01b\x001\x9AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1D/W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1DDW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[`@Q\x7F\x98)lT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x83\x90R`$\x81\x01\x82\x90Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x98)lT\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15b\0\x1D\xCAW`\0\x80\xFD[PZ\xFA\x15\x80\x15b\0\x1D\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91`\0\x91\x90\x81` \x01[`@\x80Q`\x80\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01\x81\x90R``\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81b\0\x1E\x02W\x90PP\x90P`@Q\x80`\x80\x01`@R\x80\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x81`\0\x81Q\x81\x10b\0\x1E\xBAWb\0\x1E\xBAb\x001\xCBV[` \x90\x81\x02\x91\x90\x91\x01\x01R\x95\x94PPPPPV[b\0\x1FJ`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[`@Q\x80`\xC0\x01`@R\x80\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01B`db\0\x1F\xA4\x91\x90b\0-\x19V[\x81R`\0` \x80\x83\x01\x82\x90R`@\x80Q\x91\x82\x01\x81R\x91\x81R\x91\x01R\x92\x91PPV[b\0 A`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16` \x83\x01R\x81[\x92\x91PPV[b\0 \xE2`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[P``\x82\x01R\x90V[``b\0\"&\x84\x84\x84`\0\x01Q\x85`@\x01Q`\0\x01Q\x86`@\x01Q` \x01Q`@Q\x80`\xA0\x01`@R\x80`d\x81R` \x01b\0\x85\x8F`d\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0!k\x92\x91\x90b\x001\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90b\0\x85a` \x83\x019`@Q` \x01b\0!\xC1\x92\x91\x90b\x003cV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Rb\0!\xFF\x92\x91` \x01b\x003\xC2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\" \x89b\0\".V[b\0#,V[\x94\x93PPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0\"w\x92\x91\x90b\x001\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\"\x9C\x83`\0\x01Qb\0#\x95V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92b\0\"\xC4\x90b\0$1V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q`\xA0\x81\x01\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16``\x82\x81\x01\x91\x82R`\x80\x83\x01\x87\x90R\x90\x82R\x87\x83\x01Q` \x83\x01R\x87\x81\x01Q\x92\x82\x01\x92\x90\x92R\x86Qb\0#\x88\x90\x8A\x90\x8A\x90\x84\x90\x88\x88b\0$\xDAV[\x99\x98PPPPPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qb\0#\x0F\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0$TWb\0$Tb\0.\xA6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15b\0$\x7FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15b\0$\xCBW`\0b\0$\xB8\x85\x83\x81Q\x81\x10b\0$\xAAWb\0$\xAAb\x001\xCBV[` \x02` \x01\x01Qb\0&\xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01b\0$\x85V[P\x80Q` \x90\x91\x01 \x92\x91PPV[```\0b\0%\x9Eb\0$\xED\x88b\0'\x19V[\x85b\0$\xFD\x89`\0\x01Qb\0'\x99V[` \x80\x8B\x01Q`@\x80\x8D\x01Q\x81Q\x93\x84\x01\x95\x90\x95R\x82\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x91\x90\x91R`\xC0\x81\x01\x86\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x90 \x90V[`@Q\x7F\xE3A\xEA\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x8A\x90R`$\x81\x01\x82\x90R\x90\x91P`\0\x90\x81\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xE3A\xEA\xA4\x90`D\x01```@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0&\x19W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0&?\x91\x90b\x003\xF5V[`@\x80Q` \x81\x01\x93\x90\x93R\x82\x81\x01\x91\x90\x91R`\xF8\x92\x90\x92\x1B\x7F\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16``\x82\x01R\x81Q`A\x81\x83\x03\x01\x81R`a\x90\x91\x01\x90\x91R\x9B\x9APPPPPPPPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qb\0#\x0F\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`@\x80Q\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f` \x82\x01R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x91\x81\x01\x91\x90\x91RF``\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x80\x82\x01R`\0\x90`\xA0\x01b\0#\x0FV[`\0\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x82`@Q` \x01b\0#\x0F\x92\x91\x90\x91\x82R\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16` \x80\x84\x01\x91\x90\x91R\x01Q`@\x82\x01R``\x01\x90V[a-l\x80b\x0045\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15b\0(YW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01b\0(%V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15b\0(\x82W\x81\x81\x01Q\x83\x82\x01R` \x01b\0(hV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Rb\0(\xA5\x81` \x86\x01` \x86\x01b\0(eV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15b\0)\xD6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15b\0)\xBFW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Rb\0)\xAC\x84\x86Qb\0(\x8BV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01b\0)oV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01b\0(\xFEV[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01b\0)\xFBV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Rb\0*\xB4\x88\x86\x01\x82b\0(\x8BV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pb\0*\xCE\x81\x83b\0)\xE6V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01b\0*oV[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15b\0+jW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Rb\0+W\x85\x83Qb\0(\x8BV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01b\0+\x1AV[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Rb\0,\x03\x87\x85\x01\x82b\0)\xE6V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01b\0+\xA0V[`\0` \x82\x84\x03\x12\x15b\0,*W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0,OW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x82b\0,\xBCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15b\0,\xD4W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0,OW`\0\x80\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17b\0 `Wb\0 `b\0,VV[`\0` \x82\x84\x03\x12\x15b\0-\x12W`\0\x80\xFD[PQ\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15b\0 `Wb\0 `b\0,VV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x80\x83\x01Q\x90\x8A\x01R``\x91\x82\x01Q\x16\x90\x88\x01R`\x80\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01b\0-DV[` \x81R`\0\x82Q`\xC0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x85\x01R\x80` \x83\x01Q\x16a\x01\0\x85\x01R`@\x82\x01Qa\x01 \x85\x01R``\x82\x01Qa\x01@\x85\x01R\x80`\x80\x83\x01Q\x16a\x01`\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x84\x01Rb\0.\x18a\x01\xA0\x84\x01\x82b\0(\x8BV[\x90P` \x84\x01Q`@\x84\x01R`@\x84\x01Qb\0.a``\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P``\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x84\x83\x03\x01`\xC0\x85\x01Rb\0.\x9D\x82\x82b\0-/V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0.\xEAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0/$W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0/vW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0/UWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x1D\xDFW\x82\x81U`\x01\x01b\0/aV[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0/\x98Wb\0/\x98b\0.\xA6V[b\0/\xB0\x81b\0/\xA9\x84Tb\0.\xD5V[\x84b\0/*V[` \x80`\x1F\x83\x11`\x01\x81\x14b\x000\x06W`\0\x84\x15b\0/\xCFWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x1D\xDFV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15b\x000UW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\x0004V[P\x85\x82\x10\x15b\x000\x92W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Tb\x000\xB1\x81b\0.\xD5V[\x80\x85R` `\x01\x83\x81\x16\x80\x15b\x000\xD1W`\x01\x81\x14b\x001\nWb\x001:V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x85\x16\x83\x89\x01R\x82\x84\x15\x15`\x05\x1B\x89\x01\x01\x95Pb\x001:V[\x86`\0R\x82`\0 `\0[\x85\x81\x10\x15b\x0012W\x81T\x8A\x82\x01\x86\x01R\x90\x83\x01\x90\x84\x01b\x001\x15V[\x89\x01\x84\x01\x96PP[PPPPP\x92\x91PPV[` \x81R`@` \x82\x01R`\0b\x001a``\x83\x01\x84b\x000\xA2V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x83\x82\x03\x01`@\x84\x01Rb\0\"&\x81`\x01\x86\x01b\x000\xA2V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0b\0\"&`@\x83\x01\x84b\0(\x8BV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qb\x003>\x81`\x92\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003W\x81`\x92\x84\x01` \x88\x01b\0(eV[\x01`\x92\x01\x94\x93PPPPV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qb\x003\x9D\x81`\x16\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xB6\x81`\x16\x84\x01` \x88\x01b\0(eV[\x01`\x16\x01\x94\x93PPPPV[`\0\x83Qb\x003\xD6\x81\x84` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xEC\x81\x83` \x88\x01b\0(eV[\x01\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\x004\x0BW`\0\x80\xFD[\x83Q`\xFF\x81\x16\x81\x14b\x004\x1DW`\0\x80\xFD[` \x85\x01Q`@\x90\x95\x01Q\x90\x96\x94\x95P\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0-l8\x03\x80b\0-l\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa,Sb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x16\xB3\x01Ra,S`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x1D\xF5V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1E\xA3V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1E\xE5V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1FsV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1F\x97V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1FsV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a \x03V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x90V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\"\xCCV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B?V[a\x04\xB5\x81a\x0B\x90V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x90V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia \x03V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B?V[a\x08\x86\x81a\x0B\x90V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a#\nV[\x81\x01\x90a\n|\x91\x90a%\xD9V[\x90Pa\n\x87\x81a\x0C\xE3V[`\0a\n\x93H:a'0V[\x90P`@Q\x80`\xA0\x01`@R\x80\x83`\0\x01Q\x81R` \x01a\n\xC1\x83\x85`@\x01Qa\r\xE1\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xDD\x83\x85``\x01Qa\x0E\xE5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x85\x80` \x01\x90a\n\xF2\x91\x90a#\nV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B5\x84a\x0F\xCAV[\x90R\x94\x93PPPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B`Wa\x0B`a \x03V[` \x02` \x01\x01Q\x90Pa\x0Bs\x81a\x10\xC0V[a\x0B}\x813a\x15\xB0V[a\x0B\x87\x813a\x16\xB1V[P`\x01\x01a\x0BDV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD2W`\0\x83\x82\x81Q\x81\x10a\x0B\xB1Wa\x0B\xB1a \x03V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C2W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xE8Wa\x0B\xE8a \x03V[` \x02` \x01\x01Q\x90Pa\x0C)\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\xF0\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xC8V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C{Wa\x0C{a \x03V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC0\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x95V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x197V[\x80Q``\x01QB\x11\x15a\r\"W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81` \x01Q\x11\x15a\r`W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80\x82\x01Q\x01Q\x15a\x08\x91W`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\r\x95Wa\r\x95a \x03V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\r\xD9W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rpV[a\x0E\x1B`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[b\x98\x96\x80\x83`@\x01Q\x83a\x0E/\x91\x90a'CV[\x10a\x0EuW`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x84` \x01Q\x81RP\x90Pa\x0E\xDFV[`\0a\x0E\xA6\x84`@\x01Q\x84a\x0E\x8A\x91\x90a'CV[a\x0E\x97\x90b\x98\x96\x80a'0V[` \x86\x01Q\x90b\x98\x96\x80a\x19\xD1V[`@\x80Q``\x81\x01\x82R\x86Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x80\x82\x01\x93\x90\x93R\x91\x86\x01Q\x90\x82\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\x03Wa\x0F\x03a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FlW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F!W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xC2Wa\x0F\x9D\x85\x82\x81Q\x81\x10a\x0F\x8FWa\x0F\x8Fa \x03V[` \x02` \x01\x01Q\x85a\x1A\rV[\x83\x82\x81Q\x81\x10a\x0F\xAFWa\x0F\xAFa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FrV[PP\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x10\x0F\x92\x91\x90a'ZV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x102\x83`\0\x01Qa\x1A\xAFV[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x10X\x90a\x1BIV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x10\xE0WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x117\x90\x85\x90`\x04\x01a(\xBFV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11TW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x11\x9A\x91\x90\x81\x01\x90a(\xD2V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\xB2\x82\x84a)\xA2V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\xCAWa\x11\xCAa\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x123W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11\xE8W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x12\x84W\x85`@\x01Q\x81\x81Q\x81\x10a\x12WWa\x12Wa \x03V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x12qWa\x12qa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x129V[P`\0\x80`\0[\x84\x81\x10\x15a\x15\x9FW`\0\x87\x82\x81Q\x81\x10a\x12\xA7Wa\x12\xA7a \x03V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x13eW\x88\x81\x81Q\x81\x10a\x12\xCEWa\x12\xCEa \x03V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x13]W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x12\xB4V[P`\0\x80[\x88\x81\x10\x15a\x14&W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x13\x8AWa\x13\x8Aa \x03V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x1DW\x85\x15a\x14\x07W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x14\x16\x90\x84a)\xA2V[\x92P`\x01\x96P[P`\x01\x01a\x13jV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x14\x9FW\x84\x15a\x14\x86W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x14\x98\x90\x82a)\xA2V[\x90P`\x01\x93P[\x80`\0\x03a\x14\xF4W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x15\x02\x81`\x05a'\x10a\x19\xD1V[\x82` \x01Q\x11\x15a\x15uW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x15\x8AWa\x15\x8Aa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x12\x8BV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x16\x01W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x16}\x90\x84\x90\x86\x90`\x04\x01a)\xB5V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x16\x95W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x17q\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x18\x02\x92\x91\x90a'ZV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a+\x08` \x83\x019`@Q` \x01a\x18U\x92\x91\x90a)\xE4V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x18\xC2\x96\x95\x94\x93\x92`\x04\x01a*?V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18\xDCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x19\x15Wa\x03_\x82\x82a\x197V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1B\xE7V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x19\x91W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x19\x96V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1A\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1A\x84\x85`@\x01Q\x85a\x1Ah\x91\x90a'CV[a\x1Au\x90b\x98\x96\x80a)\xA2V[` \x87\x01Q\x90b\x98\x96\x80a\x1C\xD9V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10\xA3\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1BiWa\x1Bia\x1F\xD4V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1B\xD8W`\0a\x1B\xC6\x85\x83\x81Q\x81\x10a\x1B\xB9Wa\x1B\xB9a \x03V[` \x02` \x01\x01Qa\x1D\x1DV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1B\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1C\xD2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\x0EW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10\xA3\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x1D\xA6W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D\xBEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x1E\nW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1E\"W`\0\x80\xFD[a\x1E.\x87\x83\x88\x01a\x1D\x94V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1EDW`\0\x80\xFD[Pa\x1EQ\x86\x82\x87\x01a\x1D\xACV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1EpW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\x88W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1E\xB6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\xCDW`\0\x80\xFD[a\x1E\xD9\x85\x82\x86\x01a\x1E^V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1E\xFBW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1F\x13W`\0\x80\xFD[a\x1F\x1F\x88\x83\x89\x01a\x1E^V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1F8W`\0\x80\xFD[Pa\x1FE\x87\x82\x88\x01a\x1D\xACV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1F\x85W`\0\x80\xFD[\x815a\x1F\x90\x81a\x1FQV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1F\xA9W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC0W`\0\x80\xFD[a\x1F\xCC\x84\x82\x85\x01a\x1D\x94V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a MW\x81\x81\x01Q\x83\x82\x01R` \x01a 5V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra n\x81` \x86\x01` \x86\x01a 2V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a!\0W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a \xB5V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra!\x7Fa\x01\xA0\x85\x01\x82a VV[\x90P` \x83\x01Qa!\xBD` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra!\xD5\x82\x82a \xA0V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra!\xEF\x82\x82a VV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\"{W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\"i\x86\x83Qa!\x0BV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\"/V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a#\0W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a#?W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#ZW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\xEEW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$%Wa$%a\x1F\xD4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a$>W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$XWa$Xa\x1F\xD4V[a$\x89` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a#\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a$\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a$\xCDW`\0\x80\xFD[a$\xD5a#oV[\x90P\x815a$\xE2\x81a\x1FQV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x1AWa%\x1Aa\x1F\xD4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a%5W`\0\x80\xFD[\x815` a%Ja%E\x83a%\0V[a#\xDEV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a%iW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a%\xCEW`\x80\x81\x89\x03\x12\x15a%\x86W`\0\x80\x81\xFD[a%\x8Ea#\x98V[\x815a%\x99\x81a\x1FQV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a%\xBC\x81a\x1FQV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a%mV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a%\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xC0\x82\x86\x03\x12\x15a&\x17W`\0\x80\xFD[a&\x1Fa#\x98V[\x825\x82\x81\x11\x15a&.W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a&@W`\0\x80\xFD[a&Ha#\xBBV[\x815a&S\x81a\x1FQV[\x81R` \x82\x015a&c\x81a\x1FQV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a&\x8C\x81a\x1FQV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a&\xA3W`\0\x80\xFD[a&\xAF\x89\x82\x85\x01a$-V[`\xA0\x83\x01RP\x82RP` \x83\x81\x015\x90\x82\x01Ra&\xCF\x86`@\x85\x01a$\xBBV[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a&\xE6W`\0\x80\xFD[a&\xF2\x87\x82\x86\x01a%$V[``\x83\x01RP\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E\xDFWa\x0E\xDFa'\x01V[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qa(\x9C\x81`\x92\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a(\xB3\x81`\x92\x84\x01` \x88\x01a 2V[\x01`\x92\x01\x94\x93PPPPV[` \x81R`\0a\x1F\x90` \x83\x01\x84a!\x0BV[`\0` \x80\x83\x85\x03\x12\x15a(\xE5W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xFCW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a)\rW`\0\x80\xFD[\x80Qa)\x1Ba%E\x82a%\0V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a):W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a)\x96W\x80\x85\x8A\x03\x12\x15a)WW`\0\x80\x81\xFD[a)_a#oV[\x85Qa)j\x81a\x1FQV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa)\x83\x81a\x1FQV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a)?V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1F\xCC`@\x83\x01\x84a!\x0BV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa*\x1C\x81`\x16\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a*3\x81`\x16\x84\x01` \x88\x01a 2V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a*o\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra*\xB0`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra*\xE5\x81\x84\x01\x86a VV[\x90P\x82\x81\x03a\x01 \x84\x01Ra*\xFA\x81\x85a VV[\x99\x98PPPPPPPPPV\xFETokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 }\xD3h\xB7\xA2@\xA8\xC6\xADAv\xCE\xEB\x89\x0CQw$\x16x7~\xE4\xAFc\xD2;\xD2\xE5~O/dsolcC\0\x08\x18\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\nTokenPermissions(address token,uint256 amount)PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 4GN\x15\xC1\xF6\xD6$\0\xE5\xFD\xD9F\x06\xA1\xBB\x1A|\x19\x0B\xD4\xE3y\x1Dk\xD8\x16\xDDg\xB37OdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static PRIORITYORDERREACTORINTEGRATION_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct PriorityOrderReactorIntegration(::ethers::contract::Contract); + impl ::core::clone::Clone for PriorityOrderReactorIntegration { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for PriorityOrderReactorIntegration { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for PriorityOrderReactorIntegration { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for PriorityOrderReactorIntegration { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(PriorityOrderReactorIntegration)) + .field(&self.address()) + .finish() + } + } + impl PriorityOrderReactorIntegration { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + PRIORITYORDERREACTORINTEGRATION_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + PRIORITYORDERREACTORINTEGRATION_ABI.clone(), + PRIORITYORDERREACTORINTEGRATION_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `IS_SCRIPT` (0xf8ccbf47) function + pub fn is_script(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([248, 204, 191, 71], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `IS_TEST` (0xfa7626d4) function + pub fn is_test(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([250, 118, 38, 212], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `NAME_HASH` (0x04622c2e) function + pub fn name_hash( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([4, 98, 44, 46], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `TYPE_HASH` (0x64d4c819) function + pub fn type_hash( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([100, 212, 200, 25], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `excludeArtifacts` (0xb5508aa9) function + pub fn exclude_artifacts( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::std::string::String>, + > { + self.0 + .method_hash([181, 80, 138, 169], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `excludeContracts` (0xe20c9f71) function + pub fn exclude_contracts( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::ethers::core::types::Address>, + > { + self.0 + .method_hash([226, 12, 159, 113], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `excludeSelectors` (0xb0464fdc) function + pub fn exclude_selectors( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([176, 70, 79, 220], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `excludeSenders` (0x1ed7831c) function + pub fn exclude_senders( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::ethers::core::types::Address>, + > { + self.0 + .method_hash([30, 215, 131, 28], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `failed` (0xba414fa6) function + pub fn failed(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([186, 65, 79, 166], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `run` (0xc0406226) function + pub fn run(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([192, 64, 98, 38], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setUp` (0x0a9254e4) function + pub fn set_up(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([10, 146, 84, 228], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `submitLoserExecution` (0xfb73ba23) function + pub fn submit_loser_execution( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([251, 115, 186, 35], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `submitRunnerUpExecution` (0x3094dff0) function + pub fn submit_runner_up_execution( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([48, 148, 223, 240], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `submitWinnerExecution` (0xa63920cc) function + pub fn submit_winner_execution( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([166, 57, 32, 204], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetArtifactSelectors` (0x66d9a9a0) function + pub fn target_artifact_selectors( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([102, 217, 169, 160], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetArtifacts` (0x85226c81) function + pub fn target_artifacts( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::std::string::String>, + > { + self.0 + .method_hash([133, 34, 108, 129], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetContracts` (0x3f7286f4) function + pub fn target_contracts( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::ethers::core::types::Address>, + > { + self.0 + .method_hash([63, 114, 134, 244], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetInterfaces` (0x2ade3880) function + pub fn target_interfaces( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([42, 222, 56, 128], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetSelectors` (0x916a17c6) function + pub fn target_selectors( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec, + > { + self.0 + .method_hash([145, 106, 23, 198], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `targetSenders` (0x3e5e3c23) function + pub fn target_senders( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::std::vec::Vec<::ethers::core::types::Address>, + > { + self.0 + .method_hash([62, 94, 60, 35], ()) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `log` event + pub fn log_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogFilter> { + self.0.event() + } + ///Gets the contract's `log_address` event + pub fn log_address_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogAddressFilter, + > { + self.0.event() + } + ///Gets the contract's `log_array` event + pub fn log_array_1_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray1Filter, + > { + self.0.event() + } + ///Gets the contract's `log_array` event + pub fn log_array_2_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray2Filter, + > { + self.0.event() + } + ///Gets the contract's `log_array` event + pub fn log_array_3_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogArray3Filter, + > { + self.0.event() + } + ///Gets the contract's `log_bytes` event + pub fn log_bytes_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogBytesFilter, + > { + self.0.event() + } + ///Gets the contract's `log_bytes32` event + pub fn log_bytes_32_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogBytes32Filter, + > { + self.0.event() + } + ///Gets the contract's `log_int` event + pub fn log_int_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogIntFilter> { + self.0.event() + } + ///Gets the contract's `log_named_address` event + pub fn log_named_address_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedAddressFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_array` event + pub fn log_named_array_1_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray1Filter, + > { + self.0.event() + } + ///Gets the contract's `log_named_array` event + pub fn log_named_array_2_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray2Filter, + > { + self.0.event() + } + ///Gets the contract's `log_named_array` event + pub fn log_named_array_3_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedArray3Filter, + > { + self.0.event() + } + ///Gets the contract's `log_named_bytes` event + pub fn log_named_bytes_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedBytesFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_bytes32` event + pub fn log_named_bytes_32_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedBytes32Filter, + > { + self.0.event() + } + ///Gets the contract's `log_named_decimal_int` event + pub fn log_named_decimal_int_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedDecimalIntFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_decimal_uint` event + pub fn log_named_decimal_uint_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedDecimalUintFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_int` event + pub fn log_named_int_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedIntFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_string` event + pub fn log_named_string_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedStringFilter, + > { + self.0.event() + } + ///Gets the contract's `log_named_uint` event + pub fn log_named_uint_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogNamedUintFilter, + > { + self.0.event() + } + ///Gets the contract's `log_string` event + pub fn log_string_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + LogStringFilter, + > { + self.0.event() + } + ///Gets the contract's `log_uint` event + pub fn log_uint_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogUintFilter> { + self.0.event() + } + ///Gets the contract's `logs` event + pub fn logs_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogsFilter> { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + PriorityOrderReactorIntegrationEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for PriorityOrderReactorIntegration { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log", abi = "log(string)")] + pub struct LogFilter(pub ::std::string::String); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_address", abi = "log_address(address)")] + pub struct LogAddressFilter(pub ::ethers::core::types::Address); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_array", abi = "log_array(uint256[])")] + pub struct LogArray1Filter { + pub val: ::std::vec::Vec<::ethers::core::types::U256>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_array", abi = "log_array(int256[])")] + pub struct LogArray2Filter { + pub val: ::std::vec::Vec<::ethers::core::types::I256>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_array", abi = "log_array(address[])")] + pub struct LogArray3Filter { + pub val: ::std::vec::Vec<::ethers::core::types::Address>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_bytes", abi = "log_bytes(bytes)")] + pub struct LogBytesFilter(pub ::ethers::core::types::Bytes); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_bytes32", abi = "log_bytes32(bytes32)")] + pub struct LogBytes32Filter(pub [u8; 32]); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_int", abi = "log_int(int256)")] + pub struct LogIntFilter(pub ::ethers::core::types::I256); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_address", abi = "log_named_address(string,address)")] + pub struct LogNamedAddressFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::Address, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_array", abi = "log_named_array(string,uint256[])")] + pub struct LogNamedArray1Filter { + pub key: ::std::string::String, + pub val: ::std::vec::Vec<::ethers::core::types::U256>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_array", abi = "log_named_array(string,int256[])")] + pub struct LogNamedArray2Filter { + pub key: ::std::string::String, + pub val: ::std::vec::Vec<::ethers::core::types::I256>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_array", abi = "log_named_array(string,address[])")] + pub struct LogNamedArray3Filter { + pub key: ::std::string::String, + pub val: ::std::vec::Vec<::ethers::core::types::Address>, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_bytes", abi = "log_named_bytes(string,bytes)")] + pub struct LogNamedBytesFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::Bytes, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_bytes32", abi = "log_named_bytes32(string,bytes32)")] + pub struct LogNamedBytes32Filter { + pub key: ::std::string::String, + pub val: [u8; 32], + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "log_named_decimal_int", + abi = "log_named_decimal_int(string,int256,uint256)" + )] + pub struct LogNamedDecimalIntFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::I256, + pub decimals: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "log_named_decimal_uint", + abi = "log_named_decimal_uint(string,uint256,uint256)" + )] + pub struct LogNamedDecimalUintFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::U256, + pub decimals: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_int", abi = "log_named_int(string,int256)")] + pub struct LogNamedIntFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::I256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_string", abi = "log_named_string(string,string)")] + pub struct LogNamedStringFilter { + pub key: ::std::string::String, + pub val: ::std::string::String, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_named_uint", abi = "log_named_uint(string,uint256)")] + pub struct LogNamedUintFilter { + pub key: ::std::string::String, + pub val: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_string", abi = "log_string(string)")] + pub struct LogStringFilter(pub ::std::string::String); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "log_uint", abi = "log_uint(uint256)")] + pub struct LogUintFilter(pub ::ethers::core::types::U256); + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "logs", abi = "logs(bytes)")] + pub struct LogsFilter(pub ::ethers::core::types::Bytes); + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum PriorityOrderReactorIntegrationEvents { + LogFilter(LogFilter), + LogAddressFilter(LogAddressFilter), + LogArray1Filter(LogArray1Filter), + LogArray2Filter(LogArray2Filter), + LogArray3Filter(LogArray3Filter), + LogBytesFilter(LogBytesFilter), + LogBytes32Filter(LogBytes32Filter), + LogIntFilter(LogIntFilter), + LogNamedAddressFilter(LogNamedAddressFilter), + LogNamedArray1Filter(LogNamedArray1Filter), + LogNamedArray2Filter(LogNamedArray2Filter), + LogNamedArray3Filter(LogNamedArray3Filter), + LogNamedBytesFilter(LogNamedBytesFilter), + LogNamedBytes32Filter(LogNamedBytes32Filter), + LogNamedDecimalIntFilter(LogNamedDecimalIntFilter), + LogNamedDecimalUintFilter(LogNamedDecimalUintFilter), + LogNamedIntFilter(LogNamedIntFilter), + LogNamedStringFilter(LogNamedStringFilter), + LogNamedUintFilter(LogNamedUintFilter), + LogStringFilter(LogStringFilter), + LogUintFilter(LogUintFilter), + LogsFilter(LogsFilter), + } + impl ::ethers::contract::EthLogDecode for PriorityOrderReactorIntegrationEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = LogFilter::decode_log(log) { + return Ok(PriorityOrderReactorIntegrationEvents::LogFilter(decoded)); + } + if let Ok(decoded) = LogAddressFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogAddressFilter(decoded), + ); + } + if let Ok(decoded) = LogArray1Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogArray1Filter(decoded), + ); + } + if let Ok(decoded) = LogArray2Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogArray2Filter(decoded), + ); + } + if let Ok(decoded) = LogArray3Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogArray3Filter(decoded), + ); + } + if let Ok(decoded) = LogBytesFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogBytesFilter(decoded), + ); + } + if let Ok(decoded) = LogBytes32Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogBytes32Filter(decoded), + ); + } + if let Ok(decoded) = LogIntFilter::decode_log(log) { + return Ok(PriorityOrderReactorIntegrationEvents::LogIntFilter(decoded)); + } + if let Ok(decoded) = LogNamedAddressFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedAddressFilter(decoded), + ); + } + if let Ok(decoded) = LogNamedArray1Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedArray1Filter(decoded), + ); + } + if let Ok(decoded) = LogNamedArray2Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedArray2Filter(decoded), + ); + } + if let Ok(decoded) = LogNamedArray3Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedArray3Filter(decoded), + ); + } + if let Ok(decoded) = LogNamedBytesFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedBytesFilter(decoded), + ); + } + if let Ok(decoded) = LogNamedBytes32Filter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedBytes32Filter(decoded), + ); + } + if let Ok(decoded) = LogNamedDecimalIntFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedDecimalIntFilter( + decoded, + ), + ); + } + if let Ok(decoded) = LogNamedDecimalUintFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedDecimalUintFilter( + decoded, + ), + ); + } + if let Ok(decoded) = LogNamedIntFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedIntFilter(decoded), + ); + } + if let Ok(decoded) = LogNamedStringFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedStringFilter(decoded), + ); + } + if let Ok(decoded) = LogNamedUintFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogNamedUintFilter(decoded), + ); + } + if let Ok(decoded) = LogStringFilter::decode_log(log) { + return Ok( + PriorityOrderReactorIntegrationEvents::LogStringFilter(decoded), + ); + } + if let Ok(decoded) = LogUintFilter::decode_log(log) { + return Ok(PriorityOrderReactorIntegrationEvents::LogUintFilter(decoded)); + } + if let Ok(decoded) = LogsFilter::decode_log(log) { + return Ok(PriorityOrderReactorIntegrationEvents::LogsFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for PriorityOrderReactorIntegrationEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::LogFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogAddressFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogArray1Filter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogArray2Filter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogArray3Filter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogBytesFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogBytes32Filter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogIntFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogNamedAddressFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray1Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray2Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedArray3Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedBytesFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedBytes32Filter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedDecimalIntFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedDecimalUintFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedIntFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogNamedStringFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogNamedUintFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::LogStringFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogUintFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::LogsFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { + fn from(value: LogFilter) -> Self { + Self::LogFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogAddressFilter) -> Self { + Self::LogAddressFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogArray1Filter) -> Self { + Self::LogArray1Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogArray2Filter) -> Self { + Self::LogArray2Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogArray3Filter) -> Self { + Self::LogArray3Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogBytesFilter) -> Self { + Self::LogBytesFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogBytes32Filter) -> Self { + Self::LogBytes32Filter(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { + fn from(value: LogIntFilter) -> Self { + Self::LogIntFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedAddressFilter) -> Self { + Self::LogNamedAddressFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedArray1Filter) -> Self { + Self::LogNamedArray1Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedArray2Filter) -> Self { + Self::LogNamedArray2Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedArray3Filter) -> Self { + Self::LogNamedArray3Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedBytesFilter) -> Self { + Self::LogNamedBytesFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedBytes32Filter) -> Self { + Self::LogNamedBytes32Filter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedDecimalIntFilter) -> Self { + Self::LogNamedDecimalIntFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedDecimalUintFilter) -> Self { + Self::LogNamedDecimalUintFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedIntFilter) -> Self { + Self::LogNamedIntFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedStringFilter) -> Self { + Self::LogNamedStringFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogNamedUintFilter) -> Self { + Self::LogNamedUintFilter(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationEvents { + fn from(value: LogStringFilter) -> Self { + Self::LogStringFilter(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { + fn from(value: LogUintFilter) -> Self { + Self::LogUintFilter(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { + fn from(value: LogsFilter) -> Self { + Self::LogsFilter(value) + } + } + ///Container type for all input parameters for the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] + pub struct IsScriptCall; + ///Container type for all input parameters for the `IS_TEST` function with signature `IS_TEST()` and selector `0xfa7626d4` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "IS_TEST", abi = "IS_TEST()")] + pub struct IsTestCall; + ///Container type for all input parameters for the `NAME_HASH` function with signature `NAME_HASH()` and selector `0x04622c2e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "NAME_HASH", abi = "NAME_HASH()")] + pub struct NameHashCall; + ///Container type for all input parameters for the `TYPE_HASH` function with signature `TYPE_HASH()` and selector `0x64d4c819` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "TYPE_HASH", abi = "TYPE_HASH()")] + pub struct TypeHashCall; + ///Container type for all input parameters for the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "excludeArtifacts", abi = "excludeArtifacts()")] + pub struct ExcludeArtifactsCall; + ///Container type for all input parameters for the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "excludeContracts", abi = "excludeContracts()")] + pub struct ExcludeContractsCall; + ///Container type for all input parameters for the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "excludeSelectors", abi = "excludeSelectors()")] + pub struct ExcludeSelectorsCall; + ///Container type for all input parameters for the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "excludeSenders", abi = "excludeSenders()")] + pub struct ExcludeSendersCall; + ///Container type for all input parameters for the `failed` function with signature `failed()` and selector `0xba414fa6` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "failed", abi = "failed()")] + pub struct FailedCall; + ///Container type for all input parameters for the `run` function with signature `run()` and selector `0xc0406226` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "run", abi = "run()")] + pub struct RunCall; + ///Container type for all input parameters for the `setUp` function with signature `setUp()` and selector `0x0a9254e4` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setUp", abi = "setUp()")] + pub struct SetUpCall; + ///Container type for all input parameters for the `submitLoserExecution` function with signature `submitLoserExecution()` and selector `0xfb73ba23` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "submitLoserExecution", abi = "submitLoserExecution()")] + pub struct SubmitLoserExecutionCall; + ///Container type for all input parameters for the `submitRunnerUpExecution` function with signature `submitRunnerUpExecution()` and selector `0x3094dff0` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "submitRunnerUpExecution", abi = "submitRunnerUpExecution()")] + pub struct SubmitRunnerUpExecutionCall; + ///Container type for all input parameters for the `submitWinnerExecution` function with signature `submitWinnerExecution()` and selector `0xa63920cc` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "submitWinnerExecution", abi = "submitWinnerExecution()")] + pub struct SubmitWinnerExecutionCall; + ///Container type for all input parameters for the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetArtifactSelectors", abi = "targetArtifactSelectors()")] + pub struct TargetArtifactSelectorsCall; + ///Container type for all input parameters for the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetArtifacts", abi = "targetArtifacts()")] + pub struct TargetArtifactsCall; + ///Container type for all input parameters for the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetContracts", abi = "targetContracts()")] + pub struct TargetContractsCall; + ///Container type for all input parameters for the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetInterfaces", abi = "targetInterfaces()")] + pub struct TargetInterfacesCall; + ///Container type for all input parameters for the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetSelectors", abi = "targetSelectors()")] + pub struct TargetSelectorsCall; + ///Container type for all input parameters for the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "targetSenders", abi = "targetSenders()")] + pub struct TargetSendersCall; + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum PriorityOrderReactorIntegrationCalls { + IsScript(IsScriptCall), + IsTest(IsTestCall), + NameHash(NameHashCall), + TypeHash(TypeHashCall), + ExcludeArtifacts(ExcludeArtifactsCall), + ExcludeContracts(ExcludeContractsCall), + ExcludeSelectors(ExcludeSelectorsCall), + ExcludeSenders(ExcludeSendersCall), + Failed(FailedCall), + Run(RunCall), + SetUp(SetUpCall), + SubmitLoserExecution(SubmitLoserExecutionCall), + SubmitRunnerUpExecution(SubmitRunnerUpExecutionCall), + SubmitWinnerExecution(SubmitWinnerExecutionCall), + TargetArtifactSelectors(TargetArtifactSelectorsCall), + TargetArtifacts(TargetArtifactsCall), + TargetContracts(TargetContractsCall), + TargetInterfaces(TargetInterfacesCall), + TargetSelectors(TargetSelectorsCall), + TargetSenders(TargetSendersCall), + } + impl ::ethers::core::abi::AbiDecode for PriorityOrderReactorIntegrationCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsScript(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsTest(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::NameHash(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TypeHash(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExcludeArtifacts(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExcludeContracts(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExcludeSelectors(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExcludeSenders(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Failed(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Run(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetUp(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SubmitLoserExecution(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SubmitRunnerUpExecution(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SubmitWinnerExecution(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetArtifactSelectors(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetArtifacts(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetContracts(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetInterfaces(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetSelectors(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TargetSenders(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for PriorityOrderReactorIntegrationCalls { + fn encode(self) -> Vec { + match self { + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IsTest(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::NameHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TypeHash(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeArtifacts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeContracts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeSelectors(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExcludeSenders(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Failed(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SubmitLoserExecution(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SubmitRunnerUpExecution(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::SubmitWinnerExecution(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetArtifactSelectors(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetArtifacts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetContracts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetInterfaces(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetSelectors(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TargetSenders(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for PriorityOrderReactorIntegrationCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::IsScript(element) => ::core::fmt::Display::fmt(element, f), + Self::IsTest(element) => ::core::fmt::Display::fmt(element, f), + Self::NameHash(element) => ::core::fmt::Display::fmt(element, f), + Self::TypeHash(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcludeArtifacts(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcludeContracts(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcludeSelectors(element) => ::core::fmt::Display::fmt(element, f), + Self::ExcludeSenders(element) => ::core::fmt::Display::fmt(element, f), + Self::Failed(element) => ::core::fmt::Display::fmt(element, f), + Self::Run(element) => ::core::fmt::Display::fmt(element, f), + Self::SetUp(element) => ::core::fmt::Display::fmt(element, f), + Self::SubmitLoserExecution(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SubmitRunnerUpExecution(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SubmitWinnerExecution(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TargetArtifactSelectors(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TargetArtifacts(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetContracts(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetInterfaces(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetSelectors(element) => ::core::fmt::Display::fmt(element, f), + Self::TargetSenders(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: IsScriptCall) -> Self { + Self::IsScript(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: IsTestCall) -> Self { + Self::IsTest(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: NameHashCall) -> Self { + Self::NameHash(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: TypeHashCall) -> Self { + Self::TypeHash(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: ExcludeArtifactsCall) -> Self { + Self::ExcludeArtifacts(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: ExcludeContractsCall) -> Self { + Self::ExcludeContracts(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: ExcludeSelectorsCall) -> Self { + Self::ExcludeSelectors(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: ExcludeSendersCall) -> Self { + Self::ExcludeSenders(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: FailedCall) -> Self { + Self::Failed(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: RunCall) -> Self { + Self::Run(value) + } + } + impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { + fn from(value: SetUpCall) -> Self { + Self::SetUp(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: SubmitLoserExecutionCall) -> Self { + Self::SubmitLoserExecution(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: SubmitRunnerUpExecutionCall) -> Self { + Self::SubmitRunnerUpExecution(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: SubmitWinnerExecutionCall) -> Self { + Self::SubmitWinnerExecution(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetArtifactSelectorsCall) -> Self { + Self::TargetArtifactSelectors(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetArtifactsCall) -> Self { + Self::TargetArtifacts(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetContractsCall) -> Self { + Self::TargetContracts(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetInterfacesCall) -> Self { + Self::TargetInterfaces(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetSelectorsCall) -> Self { + Self::TargetSelectors(value) + } + } + impl ::core::convert::From + for PriorityOrderReactorIntegrationCalls { + fn from(value: TargetSendersCall) -> Self { + Self::TargetSenders(value) + } + } + ///Container type for all return fields from the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsScriptReturn(pub bool); + ///Container type for all return fields from the `IS_TEST` function with signature `IS_TEST()` and selector `0xfa7626d4` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsTestReturn(pub bool); + ///Container type for all return fields from the `NAME_HASH` function with signature `NAME_HASH()` and selector `0x04622c2e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct NameHashReturn(pub [u8; 32]); + ///Container type for all return fields from the `TYPE_HASH` function with signature `TYPE_HASH()` and selector `0x64d4c819` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TypeHashReturn(pub [u8; 32]); + ///Container type for all return fields from the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExcludeArtifactsReturn { + pub excluded_artifacts: ::std::vec::Vec<::std::string::String>, + } + ///Container type for all return fields from the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExcludeContractsReturn { + pub excluded_contracts: ::std::vec::Vec<::ethers::core::types::Address>, + } + ///Container type for all return fields from the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExcludeSelectorsReturn { + pub excluded_selectors: ::std::vec::Vec, + } + ///Container type for all return fields from the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct ExcludeSendersReturn { + pub excluded_senders: ::std::vec::Vec<::ethers::core::types::Address>, + } + ///Container type for all return fields from the `failed` function with signature `failed()` and selector `0xba414fa6` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FailedReturn(pub bool); + ///Container type for all return fields from the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetArtifactSelectorsReturn { + pub targeted_artifact_selectors: ::std::vec::Vec, + } + ///Container type for all return fields from the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetArtifactsReturn { + pub targeted_artifacts: ::std::vec::Vec<::std::string::String>, + } + ///Container type for all return fields from the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetContractsReturn { + pub targeted_contracts: ::std::vec::Vec<::ethers::core::types::Address>, + } + ///Container type for all return fields from the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetInterfacesReturn { + pub targeted_interfaces: ::std::vec::Vec, + } + ///Container type for all return fields from the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetSelectorsReturn { + pub targeted_selectors: ::std::vec::Vec, + } + ///Container type for all return fields from the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct TargetSendersReturn { + pub targeted_senders: ::std::vec::Vec<::ethers::core::types::Address>, + } +} diff --git a/crates/bindings-uniswapx/src/protocol_fees.rs b/crates/bindings-uniswapx/src/protocol_fees.rs index 77fd2ec..eb21973 100644 --- a/crates/bindings-uniswapx/src/protocol_fees.rs +++ b/crates/bindings-uniswapx/src/protocol_fees.rs @@ -7,7 +7,7 @@ pub use protocol_fees::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod protocol_fees { #[allow(deprecated)] @@ -17,164 +17,213 @@ pub mod protocol_fees { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("feeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("feeController"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("contract IProtocolFeeController",), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("owner"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("owner"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setProtocolFeeController",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferOwnership"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferOwnership"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("OwnershipTransferred",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("user"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newOwner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("oldFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("newFeeController"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("duplicateToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("token"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("recipient"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("feeToken"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ]), receive: false, @@ -182,8 +231,9 @@ pub mod protocol_fees { } } ///The parsed JSON ABI of the contract. - pub static PROTOCOLFEES_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static PROTOCOLFEES_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct ProtocolFees(::ethers::contract::Contract); impl ::core::clone::Clone for ProtocolFees { fn clone(&self) -> Self { @@ -215,16 +265,21 @@ pub mod protocol_fees { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - PROTOCOLFEES_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + PROTOCOLFEES_ABI.clone(), + client, + ), + ) } ///Calls the contract's `feeController` (0x6999b377) function pub fn fee_controller( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([105, 153, 179, 119], ()) .expect("method not found (this should never happen)") @@ -232,7 +287,10 @@ pub mod protocol_fees { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") @@ -258,8 +316,11 @@ pub mod protocol_fees { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } ///Gets the contract's `ProtocolFeeControllerSet` event @@ -275,13 +336,16 @@ pub mod protocol_fees { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ProtocolFeesEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ProtocolFeesEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for ProtocolFees { + impl From<::ethers::contract::Contract> + for ProtocolFees { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -291,11 +355,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] pub struct DuplicateFeeOutput { @@ -306,11 +372,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] pub struct FeeTooLarge { @@ -318,26 +386,53 @@ pub mod protocol_fees { pub amount: ::ethers::core::types::U256, pub recipient: ::ethers::core::types::Address, } + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] pub struct InvalidFeeToken { pub fee_token: ::ethers::core::types::Address, } ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ProtocolFeesErrors { DuplicateFeeOutput(DuplicateFeeOutput), FeeTooLarge(FeeTooLarge), + InputAndOutputFees(InputAndOutputFees), InvalidFeeToken(InvalidFeeToken), /// The standard solidity revert string, with selector /// Error(string) -- 0x08c379a0 @@ -348,20 +443,29 @@ pub mod protocol_fees { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DuplicateFeeOutput(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeTooLarge(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidFeeToken(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -373,8 +477,15 @@ pub mod protocol_fees { Self::DuplicateFeeOutput(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::FeeTooLarge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidFeeToken(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -384,12 +495,17 @@ pub mod protocol_fees { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => true, - _ if selector == ::selector() => { + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { true } _ => false, @@ -399,8 +515,13 @@ pub mod protocol_fees { impl ::core::fmt::Display for ProtocolFeesErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::DuplicateFeeOutput(element) => ::core::fmt::Display::fmt(element, f), + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } @@ -421,6 +542,11 @@ pub mod protocol_fees { Self::FeeTooLarge(value) } } + impl ::core::convert::From for ProtocolFeesErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) + } + } impl ::core::convert::From for ProtocolFeesErrors { fn from(value: InvalidFeeToken) -> Self { Self::InvalidFeeToken(value) @@ -430,11 +556,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -450,11 +578,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "ProtocolFeeControllerSet", @@ -465,7 +595,16 @@ pub mod protocol_fees { pub new_fee_controller: ::ethers::core::types::Address, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ProtocolFeesEvents { OwnershipTransferredFilter(OwnershipTransferredFilter), ProtocolFeeControllerSetFilter(ProtocolFeeControllerSetFilter), @@ -486,7 +625,9 @@ pub mod protocol_fees { impl ::core::fmt::Display for ProtocolFeesEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::OwnershipTransferredFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::ProtocolFeeControllerSetFilter(element) => { ::core::fmt::Display::fmt(element, f) } @@ -508,11 +649,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "feeController", abi = "feeController()")] pub struct FeeControllerCall; @@ -521,11 +664,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; @@ -534,11 +679,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "setProtocolFeeController", @@ -552,18 +699,29 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { pub new_owner: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ProtocolFeesCalls { FeeController(FeeControllerCall), Owner(OwnerCall), @@ -575,21 +733,24 @@ pub mod protocol_fees { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::FeeController(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::SetProtocolFeeController(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -598,12 +759,16 @@ pub mod protocol_fees { impl ::ethers::core::abi::AbiEncode for ProtocolFeesCalls { fn encode(self) -> Vec { match self { - Self::FeeController(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::SetProtocolFeeController(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -612,7 +777,9 @@ pub mod protocol_fees { match self { Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), - Self::SetProtocolFeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), } } @@ -642,11 +809,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FeeControllerReturn(pub ::ethers::core::types::Address); ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` @@ -654,11 +823,13 @@ pub mod protocol_fees { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/reactor_events.rs b/crates/bindings-uniswapx/src/reactor_events.rs index ea6b4f8..34f9c9b 100644 --- a/crates/bindings-uniswapx/src/reactor_events.rs +++ b/crates/bindings-uniswapx/src/reactor_events.rs @@ -7,7 +7,7 @@ pub use reactor_events::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod reactor_events { #[allow(deprecated)] @@ -15,43 +15,52 @@ pub mod reactor_events { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, functions: ::std::collections::BTreeMap::new(), - events: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("Fill"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Fill"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("orderHash"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("swapper"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("nonce"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Fill"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, }, ], - anonymous: false, - },], - )]), + ), + ]), errors: ::std::collections::BTreeMap::new(), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static REACTOREVENTS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static REACTOREVENTS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct ReactorEvents(::ethers::contract::Contract); impl ::core::clone::Clone for ReactorEvents { fn clone(&self) -> Self { @@ -83,11 +92,13 @@ pub mod reactor_events { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - REACTOREVENTS_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + REACTOREVENTS_ABI.clone(), + client, + ), + ) } ///Gets the contract's `Fill` event pub fn fill_filter( @@ -99,13 +110,11 @@ pub mod reactor_events { pub fn events( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, FillFilter> { - self.0 - .event_with_filter(::core::default::Default::default()) + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for ReactorEvents - { + for ReactorEvents { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -114,11 +123,13 @@ pub mod reactor_events { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] pub struct FillFilter { diff --git a/crates/bindings-uniswapx/src/reactor_structs.rs b/crates/bindings-uniswapx/src/reactor_structs.rs deleted file mode 100644 index 0c1c5c3..0000000 --- a/crates/bindings-uniswapx/src/reactor_structs.rs +++ /dev/null @@ -1,72 +0,0 @@ -pub use reactor_structs::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod reactor_structs { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::std::collections::BTreeMap::new(), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static REACTORSTRUCTS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct ReactorStructs(::ethers::contract::Contract); - impl ::core::clone::Clone for ReactorStructs { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for ReactorStructs { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for ReactorStructs { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for ReactorStructs { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(ReactorStructs)) - .field(&self.address()) - .finish() - } - } - impl ReactorStructs { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - REACTORSTRUCTS_ABI.clone(), - client, - )) - } - } - impl From<::ethers::contract::Contract> - for ReactorStructs - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } -} diff --git a/crates/bindings-uniswapx/src/reentrancy_guard.rs b/crates/bindings-uniswapx/src/reentrancy_guard.rs index a1e0a97..07ea782 100644 --- a/crates/bindings-uniswapx/src/reentrancy_guard.rs +++ b/crates/bindings-uniswapx/src/reentrancy_guard.rs @@ -7,7 +7,7 @@ pub use reentrancy_guard::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod reentrancy_guard { #[allow(deprecated)] @@ -22,8 +22,9 @@ pub mod reentrancy_guard { } } ///The parsed JSON ABI of the contract. - pub static REENTRANCYGUARD_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static REENTRANCYGUARD_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); pub struct ReentrancyGuard(::ethers::contract::Contract); impl ::core::clone::Clone for ReentrancyGuard { fn clone(&self) -> Self { @@ -55,16 +56,17 @@ pub mod reentrancy_guard { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - REENTRANCYGUARD_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + REENTRANCYGUARD_ABI.clone(), + client, + ), + ) } } impl From<::ethers::contract::Contract> - for ReentrancyGuard - { + for ReentrancyGuard { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/resolved_order_lib.rs b/crates/bindings-uniswapx/src/resolved_order_lib.rs index 1006e5b..91fb623 100644 --- a/crates/bindings-uniswapx/src/resolved_order_lib.rs +++ b/crates/bindings-uniswapx/src/resolved_order_lib.rs @@ -7,7 +7,7 @@ pub use resolved_order_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod resolved_order_lib { #[allow(deprecated)] @@ -17,26 +17,14 @@ pub mod resolved_order_lib { functions: ::std::collections::BTreeMap::new(), events: ::std::collections::BTreeMap::new(), errors: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("DeadlinePassed"), - inputs: ::std::vec![], - },], - ), ( ::std::borrow::ToOwned::to_owned("InvalidReactor"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), - inputs: ::std::vec![], - },], - ), - ( - ::std::borrow::ToOwned::to_owned("ValidationFailed"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ValidationFailed"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], ), ]), receive: false, @@ -44,18 +32,21 @@ pub mod resolved_order_lib { } } ///The parsed JSON ABI of the contract. - pub static RESOLVEDORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static RESOLVEDORDERLIB_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x8E\xE0\xBB$\xD1\xA5+\xE0OF\x01\x89\xBD\x1D\x91\xD2\x1Cc\x16z\x9C\x86?v\xC5\xC2\x02 ^Y\xC52dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x86\x7FbEL\xE7h%\xBA\xBF\xD6gA\x98\xAF+\x8A\x1A\xD2\xFC\r\x0B|g\x88\x9F\xCF\xB7*`6\x0FdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static RESOLVEDORDERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static RESOLVEDORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x8E\xE0\xBB$\xD1\xA5+\xE0OF\x01\x89\xBD\x1D\x91\xD2\x1Cc\x16z\x9C\x86?v\xC5\xC2\x02 ^Y\xC52dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x86\x7FbEL\xE7h%\xBA\xBF\xD6gA\x98\xAF+\x8A\x1A\xD2\xFC\r\x0B|g\x88\x9F\xCF\xB7*`6\x0FdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static RESOLVEDORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static RESOLVEDORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ResolvedOrderLib(::ethers::contract::Contract); impl ::core::clone::Clone for ResolvedOrderLib { fn clone(&self) -> Self { @@ -87,11 +78,13 @@ pub mod resolved_order_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - RESOLVEDORDERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + RESOLVEDORDERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -134,139 +127,24 @@ pub mod resolved_order_lib { } } impl From<::ethers::contract::Contract> - for ResolvedOrderLib - { + for ResolvedOrderLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `DeadlinePassed` with signature `DeadlinePassed()` and selector `0x70f65caa` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "DeadlinePassed", abi = "DeadlinePassed()")] - pub struct DeadlinePassed; ///Custom Error type `InvalidReactor` with signature `InvalidReactor()` and selector `0x4ddf4a64` #[derive( Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] pub struct InvalidReactor; - ///Custom Error type `ValidationFailed` with signature `ValidationFailed()` and selector `0x0a0b0d79` - #[derive( - Clone, - ::ethers::contract::EthError, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[etherror(name = "ValidationFailed", abi = "ValidationFailed()")] - pub struct ValidationFailed; - ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum ResolvedOrderLibErrors { - DeadlinePassed(DeadlinePassed), - InvalidReactor(InvalidReactor), - ValidationFailed(ValidationFailed), - /// The standard solidity revert string, with selector - /// Error(string) -- 0x08c379a0 - RevertString(::std::string::String), - } - impl ::ethers::core::abi::AbiDecode for ResolvedOrderLibErrors { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { - return Ok(Self::RevertString(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::DeadlinePassed(decoded)); - } - if let Ok(decoded) = ::decode(data) { - return Ok(Self::InvalidReactor(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::ValidationFailed(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for ResolvedOrderLibErrors { - fn encode(self) -> ::std::vec::Vec { - match self { - Self::DeadlinePassed(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::InvalidReactor(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ValidationFailed(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), - } - } - } - impl ::ethers::contract::ContractRevert for ResolvedOrderLibErrors { - fn valid_selector(selector: [u8; 4]) -> bool { - match selector { - [0x08, 0xc3, 0x79, 0xa0] => true, - _ if selector == ::selector() => { - true - } - _ if selector == ::selector() => { - true - } - _ if selector == ::selector() => { - true - } - _ => false, - } - } - } - impl ::core::fmt::Display for ResolvedOrderLibErrors { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::DeadlinePassed(element) => ::core::fmt::Display::fmt(element, f), - Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::ValidationFailed(element) => ::core::fmt::Display::fmt(element, f), - Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), - } - } - } - impl ::core::convert::From<::std::string::String> for ResolvedOrderLibErrors { - fn from(value: String) -> Self { - Self::RevertString(value) - } - } - impl ::core::convert::From for ResolvedOrderLibErrors { - fn from(value: DeadlinePassed) -> Self { - Self::DeadlinePassed(value) - } - } - impl ::core::convert::From for ResolvedOrderLibErrors { - fn from(value: InvalidReactor) -> Self { - Self::InvalidReactor(value) - } - } - impl ::core::convert::From for ResolvedOrderLibErrors { - fn from(value: ValidationFailed) -> Self { - Self::ValidationFailed(value) - } - } } diff --git a/crates/bindings-uniswapx/src/safe_cast.rs b/crates/bindings-uniswapx/src/safe_cast.rs index 375e11c..fa82c26 100644 --- a/crates/bindings-uniswapx/src/safe_cast.rs +++ b/crates/bindings-uniswapx/src/safe_cast.rs @@ -7,7 +7,7 @@ pub use safe_cast::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod safe_cast { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod safe_cast { } } ///The parsed JSON ABI of the contract. - pub static SAFECAST_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SAFECAST_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 V\xEBK5\x1F!\xE0\xAA\x1E\xB4\x18\xDC\x0F\x93\xFF\x8A8c\x07\x1D\x81\x97\x13\0eD\xF7\xF35\r\xE1:dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x9D\x0B\xCE\xA8\xE0@\x8F\xF4W\xA1\xA9s0\xD8\x1E,#R\x18\x1Aa\xDF\xB5\xFD\x13_\tH\xBB\xB2\x04\xADdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static SAFECAST_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SAFECAST_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 V\xEBK5\x1F!\xE0\xAA\x1E\xB4\x18\xDC\x0F\x93\xFF\x8A8c\x07\x1D\x81\x97\x13\0eD\xF7\xF35\r\xE1:dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x9D\x0B\xCE\xA8\xE0@\x8F\xF4W\xA1\xA9s0\xD8\x1E,#R\x18\x1Aa\xDF\xB5\xFD\x13_\tH\xBB\xB2\x04\xADdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static SAFECAST_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static SAFECAST_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct SafeCast(::ethers::contract::Contract); impl ::core::clone::Clone for SafeCast { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod safe_cast { } impl ::core::fmt::Debug for SafeCast { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(SafeCast)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(SafeCast)).field(&self.address()).finish() } } impl SafeCast { @@ -65,11 +66,13 @@ pub mod safe_cast { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SAFECAST_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SAFECAST_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod safe_cast { Ok(deployer) } } - impl From<::ethers::contract::Contract> for SafeCast { + impl From<::ethers::contract::Contract> + for SafeCast { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/safe_transfer_lib.rs b/crates/bindings-uniswapx/src/safe_transfer_lib.rs index 55aea24..cdd3d25 100644 --- a/crates/bindings-uniswapx/src/safe_transfer_lib.rs +++ b/crates/bindings-uniswapx/src/safe_transfer_lib.rs @@ -7,7 +7,7 @@ pub use safe_transfer_lib::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod safe_transfer_lib { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod safe_transfer_lib { } } ///The parsed JSON ABI of the contract. - pub static SAFETRANSFERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SAFETRANSFERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEFc6\x01Q\x01\x12T\x9C\xE8I8\xFAFR1X\x8E\x95z\x8E\x15\xB8\xAE\xE1\xA4B\xE8Gr\x128dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 `i|\x11\xF9;|\xE2\xBF\xE7\xE0uw\xDEh\xD4\xE6Mn\xC7\xF6.*.\x8A\xFF\xA7\xE4\xA6e^\x87dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static SAFETRANSFERLIB_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SAFETRANSFERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEFc6\x01Q\x01\x12T\x9C\xE8I8\xFAFR1X\x8E\x95z\x8E\x15\xB8\xAE\xE1\xA4B\xE8Gr\x128dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 `i|\x11\xF9;|\xE2\xBF\xE7\xE0uw\xDEh\xD4\xE6Mn\xC7\xF6.*.\x8A\xFF\xA7\xE4\xA6e^\x87dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static SAFETRANSFERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static SAFETRANSFERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct SafeTransferLib(::ethers::contract::Contract); impl ::core::clone::Clone for SafeTransferLib { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod safe_transfer_lib { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SAFETRANSFERLIB_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SAFETRANSFERLIB_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -112,8 +117,7 @@ pub mod safe_transfer_lib { } } impl From<::ethers::contract::Contract> - for SafeTransferLib - { + for SafeTransferLib { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/shared_types.rs b/crates/bindings-uniswapx/src/shared_types.rs index 18af996..87f8822 100644 --- a/crates/bindings-uniswapx/src/shared_types.rs +++ b/crates/bindings-uniswapx/src/shared_types.rs @@ -1,13 +1,34 @@ +///`ExactInputParams(bytes,address,uint256,uint256)` +#[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash +)] +pub struct ExactInputParams { + pub path: ::ethers::core::types::Bytes, + pub recipient: ::ethers::core::types::Address, + pub amount_in: ::ethers::core::types::U256, + pub amount_out_minimum: ::ethers::core::types::U256, +} ///`AllowanceTransferDetails(address,address,uint160,address)` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceTransferDetails { pub from: ::ethers::core::types::Address, @@ -20,11 +41,13 @@ pub struct AllowanceTransferDetails { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct PermitBatch { pub details: ::std::vec::Vec, @@ -36,11 +59,13 @@ pub struct PermitBatch { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct PermitDetails { pub token: ::ethers::core::types::Address, @@ -53,11 +78,13 @@ pub struct PermitDetails { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct PermitSingle { pub details: PermitDetails, @@ -69,11 +96,13 @@ pub struct PermitSingle { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TokenSpenderPair { pub token: ::ethers::core::types::Address, @@ -84,11 +113,13 @@ pub struct TokenSpenderPair { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct PermitBatchTransferFrom { pub permitted: ::std::vec::Vec, @@ -100,11 +131,13 @@ pub struct PermitBatchTransferFrom { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct PermitTransferFrom { pub permitted: TokenPermissions, @@ -116,11 +149,13 @@ pub struct PermitTransferFrom { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SignatureTransferDetails { pub to: ::ethers::core::types::Address, @@ -131,43 +166,30 @@ pub struct SignatureTransferDetails { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TokenPermissions { pub token: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } -///`ExactInputParams(bytes,address,uint256,uint256)` -#[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, -)] -pub struct ExactInputParams { - pub path: ::ethers::core::types::Bytes, - pub recipient: ::ethers::core::types::Address, - pub amount_in: ::ethers::core::types::U256, - pub amount_out_minimum: ::ethers::core::types::U256, -} ///`InputToken(address,uint256,uint256)` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct InputToken { pub token: ::ethers::core::types::Address, @@ -179,11 +201,13 @@ pub struct InputToken { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OrderInfo { pub reactor: ::ethers::core::types::Address, @@ -198,11 +222,13 @@ pub struct OrderInfo { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OutputToken { pub token: ::ethers::core::types::Address, @@ -214,11 +240,13 @@ pub struct OutputToken { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ResolvedOrder { pub info: OrderInfo, @@ -232,26 +260,64 @@ pub struct ResolvedOrder { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SignedOrder { pub order: ::ethers::core::types::Bytes, pub sig: ::ethers::core::types::Bytes, } +///`FuzzArtifactSelector(string,bytes4[])` +#[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash +)] +pub struct FuzzArtifactSelector { + pub artifact: ::std::string::String, + pub selectors: ::std::vec::Vec<[u8; 4]>, +} +///`FuzzInterface(address,string[])` +#[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash +)] +pub struct FuzzInterface { + pub addr: ::ethers::core::types::Address, + pub artifacts: ::std::vec::Vec<::std::string::String>, +} ///`FuzzSelector(address,bytes4[])` #[derive( Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct FuzzSelector { pub addr: ::ethers::core::types::Address, diff --git a/crates/bindings-uniswapx/src/short_strings.rs b/crates/bindings-uniswapx/src/short_strings.rs index a262f1f..5d8be83 100644 --- a/crates/bindings-uniswapx/src/short_strings.rs +++ b/crates/bindings-uniswapx/src/short_strings.rs @@ -7,7 +7,7 @@ pub use short_strings::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod short_strings { #[allow(deprecated)] @@ -19,23 +19,29 @@ pub mod short_strings { errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("InvalidShortString"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidShortString"), - inputs: ::std::vec![], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidShortString"), + inputs: ::std::vec![], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("StringTooLong"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("StringTooLong"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("str"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("StringTooLong"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("str"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + }, + ], ), ]), receive: false, @@ -43,18 +49,21 @@ pub mod short_strings { } } ///The parsed JSON ABI of the contract. - pub static SHORTSTRINGS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SHORTSTRINGS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 3q\xB4\xBA\xC1\xC6\nj\x93\xF8\x97\x7F\xF38\x02\x9Eo\xCDf\xB4\x0FU\x85r\xA8\x17\xF12\xB9\xF1\xB1+dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ou5\x14\xE7&q\xD4\xC8\r\xF6\x86=p\xF1'\xC1\xFFgn\xC5\xEA\r8\xB7w6&\xD8\xCBcrdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static SHORTSTRINGS_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SHORTSTRINGS_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 3q\xB4\xBA\xC1\xC6\nj\x93\xF8\x97\x7F\xF38\x02\x9Eo\xCDf\xB4\x0FU\x85r\xA8\x17\xF12\xB9\xF1\xB1+dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ou5\x14\xE7&q\xD4\xC8\r\xF6\x86=p\xF1'\xC1\xFFgn\xC5\xEA\r8\xB7w6&\xD8\xCBcrdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static SHORTSTRINGS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static SHORTSTRINGS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct ShortStrings(::ethers::contract::Contract); impl ::core::clone::Clone for ShortStrings { fn clone(&self) -> Self { @@ -86,11 +95,13 @@ pub mod short_strings { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SHORTSTRINGS_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SHORTSTRINGS_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -132,7 +143,8 @@ pub mod short_strings { Ok(deployer) } } - impl From<::ethers::contract::Contract> for ShortStrings { + impl From<::ethers::contract::Contract> + for ShortStrings { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -142,11 +154,13 @@ pub mod short_strings { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidShortString", abi = "InvalidShortString()")] pub struct InvalidShortString; @@ -155,18 +169,29 @@ pub mod short_strings { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "StringTooLong", abi = "StringTooLong(string)")] pub struct StringTooLong { pub str: ::std::string::String, } ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum ShortStringsErrors { InvalidShortString(InvalidShortString), StringTooLong(StringTooLong), @@ -179,17 +204,19 @@ pub mod short_strings { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::InvalidShortString(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::StringTooLong(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -201,7 +228,9 @@ pub mod short_strings { Self::InvalidShortString(element) => { ::ethers::core::abi::AbiEncode::encode(element) } - Self::StringTooLong(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::StringTooLong(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), } } @@ -211,11 +240,11 @@ pub mod short_strings { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } - _ if selector == ::selector() => { + _ if selector + == ::selector() => { true } _ => false, @@ -225,7 +254,9 @@ pub mod short_strings { impl ::core::fmt::Display for ShortStringsErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::InvalidShortString(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidShortString(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::StringTooLong(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } diff --git a/crates/bindings-uniswapx/src/signed_math.rs b/crates/bindings-uniswapx/src/signed_math.rs index 70e06b1..af4c683 100644 --- a/crates/bindings-uniswapx/src/signed_math.rs +++ b/crates/bindings-uniswapx/src/signed_math.rs @@ -7,7 +7,7 @@ pub use signed_math::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod signed_math { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod signed_math { } } ///The parsed JSON ABI of the contract. - pub static SIGNEDMATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SIGNEDMATH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAF}\xAB`|\x01\x14'\xF2!\xCAG\x93\t\x8Bh\xFB\xE4\xD2\x80\xDAr^|\x13\xD2Z1\x18p:\x07dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x14A\xD1\x16[#u\x9A\xC5\x9EI\x07\xB3OEk\xB4\xD6\xF8\xE1\xDF\xD7\x89\x8Dd|\x82\x0C\x9E@ykdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static SIGNEDMATH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SIGNEDMATH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xAF}\xAB`|\x01\x14'\xF2!\xCAG\x93\t\x8Bh\xFB\xE4\xD2\x80\xDAr^|\x13\xD2Z1\x18p:\x07dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x14A\xD1\x16[#u\x9A\xC5\x9EI\x07\xB3OEk\xB4\xD6\xF8\xE1\xDF\xD7\x89\x8Dd|\x82\x0C\x9E@ykdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static SIGNEDMATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static SIGNEDMATH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct SignedMath(::ethers::contract::Contract); impl ::core::clone::Clone for SignedMath { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod signed_math { } impl ::core::fmt::Debug for SignedMath { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(SignedMath)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(SignedMath)).field(&self.address()).finish() } } impl SignedMath { @@ -65,11 +66,13 @@ pub mod signed_math { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SIGNEDMATH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SIGNEDMATH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod signed_math { Ok(deployer) } } - impl From<::ethers::contract::Contract> for SignedMath { + impl From<::ethers::contract::Contract> + for SignedMath { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/std_style.rs b/crates/bindings-uniswapx/src/solarray.rs similarity index 72% rename from crates/bindings-uniswapx/src/std_style.rs rename to crates/bindings-uniswapx/src/solarray.rs index 53400e9..d0ccd23 100644 --- a/crates/bindings-uniswapx/src/std_style.rs +++ b/crates/bindings-uniswapx/src/solarray.rs @@ -1,4 +1,4 @@ -pub use std_style::*; +pub use solarray::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: #[allow( @@ -7,9 +7,9 @@ pub use std_style::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] -pub mod std_style { +pub mod solarray { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { @@ -22,54 +22,57 @@ pub mod std_style { } } ///The parsed JSON ABI of the contract. - pub static STDSTYLE_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SOLARRAY_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE1dX\x1Amv^7\xCC\xC8\x9D\x7Fn\xF5\x17^\x14\x94\x0E\xD7\xB9\xBD\xE3'@\xCCi\xBD\xEF|CydsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x85!\xAB\xDE\xFBK\xD4\x01\n_\xAAig\xA0\x10R*\xE6?B\xA7\x02P\xBF\xDD;\xC6\x19z\x83?\xDBdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static STDSTYLE_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SOLARRAY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xE1dX\x1Amv^7\xCC\xC8\x9D\x7Fn\xF5\x17^\x14\x94\x0E\xD7\xB9\xBD\xE3'@\xCCi\xBD\xEF|CydsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x85!\xAB\xDE\xFBK\xD4\x01\n_\xAAig\xA0\x10R*\xE6?B\xA7\x02P\xBF\xDD;\xC6\x19z\x83?\xDBdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static STDSTYLE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct StdStyle(::ethers::contract::Contract); - impl ::core::clone::Clone for StdStyle { + pub static SOLARRAY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct Solarray(::ethers::contract::Contract); + impl ::core::clone::Clone for Solarray { fn clone(&self) -> Self { Self(::core::clone::Clone::clone(&self.0)) } } - impl ::core::ops::Deref for StdStyle { + impl ::core::ops::Deref for Solarray { type Target = ::ethers::contract::Contract; fn deref(&self) -> &Self::Target { &self.0 } } - impl ::core::ops::DerefMut for StdStyle { + impl ::core::ops::DerefMut for Solarray { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } - impl ::core::fmt::Debug for StdStyle { + impl ::core::fmt::Debug for Solarray { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(StdStyle)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Solarray)).field(&self.address()).finish() } } - impl StdStyle { + impl Solarray { /// Creates a new contract instance with the specified `ethers` client at /// `address`. The contract derefs to a `ethers::Contract` object. pub fn new>( address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - STDSTYLE_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SOLARRAY_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -102,8 +105,8 @@ pub mod std_style { ::ethers::contract::ContractError, > { let factory = ::ethers::contract::ContractFactory::new( - STDSTYLE_ABI.clone(), - STDSTYLE_BYTECODE.clone().into(), + SOLARRAY_ABI.clone(), + SOLARRAY_BYTECODE.clone().into(), client, ); let deployer = factory.deploy(constructor_args)?; @@ -111,7 +114,8 @@ pub mod std_style { Ok(deployer) } } - impl From<::ethers::contract::Contract> for StdStyle { + impl From<::ethers::contract::Contract> + for Solarray { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/std_invariant.rs b/crates/bindings-uniswapx/src/std_invariant.rs deleted file mode 100644 index 3e29e60..0000000 --- a/crates/bindings-uniswapx/src/std_invariant.rs +++ /dev/null @@ -1,726 +0,0 @@ -pub use std_invariant::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod std_invariant { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedArtifacts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeContracts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedContracts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeSenders"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("targetArtifactSelectors"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetArtifactSelectors",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedArtifactSelectors_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 4usize - ), - ), - ), - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("targetArtifacts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedArtifacts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("targetContracts"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedContracts_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("targetSelectors"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSelectors"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedSelectors_",), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple(::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 4usize - ), - ), - ), - ],), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("targetSenders"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - ), - ]), - events: ::std::collections::BTreeMap::new(), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static STDINVARIANT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\t\x13\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\x88W`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0[W\x80c\x85\"l\x81\x14a\0\xD0W\x80c\x91j\x17\xC6\x14a\0\xE5W\x80c\xB5P\x8A\xA9\x14a\0\xEDW\x80c\xE2\x0C\x9Fq\x14a\0\xF5W`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x14a\0\x8DW\x80c>^<#\x14a\0\xABW\x80c?r\x86\xF4\x14a\0\xB3W\x80cf\xD9\xA9\xA0\x14a\0\xBBW[`\0\x80\xFD[a\0\x95a\0\xFDV[`@Qa\0\xA2\x91\x90a\x06lV[`@Q\x80\x91\x03\x90\xF3[a\0\x95a\x01lV[a\0\x95a\x01\xD9V[a\0\xC3a\x02FV[`@Qa\0\xA2\x91\x90a\x06\xC6V[a\0\xD8a\x03WV[`@Qa\0\xA2\x91\x90a\x07\xBCV[a\0\xC3a\x04'V[a\0\xD8a\x05/V[a\0\x95a\x05\xFFV[```\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017W[PPPPP\x90P\x90V[```\x03\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[```\x02\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x036W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x02\xE3W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02jV[PPPP\x90P\x90V[```\x05\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x9A\x90a\x08\x8AV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xC6\x90a\x08\x8AV[\x80\x15a\x04\x13W\x80`\x1F\x10a\x03\xE8Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\x13V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xF6W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x03{V[```\x07\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\x17W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x04\xC4W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04KV[```\x04\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x05r\x90a\x08\x8AV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\x9E\x90a\x08\x8AV[\x80\x15a\x05\xEBW\x80`\x1F\x10a\x05\xC0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\xEBV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xCEW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x05SV[```\0\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x06\xBAW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x06\x88V[P\x90\x96\x95PPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0\x80[\x84\x81\x10\x15a\x07\xADW\x89\x84\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x86R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\x07\x98W\x83Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82R\x92\x8B\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8B\x01\x90a\x07VV[P\x97\x8A\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\x06\xEEV[P\x91\x99\x98PPPPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0\x80[\x83\x81\x10\x15a\x08|W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x87\x03\x01\x85R\x82Q\x80Q\x80\x88R\x83[\x81\x81\x10\x15a\x087W\x82\x81\x01\x8A\x01Q\x89\x82\x01\x8B\x01R\x89\x01a\x08\x1CV[P\x87\x81\x01\x89\x01\x84\x90R`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x96\x01\x87\x01\x95P\x93\x86\x01\x93\x91\x86\x01\x91`\x01\x01a\x07\xE4V[P\x93\x98\x97PPPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x08\x9EW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x08\xD7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV\xFE\xA2dipfsX\"\x12 \xB3#\x06\xC0b\x88i\xD5\x16\xE9\xBAB\xA4]\xD8\xDE\xEE@\xFF\xD2\x9Fx\xE6\xA5-\xF9\x90\xF2\x06}\xFB\xAEdsolcC\0\x08\x13\x003"; - /// The bytecode of the contract. - pub static STDINVARIANT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\x88W`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0[W\x80c\x85\"l\x81\x14a\0\xD0W\x80c\x91j\x17\xC6\x14a\0\xE5W\x80c\xB5P\x8A\xA9\x14a\0\xEDW\x80c\xE2\x0C\x9Fq\x14a\0\xF5W`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x14a\0\x8DW\x80c>^<#\x14a\0\xABW\x80c?r\x86\xF4\x14a\0\xB3W\x80cf\xD9\xA9\xA0\x14a\0\xBBW[`\0\x80\xFD[a\0\x95a\0\xFDV[`@Qa\0\xA2\x91\x90a\x06lV[`@Q\x80\x91\x03\x90\xF3[a\0\x95a\x01lV[a\0\x95a\x01\xD9V[a\0\xC3a\x02FV[`@Qa\0\xA2\x91\x90a\x06\xC6V[a\0\xD8a\x03WV[`@Qa\0\xA2\x91\x90a\x07\xBCV[a\0\xC3a\x04'V[a\0\xD8a\x05/V[a\0\x95a\x05\xFFV[```\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017W[PPPPP\x90P\x90V[```\x03\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[```\x02\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[```\x06\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x036W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x02\xE3W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02jV[PPPP\x90P\x90V[```\x05\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x9A\x90a\x08\x8AV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03\xC6\x90a\x08\x8AV[\x80\x15a\x04\x13W\x80`\x1F\x10a\x03\xE8Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x04\x13V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\xF6W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x03{V[```\x07\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\x17W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x04\xC4W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04KV[```\x04\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03NW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x05r\x90a\x08\x8AV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05\x9E\x90a\x08\x8AV[\x80\x15a\x05\xEBW\x80`\x1F\x10a\x05\xC0Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05\xEBV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05\xCEW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x05SV[```\0\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01bW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x017WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x06\xBAW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x06\x88V[P\x90\x96\x95PPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0\x80[\x84\x81\x10\x15a\x07\xADW\x89\x84\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x86R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\x07\x98W\x83Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x82R\x92\x8B\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8B\x01\x90a\x07VV[P\x97\x8A\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\x06\xEEV[P\x91\x99\x98PPPPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P\x83\x87\x01`\0\x80[\x83\x81\x10\x15a\x08|W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x87\x03\x01\x85R\x82Q\x80Q\x80\x88R\x83[\x81\x81\x10\x15a\x087W\x82\x81\x01\x8A\x01Q\x89\x82\x01\x8B\x01R\x89\x01a\x08\x1CV[P\x87\x81\x01\x89\x01\x84\x90R`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x96\x01\x87\x01\x95P\x93\x86\x01\x93\x91\x86\x01\x91`\x01\x01a\x07\xE4V[P\x93\x98\x97PPPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x08\x9EW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x08\xD7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV\xFE\xA2dipfsX\"\x12 \xB3#\x06\xC0b\x88i\xD5\x16\xE9\xBAB\xA4]\xD8\xDE\xEE@\xFF\xD2\x9Fx\xE6\xA5-\xF9\x90\xF2\x06}\xFB\xAEdsolcC\0\x08\x13\x003"; - /// The deployed bytecode of the contract. - pub static STDINVARIANT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct StdInvariant(::ethers::contract::Contract); - impl ::core::clone::Clone for StdInvariant { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for StdInvariant { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for StdInvariant { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for StdInvariant { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(StdInvariant)) - .field(&self.address()) - .finish() - } - } - impl StdInvariant { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - STDINVARIANT_ABI.clone(), - client, - )) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - STDINVARIANT_ABI.clone(), - STDINVARIANT_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `excludeArtifacts` (0xb5508aa9) function - pub fn exclude_artifacts( - &self, - ) -> ::ethers::contract::builders::ContractCall> - { - self.0 - .method_hash([181, 80, 138, 169], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeContracts` (0xe20c9f71) function - pub fn exclude_contracts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([226, 12, 159, 113], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeSenders` (0x1ed7831c) function - pub fn exclude_senders( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([30, 215, 131, 28], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetArtifactSelectors` (0x66d9a9a0) function - pub fn target_artifact_selectors( - &self, - ) -> ::ethers::contract::builders::ContractCall> { - self.0 - .method_hash([102, 217, 169, 160], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetArtifacts` (0x85226c81) function - pub fn target_artifacts( - &self, - ) -> ::ethers::contract::builders::ContractCall> - { - self.0 - .method_hash([133, 34, 108, 129], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetContracts` (0x3f7286f4) function - pub fn target_contracts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([63, 114, 134, 244], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetSelectors` (0x916a17c6) function - pub fn target_selectors( - &self, - ) -> ::ethers::contract::builders::ContractCall> { - self.0 - .method_hash([145, 106, 23, 198], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetSenders` (0x3e5e3c23) function - pub fn target_senders( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([62, 94, 60, 35], ()) - .expect("method not found (this should never happen)") - } - } - impl From<::ethers::contract::Contract> for StdInvariant { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - ///Container type for all input parameters for the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "excludeArtifacts", abi = "excludeArtifacts()")] - pub struct ExcludeArtifactsCall; - ///Container type for all input parameters for the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "excludeContracts", abi = "excludeContracts()")] - pub struct ExcludeContractsCall; - ///Container type for all input parameters for the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "excludeSenders", abi = "excludeSenders()")] - pub struct ExcludeSendersCall; - ///Container type for all input parameters for the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "targetArtifactSelectors", abi = "targetArtifactSelectors()")] - pub struct TargetArtifactSelectorsCall; - ///Container type for all input parameters for the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "targetArtifacts", abi = "targetArtifacts()")] - pub struct TargetArtifactsCall; - ///Container type for all input parameters for the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "targetContracts", abi = "targetContracts()")] - pub struct TargetContractsCall; - ///Container type for all input parameters for the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "targetSelectors", abi = "targetSelectors()")] - pub struct TargetSelectorsCall; - ///Container type for all input parameters for the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall(name = "targetSenders", abi = "targetSenders()")] - pub struct TargetSendersCall; - ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum StdInvariantCalls { - ExcludeArtifacts(ExcludeArtifactsCall), - ExcludeContracts(ExcludeContractsCall), - ExcludeSenders(ExcludeSendersCall), - TargetArtifactSelectors(TargetArtifactSelectorsCall), - TargetArtifacts(TargetArtifactsCall), - TargetContracts(TargetContractsCall), - TargetSelectors(TargetSelectorsCall), - TargetSenders(TargetSendersCall), - } - impl ::ethers::core::abi::AbiDecode for StdInvariantCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ExcludeArtifacts(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ExcludeContracts(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::ExcludeSenders(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::TargetArtifactSelectors(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::TargetArtifacts(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::TargetContracts(decoded)); - } - if let Ok(decoded) = - ::decode(data) - { - return Ok(Self::TargetSelectors(decoded)); - } - if let Ok(decoded) = ::decode(data) - { - return Ok(Self::TargetSenders(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for StdInvariantCalls { - fn encode(self) -> Vec { - match self { - Self::ExcludeArtifacts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExcludeContracts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ExcludeSenders(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetArtifactSelectors(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetArtifacts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetContracts(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetSelectors(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TargetSenders(element) => ::ethers::core::abi::AbiEncode::encode(element), - } - } - } - impl ::core::fmt::Display for StdInvariantCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::ExcludeArtifacts(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeContracts(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeSenders(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetArtifactSelectors(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetArtifacts(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetContracts(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetSelectors(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetSenders(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: ExcludeArtifactsCall) -> Self { - Self::ExcludeArtifacts(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: ExcludeContractsCall) -> Self { - Self::ExcludeContracts(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: ExcludeSendersCall) -> Self { - Self::ExcludeSenders(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: TargetArtifactSelectorsCall) -> Self { - Self::TargetArtifactSelectors(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: TargetArtifactsCall) -> Self { - Self::TargetArtifacts(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: TargetContractsCall) -> Self { - Self::TargetContracts(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: TargetSelectorsCall) -> Self { - Self::TargetSelectors(value) - } - } - impl ::core::convert::From for StdInvariantCalls { - fn from(value: TargetSendersCall) -> Self { - Self::TargetSenders(value) - } - } - ///Container type for all return fields from the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ExcludeArtifactsReturn { - pub excluded_artifacts: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all return fields from the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ExcludeContractsReturn { - pub excluded_contracts: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct ExcludeSendersReturn { - pub excluded_senders: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TargetArtifactSelectorsReturn { - pub targeted_artifact_selectors: ::std::vec::Vec, - } - ///Container type for all return fields from the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TargetArtifactsReturn { - pub targeted_artifacts: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all return fields from the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TargetContractsReturn { - pub targeted_contracts: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TargetSelectorsReturn { - pub targeted_selectors: ::std::vec::Vec, - } - ///Container type for all return fields from the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct TargetSendersReturn { - pub targeted_senders: ::std::vec::Vec<::ethers::core::types::Address>, - } -} diff --git a/crates/bindings-uniswapx/src/storage_slot.rs b/crates/bindings-uniswapx/src/storage_slot.rs index 01db596..8559412 100644 --- a/crates/bindings-uniswapx/src/storage_slot.rs +++ b/crates/bindings-uniswapx/src/storage_slot.rs @@ -7,7 +7,7 @@ pub use storage_slot::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod storage_slot { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod storage_slot { } } ///The parsed JSON ABI of the contract. - pub static STORAGESLOT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static STORAGESLOT_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xA3}w\x02\xCC$p\x91]`\xFF\x9D\xF4#\x9AN\xEB\xCA\xB0qT\xD9s\xF7j\x9F\xECt]\xF0G\xD1dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xDD\x90#\x91\xA5\xAF}\xEE'\n\xC7\x86\xF3\x1D\xEC&\x12\xE2b\x93\xB6\x8C\xE6\x0E\xB6UwBc\x830EdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static STORAGESLOT_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static STORAGESLOT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xA3}w\x02\xCC$p\x91]`\xFF\x9D\xF4#\x9AN\xEB\xCA\xB0qT\xD9s\xF7j\x9F\xECt]\xF0G\xD1dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xDD\x90#\x91\xA5\xAF}\xEE'\n\xC7\x86\xF3\x1D\xEC&\x12\xE2b\x93\xB6\x8C\xE6\x0E\xB6UwBc\x830EdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static STORAGESLOT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static STORAGESLOT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct StorageSlot(::ethers::contract::Contract); impl ::core::clone::Clone for StorageSlot { fn clone(&self) -> Self { @@ -65,11 +68,13 @@ pub mod storage_slot { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - STORAGESLOT_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + STORAGESLOT_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +116,8 @@ pub mod storage_slot { Ok(deployer) } } - impl From<::ethers::contract::Contract> for StorageSlot { + impl From<::ethers::contract::Contract> + for StorageSlot { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/strings.rs b/crates/bindings-uniswapx/src/strings.rs index 834f011..d638fea 100644 --- a/crates/bindings-uniswapx/src/strings.rs +++ b/crates/bindings-uniswapx/src/strings.rs @@ -7,7 +7,7 @@ pub use strings::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod strings { #[allow(deprecated)] @@ -22,18 +22,21 @@ pub mod strings { } } ///The parsed JSON ABI of the contract. - pub static STRINGS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static STRINGS_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ]\x8F\xBA0\xE1\xCD\xCA\xE0C\x01y_;\xDFFY\xEFGs\x823\x16p\xDE\x83\xB2CC\xB7q\xEE\xDEdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB7\xC7\xF7.p`m\xD1fD.\xC7\x0E\x1E1\x1C\tCyo\x1C\xD7\rS:\x8BJf\xB0\xB6\x12\xABdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static STRINGS_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static STRINGS_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ]\x8F\xBA0\xE1\xCD\xCA\xE0C\x01y_;\xDFFY\xEFGs\x823\x16p\xDE\x83\xB2CC\xB7q\xEE\xDEdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xB7\xC7\xF7.p`m\xD1fD.\xC7\x0E\x1E1\x1C\tCyo\x1C\xD7\rS:\x8BJf\xB0\xB6\x12\xABdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static STRINGS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static STRINGS_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct Strings(::ethers::contract::Contract); impl ::core::clone::Clone for Strings { fn clone(&self) -> Self { @@ -53,9 +56,7 @@ pub mod strings { } impl ::core::fmt::Debug for Strings { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(Strings)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(Strings)).field(&self.address()).finish() } } impl Strings { @@ -65,11 +66,13 @@ pub mod strings { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - STRINGS_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + STRINGS_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -111,7 +114,8 @@ pub mod strings { Ok(deployer) } } - impl From<::ethers::contract::Contract> for Strings { + impl From<::ethers::contract::Contract> + for Strings { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } diff --git a/crates/bindings-uniswapx/src/swap_router_02_executor.rs b/crates/bindings-uniswapx/src/swap_router_02_executor.rs index a48cbeb..b5ef3e8 100644 --- a/crates/bindings-uniswapx/src/swap_router_02_executor.rs +++ b/crates/bindings-uniswapx/src/swap_router_02_executor.rs @@ -7,7 +7,7 @@ pub use swap_router_02_executor::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod swap_router_02_executor { pub use super::super::shared_types::*; @@ -47,6 +47,74 @@ pub mod swap_router_02_executor { ], }), functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), ( ::std::borrow::ToOwned::to_owned("multicall"), ::std::vec![ @@ -109,7 +177,7 @@ pub mod swap_router_02_executor { name: ::std::borrow::ToOwned::to_owned("reactorCallback"), inputs: ::std::vec![ ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("resolvedOrders"), + name: ::std::string::String::new(), kind: ::ethers::core::abi::ethabi::ParamType::Array( ::std::boxed::Box::new( ::ethers::core::abi::ethabi::ParamType::Tuple( @@ -153,14 +221,7 @@ pub mod swap_router_02_executor { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("filler"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("fillData"), + name: ::std::borrow::ToOwned::to_owned("callbackData"), kind: ::ethers::core::abi::ethabi::ParamType::Bytes, internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("bytes"), @@ -299,18 +360,21 @@ pub mod swap_router_02_executor { } } ///The parsed JSON ABI of the contract. - pub static SWAPROUTER02EXECUTOR_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static SWAPROUTER02EXECUTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"a\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x1Ae8\x03\x80b\0\x1Ae\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x18Ub\0\x02\x10`\09`\0\x81\x81a\x04\xDC\x01Ra\x05\x8E\x01R`\0a\x06%\x01R`\0a\x06~\x01R`\0\x81\x81a\x02\x03\x01R\x81\x81a\x02\xD7\x01R\x81\x81a\x07%\x01Ra\x07\xF4\x01Ra\x18U`\0\xF3\xFE`\x80`@R`\x046\x10a\0iW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0CW\x80c\x8D\xA5\xCB[\x14a\0\xD7W\x80c\x99C\xFA\x89\x14a\x01-W\x80c\xF2\xFD\xE3\x8B\x14a\x01MW`\0\x80\xFD[\x80cc\xFB\x0B\x96\x14a\0uW\x80ci\r\x83 \x14a\0\x97W\x80c\x89\xA3\xF16\x14a\0\xB7W`\0\x80\xFD[6a\0pW\0[`\0\x80\xFD[4\x80\x15a\0\x81W`\0\x80\xFD[Pa\0\x95a\0\x906`\x04a\r\xB4V[a\x01mV[\0[4\x80\x15a\0\xA3W`\0\x80\xFD[Pa\0\x95a\0\xB26`\x04a\x0EBV[a\x03\x9CV[4\x80\x15a\0\xC3W`\0\x80\xFD[Pa\0\x95a\0\xD26`\x04a\x0EBV[a\x04*V[4\x80\x15a\0\xE3W`\0\x80\xFD[P`\0Ta\x01\x04\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x019W`\0\x80\xFD[Pa\0\x95a\x01H6`\x04a\x0EfV[a\x06\rV[4\x80\x15a\x01YW`\0\x80\xFD[Pa\0\x95a\x01h6`\x04a\x0EBV[a\t\x88V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xF3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x02\x99Wa\x02\x87\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x02UWa\x02Ua\x0F\x15V[\x90P` \x02\x01` \x81\x01\x90a\x02j\x91\x90a\x0EBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\nyV[\x80a\x02\x91\x81a\x0FDV[\x91PPa\x01\xF6V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x030\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x0F\xECV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x03\x95\x91\x90\x81\x01\x90a\x12'V[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[a\x04'\x81Ga\x0BNV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xABW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x058W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\\\x91\x90a\x13\x19V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\xFBW=`\0\x80>=`\0\xFD[PPPPa\x06\t\x82Ga\x0BNV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x06|W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x07\x01W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a\x07\x10\x83\x85\x01\x85a\x14\x0EV[\x91P\x91P`\0[\x82Q\x81\x10\x15a\x07\xB6Wa\x07\xA4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x07wWa\x07wa\x0F\x15V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\ny\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80a\x07\xAE\x81a\x0FDV[\x91PPa\x07\x17V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x08K\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x14\xD0V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x08jW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x08\xB0\x91\x90\x81\x01\x90a\x12'V[P`\0[\x86\x81\x10\x15a\t~W`\0\x88\x88\x83\x81\x81\x10a\x08\xD0Wa\x08\xD0a\x0F\x15V[\x90P` \x02\x81\x01\x90a\x08\xE2\x91\x90a\x15\x8EV[a\x08\xEB\x90a\x17qV[\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\tiW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\t\x15Wa\t\x15a\x0F\x15V[` \x02` \x01\x01Q\x90Pa\tV\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0B\xC8\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\ta\x81a\x0FDV[\x91PPa\x08\xF0V[PP\x80\x80a\tv\x90a\x0FDV[\x91PPa\x08\xB4V[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\n\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0B\xC3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x0C}W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x0C=W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x0CBV[``\x91P[PP\x90P\x80a\x0BHW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0B\xC3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80\x83`\x1F\x84\x01\x12a\rzW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\r\x92W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\r\xADW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\r\xCAW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\xE2W`\0\x80\xFD[a\r\xEE\x88\x83\x89\x01a\rhV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0E\x07W`\0\x80\xFD[Pa\x0E\x14\x87\x82\x88\x01a\rhV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04'W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0ETW`\0\x80\xFD[\x815a\x0E_\x81a\x0E V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x0E~W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x96W`\0\x80\xFD[a\x0E\xA2\x89\x83\x8A\x01a\rhV[\x90\x97P\x95P` \x88\x015\x91Pa\x0E\xB7\x82a\x0E V[\x90\x93P`@\x87\x015\x90\x80\x82\x11\x15a\x0E\xCDW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x0E\xE1W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x0E\xF0W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a\x0F\x02W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96P` \x01\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0F\x9CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0`@\x82\x01\x85\x83R` `@\x81\x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x10\xC1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83R\x815\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x8A6\x03\x01\x81\x12a\x10wW`\0\x80\xFD[\x89\x01\x84\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x10\x93W`\0\x80\xFD[\x806\x03\x82\x13\x15a\x10\xA2W`\0\x80\xFD[a\x10\xAD\x87\x82\x84a\x0F\xA3V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x10\x16V[P\x92\x98\x97PPPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11\x91Wa\x11\x91a\x10\xCFV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xB3Wa\x11\xB3a\x10\xCFV[P`\x05\x1B` \x01\x90V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xD7Wa\x11\xD7a\x10\xCFV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0[\x83\x81\x10\x15a\x12\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\x06V[PP`\0\x91\x01RV[`\0` \x80\x83\x85\x03\x12\x15a\x12:W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x12RW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12fW`\0\x80\xFD[\x81Qa\x12ya\x12t\x82a\x11\x99V[a\x11JV[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x12\x98W`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x13\x0CW\x80Q\x85\x81\x11\x15a\x12\xB4W`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x12\xC6W`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x12\xD8a\x12t\x83a\x11\xBDV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x12\xEDW`\0\x80\x81\xFD[a\x12\xFC\x83\x8C\x83\x01\x84\x87\x01a\x12\x03V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x12\x9CV[P\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x13+W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x13CW`\0\x80\xFD[\x815a\x13Qa\x12t\x82a\x11\xBDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x13fW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x94W`\0\x80\xFD[\x815` a\x13\xA4a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x13\xC3W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x14\x03W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\xE7W`\0\x80\x81\xFD[a\x13\xF5\x89\x86\x83\x8B\x01\x01a\x132V[\x84RP\x91\x83\x01\x91\x83\x01a\x13\xC7V[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x14!W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x149W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14MW`\0\x80\xFD[\x815` a\x14]a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x14|W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a\x14\xA3W\x855a\x14\x94\x81a\x0E V[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a\x14\x81V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\x14\xB9W`\0\x80\xFD[Pa\x14\xC6\x85\x82\x86\x01a\x13\x83V[\x91PP\x92P\x92\x90PV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x15\x80W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x15C\x81\x88\x8A\x01\x89\x85\x01a\x12\x03V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x14\xFEV[P\x93\x98\x97PPPPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF!\x836\x03\x01\x81\x12a\x15\xC2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0`\xC0\x82\x84\x03\x12\x15a\x15\xDEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x16\x02Wa\x16\x02a\x10\xCFV[\x81`@R\x82\x93P\x845\x91Pa\x16\x16\x82a\x0E V[\x90\x82R` \x84\x015\x90a\x16(\x82a\x0E V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x16R\x82a\x0E V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x16lW`\0\x80\xFD[Pa\x16y\x85\x82\x86\x01a\x132V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x16\x98W`\0\x80\xFD[a\x16\xA0a\x10\xFEV[\x90P\x815a\x16\xAD\x81a\x0E V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x16\xDCW`\0\x80\xFD[\x815` a\x16\xECa\x12t\x83a\x11\x99V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x17\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x17dW\x81\x81\x8A\x03\x12\x15a\x17'W`\0\x80\x81\xFD[a\x17/a\x10\xFEV[\x815a\x17:\x81a\x0E V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x17S\x81a\x0E V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x17\x0FV[P\x90\x97\x96PPPPPPPV[`\0`\xE0\x826\x03\x12\x15a\x17\x83W`\0\x80\xFD[a\x17\x8Ba\x11'V[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x17\xA3W`\0\x80\xFD[a\x17\xAF6\x83\x87\x01a\x15\xCCV[\x83Ra\x17\xBE6` \x87\x01a\x16\x86V[` \x84\x01R`\x80\x85\x015\x91P\x80\x82\x11\x15a\x17\xD7W`\0\x80\xFD[a\x17\xE36\x83\x87\x01a\x16\xCBV[`@\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x17\xFCW`\0\x80\xFD[Pa\x18\t6\x82\x86\x01a\x132V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x90V\xFE\xA2dipfsX\"\x12 \x86Fa\x13\xE8\x06\x0Bz\x84\x07\x13qz+\x14\xC7\xF0D\xD0\xE4\x90x\xAFl\xE43+F\x04\xC5hzdsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"a\x01\0`@R4\x80\x15b\0\0\x12W`\0\x80\xFD[P`@Qb\0\x19\xBA8\x03\x80b\0\x19\xBA\x839\x81\x01`@\x81\x90Rb\0\x005\x91b\0\x01+V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x16\x90\x81\x17\x82U`@Q\x84\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3P`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\xA0R\x83\x81\x16`\xC0R\x81\x16`\x80\x81\x90R`@\x80Qc\x12\xA9)?`\xE2\x1B\x81R\x90QcJ\xA4\xA4\xFC\x91`\x04\x80\x82\x01\x92` \x92\x90\x91\x90\x82\x90\x03\x01\x81\x86Z\xFA\x15\x80\x15b\0\0\xD5W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\0\xFB\x91\x90b\0\x01\x93V[`\x01`\x01`\xA0\x1B\x03\x16`\xE0RPb\0\x01\xBA\x92PPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01(W`\0\x80\xFD[PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01BW`\0\x80\xFD[\x84Qb\0\x01O\x81b\0\x01\x12V[` \x86\x01Q\x90\x94Pb\0\x01b\x81b\0\x01\x12V[`@\x86\x01Q\x90\x93Pb\0\x01u\x81b\0\x01\x12V[``\x86\x01Q\x90\x92Pb\0\x01\x88\x81b\0\x01\x12V[\x93\x96\x92\x95P\x90\x93PPV[`\0` \x82\x84\x03\x12\x15b\0\x01\xA6W`\0\x80\xFD[\x81Qb\0\x01\xB3\x81b\0\x01\x12V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Q`\xE0Qa\x17\x87b\0\x023`\09`\0\x81\x81a\x07\xE5\x01Ra\x08\x97\x01R`\0\x81\x81a\x01\xDB\x01R\x81\x81a\x02\xF2\x01R\x81\x81a\x04R\x01R\x81\x81a\t\xC2\x01Ra\n\xD5\x01R`\0\x81\x81a\t.\x01Ra\nA\x01R`\0\x81\x81a\x02Y\x01R\x81\x81a\x03\x8A\x01R\x81\x81a\x05\x16\x01Ra\x05\xE0\x01Ra\x17\x87`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x7FW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\rW\x80c\xD0\xF2\xD8\xAC\x14a\x01cW\x80c\xE5\x13^\xC6\x14a\x01\x83W\x80c\xF2\xFD\xE3\x8B\x14a\x01\xA3W`\0\x80\xFD[\x80cX]\xA6(\x14a\0\x8BW\x80cc\xFB\x0B\x96\x14a\0\xADW\x80ci\r\x83 \x14a\0\xCDW\x80c\x89\xA3\xF16\x14a\0\xEDW`\0\x80\xFD[6a\0\x86W\0[`\0\x80\xFD[4\x80\x15a\0\x97W`\0\x80\xFD[Pa\0\xABa\0\xA66`\x04a\x0E\xB0V[a\x01\xC3V[\0[4\x80\x15a\0\xB9W`\0\x80\xFD[Pa\0\xABa\0\xC86`\x04a\x0F\x1CV[a\x04\x80V[4\x80\x15a\0\xD9W`\0\x80\xFD[Pa\0\xABa\0\xE86`\x04a\x0F\x9EV[a\x06\xA5V[4\x80\x15a\0\xF9W`\0\x80\xFD[Pa\0\xABa\x01\x086`\x04a\x0F\x9EV[a\x073V[4\x80\x15a\x01\x19W`\0\x80\xFD[P`\0Ta\x01:\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01oW`\0\x80\xFD[Pa\0\xABa\x01~6`\x04a\x0F\xC2V[a\t\x16V[4\x80\x15a\x01\x8FW`\0\x80\xFD[Pa\0\xABa\x01\x9E6`\x04a\x0E\xB0V[a\n)V[4\x80\x15a\x01\xAFW`\0\x80\xFD[Pa\0\xABa\x01\xBE6`\x04a\x0F\x9EV[a\x0BHV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x022W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x80a\x02B\x84\x86\x01\x86a\x11\x93V[\x92P\x92P\x92P`\0[\x83Q\x81\x10\x15a\x02\xE0Wa\x02\xD8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0C9\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x02KV[P`\0[\x82Q\x81\x10\x15a\x03LWa\x03D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[`\x01\x01a\x02\xE4V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x03\xE1\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x13\x1CV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x04\0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04F\x91\x90\x81\x01\x90a\x13\xDAV[PG\x15a\x04wWa\x04w\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ga\r\x0EV[PPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05\x06W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x05\xA2Wa\x05\x9A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x05hWa\x05ha\x12\xC9V[\x90P` \x02\x01` \x81\x01\x90a\x05}\x91\x90a\x0F\x9EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\x0C9V[`\x01\x01a\x05\tV[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x069\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x15tV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x06XW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x06\x9E\x91\x90\x81\x01\x90a\x13\xDAV[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[a\x070\x81Ga\r\xADV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\xB4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08e\x91\x90a\x16\x05V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x08\xF0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x04W=`\0\x80>=`\0\xFD[PPPPa\t\x12\x82Ga\r\xADV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\t\x85W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\t\xFB\x90\x86\x90\x86\x90\x86\x90`\x04\x01a\x16iV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\n\x15W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04wW=`\0\x80>=`\0\xFD[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\n\x98W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x0B\x10\x90\x87\x90\x87\x90\x87\x90\x87\x90`\x04\x01a\x16\x8FV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B*W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B>W=`\0\x80>=`\0\xFD[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x0B\xC9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\r\x08W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[PPPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\rhW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\rmV[``\x91P[PP\x90P\x80a\r\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\r\xA8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ELW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E\x80W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0E\xC6W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\xDEW`\0\x80\xFD[a\x0E\xEA\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0F\x03W`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0EnV[\x95\x98\x94\x97P\x95PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0F2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0FJW`\0\x80\xFD[a\x0FV\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0FoW`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0E\"V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x070W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0F\xB0W`\0\x80\xFD[\x815a\x0F\xBB\x81a\x0F|V[\x93\x92PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x0F\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0F\xEFW`\0\x80\xFD[\x90\x85\x01\x90`@\x82\x88\x03\x12\x15a\x10\x03W`\0\x80\xFD[\x90\x93P` \x85\x015\x90\x80\x82\x11\x15a\x10\x19W`\0\x80\xFD[Pa\x10&\x86\x82\x87\x01a\x0EnV[\x94\x97\x90\x96P\x93\x94PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x10\xA9Wa\x10\xA9a\x103V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x10\xCBWa\x10\xCBa\x103V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x10\xE6W`\0\x80\xFD[\x815` a\x10\xFBa\x10\xF6\x83a\x10\xB1V[a\x10bV[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x11\x1DW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x11BW\x805a\x115\x81a\x0F|V[\x83R\x91\x83\x01\x91\x83\x01a\x11\"V[P\x96\x95PPPPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11gWa\x11ga\x103V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x11\xA8W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x11\xC0W`\0\x80\xFD[a\x11\xCC\x87\x83\x88\x01a\x10\xD5V[\x94P` \x91P\x81\x86\x015\x81\x81\x11\x15a\x11\xE3W`\0\x80\xFD[a\x11\xEF\x88\x82\x89\x01a\x10\xD5V[\x94PP`@\x80\x87\x015\x82\x81\x11\x15a\x12\x05W`\0\x80\xFD[\x87\x01`\x1F\x81\x01\x89\x13a\x12\x16W`\0\x80\xFD[\x805a\x12$a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x85\x01\x90\x85\x81\x01\x90\x8B\x83\x11\x15a\x12CW`\0\x80\xFD[\x86\x84\x01[\x83\x81\x10\x15a\x12\xB7W\x805\x87\x81\x11\x15a\x12_W`\0\x80\x81\xFD[\x85\x01`?\x81\x01\x8E\x13a\x12qW`\0\x80\x81\xFD[\x88\x81\x015a\x12\x81a\x10\xF6\x82a\x11MV[\x81\x81R\x8F\x89\x83\x85\x01\x01\x11\x15a\x12\x96W`\0\x80\x81\xFD[\x81\x89\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x84RP\x91\x87\x01\x91\x87\x01a\x12GV[P\x80\x97PPPPPPPP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x13\x13W\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xFBV[PP`\0\x91\x01RV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x13\xCCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x13\x8F\x81\x88\x8A\x01\x89\x85\x01a\x12\xF8V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x13JV[P\x93\x98\x97PPPPPPPPV[`\0` \x80\x83\x85\x03\x12\x15a\x13\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\x05W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14\x19W`\0\x80\xFD[\x81Qa\x14'a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x14FW`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x14\xBAW\x80Q\x85\x81\x11\x15a\x14bW`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x14tW`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x14\x86a\x10\xF6\x83a\x11MV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x14\x9BW`\0\x80\x81\xFD[a\x14\xAA\x83\x8C\x83\x01\x84\x87\x01a\x12\xF8V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x14JV[P\x98\x97PPPPPPPPV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x15EW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15eW`\0\x80\xFD[\x806\x03\x82\x13\x15a\x0EgW`\0\x80\xFD[`\0`@\x82\x01\x85\x83R` `@` \x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x15\xF7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83Ra\x15\xD8\x82\x8Aa\x15\x10V[a\x15\xE3\x87\x82\x84a\x14\xC7V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x15\x9FV[P\x92\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x16\x17W`\0\x80\xFD[PQ\x91\x90PV[`\0a\x16*\x82\x83a\x15\x10V[`@\x85Ra\x16<`@\x86\x01\x82\x84a\x14\xC7V[\x91PPa\x16L` \x84\x01\x84a\x15\x10V[\x85\x83\x03` \x87\x01Ra\x16_\x83\x82\x84a\x14\xC7V[\x96\x95PPPPPPV[`@\x81R`\0a\x16|`@\x83\x01\x86a\x16\x1EV[\x82\x81\x03` \x84\x01Ra\x16_\x81\x85\x87a\x14\xC7V[`@\x80\x82R\x81\x01\x84\x90R`\0```\x05\x86\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x87\x83\x80[\x89\x81\x10\x15a\x17/W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8C6\x03\x01\x81\x12a\x17\rW\x82\x83\xFD[a\x17\x19\x86\x8D\x83\x01a\x16\x1EV[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x16\xADV[PPPP\x82\x81\x03` \x84\x01Ra\x17F\x81\x85\x87a\x14\xC7V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 V@\xB0U~\xC4U SV\x7F5s\x11[\x9C\xEB]J\xC2\x86\xAC\nG\x0E\x1E\x07\xDF\x15\x8E(\xE8dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static SWAPROUTER02EXECUTOR_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static SWAPROUTER02EXECUTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0iW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0CW\x80c\x8D\xA5\xCB[\x14a\0\xD7W\x80c\x99C\xFA\x89\x14a\x01-W\x80c\xF2\xFD\xE3\x8B\x14a\x01MW`\0\x80\xFD[\x80cc\xFB\x0B\x96\x14a\0uW\x80ci\r\x83 \x14a\0\x97W\x80c\x89\xA3\xF16\x14a\0\xB7W`\0\x80\xFD[6a\0pW\0[`\0\x80\xFD[4\x80\x15a\0\x81W`\0\x80\xFD[Pa\0\x95a\0\x906`\x04a\r\xB4V[a\x01mV[\0[4\x80\x15a\0\xA3W`\0\x80\xFD[Pa\0\x95a\0\xB26`\x04a\x0EBV[a\x03\x9CV[4\x80\x15a\0\xC3W`\0\x80\xFD[Pa\0\x95a\0\xD26`\x04a\x0EBV[a\x04*V[4\x80\x15a\0\xE3W`\0\x80\xFD[P`\0Ta\x01\x04\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x019W`\0\x80\xFD[Pa\0\x95a\x01H6`\x04a\x0EfV[a\x06\rV[4\x80\x15a\x01YW`\0\x80\xFD[Pa\0\x95a\x01h6`\x04a\x0EBV[a\t\x88V[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x01\xF3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x02\x99Wa\x02\x87\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x02UWa\x02Ua\x0F\x15V[\x90P` \x02\x01` \x81\x01\x90a\x02j\x91\x90a\x0EBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\nyV[\x80a\x02\x91\x81a\x0FDV[\x91PPa\x01\xF6V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x030\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x0F\xECV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x03OW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x03\x95\x91\x90\x81\x01\x90a\x12'V[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[a\x04'\x81Ga\x0BNV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x04\xABW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x058W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05\\\x91\x90a\x13\x19V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\xE7W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\xFBW=`\0\x80>=`\0\xFD[PPPPa\x06\t\x82Ga\x0BNV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x06|W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14a\x07\x01W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80a\x07\x10\x83\x85\x01\x85a\x14\x0EV[\x91P\x91P`\0[\x82Q\x81\x10\x15a\x07\xB6Wa\x07\xA4\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x07wWa\x07wa\x0F\x15V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\ny\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x80a\x07\xAE\x81a\x0FDV[\x91PPa\x07\x17V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x08K\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x14\xD0V[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x08jW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x08\xB0\x91\x90\x81\x01\x90a\x12'V[P`\0[\x86\x81\x10\x15a\t~W`\0\x88\x88\x83\x81\x81\x10a\x08\xD0Wa\x08\xD0a\x0F\x15V[\x90P` \x02\x81\x01\x90a\x08\xE2\x91\x90a\x15\x8EV[a\x08\xEB\x90a\x17qV[\x90P`\0[\x81`@\x01QQ\x81\x10\x15a\tiW`\0\x82`@\x01Q\x82\x81Q\x81\x10a\t\x15Wa\t\x15a\x0F\x15V[` \x02` \x01\x01Q\x90Pa\tV\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0B\xC8\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P\x80a\ta\x81a\x0FDV[\x91PPa\x08\xF0V[PP\x80\x80a\tv\x90a\x0FDV[\x91PPa\x08\xB4V[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\n\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0B\xC3W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[PPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x0C}W`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x0C=W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x0CBV[``\x91P[PP\x90P\x80a\x0BHW`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x0B\xC3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x83\x83`\0`@Q\x7F\xA9\x05\x9C\xBB\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x0BHW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0F`$\x82\x01R\x7FTRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x01\xEAV[`\0\x80\x83`\x1F\x84\x01\x12a\rzW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\r\x92W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\r\xADW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\r\xCAW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\xE2W`\0\x80\xFD[a\r\xEE\x88\x83\x89\x01a\rhV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0E\x07W`\0\x80\xFD[Pa\x0E\x14\x87\x82\x88\x01a\rhV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04'W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0ETW`\0\x80\xFD[\x815a\x0E_\x81a\x0E V[\x93\x92PPPV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\x0E~W`\0\x80\xFD[\x855g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\x96W`\0\x80\xFD[a\x0E\xA2\x89\x83\x8A\x01a\rhV[\x90\x97P\x95P` \x88\x015\x91Pa\x0E\xB7\x82a\x0E V[\x90\x93P`@\x87\x015\x90\x80\x82\x11\x15a\x0E\xCDW`\0\x80\xFD[\x81\x88\x01\x91P\x88`\x1F\x83\x01\x12a\x0E\xE1W`\0\x80\xFD[\x815\x81\x81\x11\x15a\x0E\xF0W`\0\x80\xFD[\x89` \x82\x85\x01\x01\x11\x15a\x0F\x02W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96P` \x01\x94\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x0F\x9CW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[P`\x01\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0`@\x82\x01\x85\x83R` `@\x81\x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x10\xC1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83R\x815\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x8A6\x03\x01\x81\x12a\x10wW`\0\x80\xFD[\x89\x01\x84\x81\x01\x905g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x10\x93W`\0\x80\xFD[\x806\x03\x82\x13\x15a\x10\xA2W`\0\x80\xFD[a\x10\xAD\x87\x82\x84a\x0F\xA3V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x10\x16V[P\x92\x98\x97PPPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@R\x90V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11!Wa\x11!a\x10\xCFV[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x11\x91Wa\x11\x91a\x10\xCFV[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xB3Wa\x11\xB3a\x10\xCFV[P`\x05\x1B` \x01\x90V[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11\xD7Wa\x11\xD7a\x10\xCFV[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0[\x83\x81\x10\x15a\x12\x1EW\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\x06V[PP`\0\x91\x01RV[`\0` \x80\x83\x85\x03\x12\x15a\x12:W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x12RW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x12fW`\0\x80\xFD[\x81Qa\x12ya\x12t\x82a\x11\x99V[a\x11JV[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x12\x98W`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x13\x0CW\x80Q\x85\x81\x11\x15a\x12\xB4W`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x12\xC6W`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x12\xD8a\x12t\x83a\x11\xBDV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x12\xEDW`\0\x80\x81\xFD[a\x12\xFC\x83\x8C\x83\x01\x84\x87\x01a\x12\x03V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x12\x9CV[P\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x13+W`\0\x80\xFD[PQ\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a\x13CW`\0\x80\xFD[\x815a\x13Qa\x12t\x82a\x11\xBDV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x13fW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x13\x94W`\0\x80\xFD[\x815` a\x13\xA4a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a\x13\xC3W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a\x14\x03W\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\xE7W`\0\x80\x81\xFD[a\x13\xF5\x89\x86\x83\x8B\x01\x01a\x132V[\x84RP\x91\x83\x01\x91\x83\x01a\x13\xC7V[P\x96\x95PPPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x14!W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x149W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14MW`\0\x80\xFD[\x815` a\x14]a\x12t\x83a\x11\x99V[\x82\x81R`\x05\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x89\x84\x11\x15a\x14|W`\0\x80\xFD[\x94\x82\x01\x94[\x83\x86\x10\x15a\x14\xA3W\x855a\x14\x94\x81a\x0E V[\x82R\x94\x82\x01\x94\x90\x82\x01\x90a\x14\x81V[\x96PP\x86\x015\x92PP\x80\x82\x11\x15a\x14\xB9W`\0\x80\xFD[Pa\x14\xC6\x85\x82\x86\x01a\x13\x83V[\x91PP\x92P\x92\x90PV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x15\x80W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x15C\x81\x88\x8A\x01\x89\x85\x01a\x12\x03V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x14\xFEV[P\x93\x98\x97PPPPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF!\x836\x03\x01\x81\x12a\x15\xC2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0`\xC0\x82\x84\x03\x12\x15a\x15\xDEW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a\x16\x02Wa\x16\x02a\x10\xCFV[\x81`@R\x82\x93P\x845\x91Pa\x16\x16\x82a\x0E V[\x90\x82R` \x84\x015\x90a\x16(\x82a\x0E V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa\x16R\x82a\x0E V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x16lW`\0\x80\xFD[Pa\x16y\x85\x82\x86\x01a\x132V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a\x16\x98W`\0\x80\xFD[a\x16\xA0a\x10\xFEV[\x90P\x815a\x16\xAD\x81a\x0E V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12a\x16\xDCW`\0\x80\xFD[\x815` a\x16\xECa\x12t\x83a\x11\x99V[\x82\x81R``\x92\x83\x02\x85\x01\x82\x01\x92\x82\x82\x01\x91\x90\x87\x85\x11\x15a\x17\x0BW`\0\x80\xFD[\x83\x87\x01[\x85\x81\x10\x15a\x17dW\x81\x81\x8A\x03\x12\x15a\x17'W`\0\x80\x81\xFD[a\x17/a\x10\xFEV[\x815a\x17:\x81a\x0E V[\x81R\x81\x86\x015\x86\x82\x01R`@\x80\x83\x015a\x17S\x81a\x0E V[\x90\x82\x01R\x84R\x92\x84\x01\x92\x81\x01a\x17\x0FV[P\x90\x97\x96PPPPPPPV[`\0`\xE0\x826\x03\x12\x15a\x17\x83W`\0\x80\xFD[a\x17\x8Ba\x11'V[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x17\xA3W`\0\x80\xFD[a\x17\xAF6\x83\x87\x01a\x15\xCCV[\x83Ra\x17\xBE6` \x87\x01a\x16\x86V[` \x84\x01R`\x80\x85\x015\x91P\x80\x82\x11\x15a\x17\xD7W`\0\x80\xFD[a\x17\xE36\x83\x87\x01a\x16\xCBV[`@\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a\x17\xFCW`\0\x80\xFD[Pa\x18\t6\x82\x86\x01a\x132V[``\x83\x01RP`\xC0\x92\x90\x92\x015`\x80\x83\x01RP\x90V\xFE\xA2dipfsX\"\x12 \x86Fa\x13\xE8\x06\x0Bz\x84\x07\x13qz+\x14\xC7\xF0D\xD0\xE4\x90x\xAFl\xE43+F\x04\xC5hzdsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x7FW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0NW\x80c\x8D\xA5\xCB[\x14a\x01\rW\x80c\xD0\xF2\xD8\xAC\x14a\x01cW\x80c\xE5\x13^\xC6\x14a\x01\x83W\x80c\xF2\xFD\xE3\x8B\x14a\x01\xA3W`\0\x80\xFD[\x80cX]\xA6(\x14a\0\x8BW\x80cc\xFB\x0B\x96\x14a\0\xADW\x80ci\r\x83 \x14a\0\xCDW\x80c\x89\xA3\xF16\x14a\0\xEDW`\0\x80\xFD[6a\0\x86W\0[`\0\x80\xFD[4\x80\x15a\0\x97W`\0\x80\xFD[Pa\0\xABa\0\xA66`\x04a\x0E\xB0V[a\x01\xC3V[\0[4\x80\x15a\0\xB9W`\0\x80\xFD[Pa\0\xABa\0\xC86`\x04a\x0F\x1CV[a\x04\x80V[4\x80\x15a\0\xD9W`\0\x80\xFD[Pa\0\xABa\0\xE86`\x04a\x0F\x9EV[a\x06\xA5V[4\x80\x15a\0\xF9W`\0\x80\xFD[Pa\0\xABa\x01\x086`\x04a\x0F\x9EV[a\x073V[4\x80\x15a\x01\x19W`\0\x80\xFD[P`\0Ta\x01:\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01oW`\0\x80\xFD[Pa\0\xABa\x01~6`\x04a\x0F\xC2V[a\t\x16V[4\x80\x15a\x01\x8FW`\0\x80\xFD[Pa\0\xABa\x01\x9E6`\x04a\x0E\xB0V[a\n)V[4\x80\x15a\x01\xAFW`\0\x80\xFD[Pa\0\xABa\x01\xBE6`\x04a\x0F\x9EV[a\x0BHV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x022W`@Q\x7F\x93?\xE5/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x80a\x02B\x84\x86\x01\x86a\x11\x93V[\x92P\x92P\x92P`\0[\x83Q\x81\x10\x15a\x02\xE0Wa\x02\xD8\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[` \x02` \x01\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x0C9\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[`\x01\x01a\x02KV[P`\0[\x82Q\x81\x10\x15a\x03LWa\x03D\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x84\x81Q\x81\x10a\x02\xABWa\x02\xABa\x12\xC9V[`\x01\x01a\x02\xE4V[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x03\xE1\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x85\x90`\x04\x01a\x13\x1CV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x04\0W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x04F\x91\x90\x81\x01\x90a\x13\xDAV[PG\x15a\x04wWa\x04w\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Ga\r\x0EV[PPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x05\x06W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0[\x83\x81\x10\x15a\x05\xA2Wa\x05\x9A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x87\x85\x81\x81\x10a\x05hWa\x05ha\x12\xC9V[\x90P` \x02\x01` \x81\x01\x90a\x05}\x91\x90a\x0F\x9EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x91\x90a\x0C9V[`\x01\x01a\x05\tV[P`@Q\x7FZ\xE4\x01\xDC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90cZ\xE4\x01\xDC\x90a\x069\x90\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x86\x90\x86\x90`\x04\x01a\x15tV[`\0`@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x06XW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x06\x9E\x91\x90\x81\x01\x90a\x13\xDAV[PPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07&W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[a\x070\x81Ga\r\xADV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\xB4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R0`\x04\x82\x01R`\0\x90\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x08AW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x08e\x91\x90a\x16\x05V[`@Q\x7F.\x1A}M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x82\x90R\x90\x91P\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c.\x1A}M\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x08\xF0W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\t\x04W=`\0\x80>=`\0\xFD[PPPPa\t\x12\x82Ga\r\xADV[PPV[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\t\x85W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\r3X\x84\x90a\t\xFB\x90\x86\x90\x86\x90\x86\x90`\x04\x01a\x16iV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\n\x15W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x04wW=`\0\x80>=`\0\xFD[3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\n\x98W`@Q\x7F\x8Cn]q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@Q\x7F\x13\xFBr\xC7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x90c\x13\xFBr\xC7\x90a\x0B\x10\x90\x87\x90\x87\x90\x87\x90\x87\x90`\x04\x01a\x16\x8FV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x0B*W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0B>W=`\0\x80>=`\0\xFD[PPPPPPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x0B\xC9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\0`@Q\x7F\t^\xA7\xB3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\x04\x82\x01R\x82`$\x82\x01R` `\0`D\x83`\0\x89Z\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\r\x08W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FAPPROVE_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[PPPPV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\rhW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\rmV[``\x91P[PP\x90P\x80a\r\xA8W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\r\xA8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\xFDV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E4W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0ELW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x0E\x80W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x98W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x0EgW`\0\x80\xFD[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0E\xC6W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0E\xDEW`\0\x80\xFD[a\x0E\xEA\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0F\x03W`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0EnV[\x95\x98\x94\x97P\x95PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x0F2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0FJW`\0\x80\xFD[a\x0FV\x88\x83\x89\x01a\x0E\"V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x0FoW`\0\x80\xFD[Pa\x0F\x10\x87\x82\x88\x01a\x0E\"V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x070W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x0F\xB0W`\0\x80\xFD[\x815a\x0F\xBB\x81a\x0F|V[\x93\x92PPPV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x0F\xD7W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0F\xEFW`\0\x80\xFD[\x90\x85\x01\x90`@\x82\x88\x03\x12\x15a\x10\x03W`\0\x80\xFD[\x90\x93P` \x85\x015\x90\x80\x82\x11\x15a\x10\x19W`\0\x80\xFD[Pa\x10&\x86\x82\x87\x01a\x0EnV[\x94\x97\x90\x96P\x93\x94PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x10\xA9Wa\x10\xA9a\x103V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x10\xCBWa\x10\xCBa\x103V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x10\xE6W`\0\x80\xFD[\x815` a\x10\xFBa\x10\xF6\x83a\x10\xB1V[a\x10bV[\x80\x83\x82R` \x82\x01\x91P` \x84`\x05\x1B\x87\x01\x01\x93P\x86\x84\x11\x15a\x11\x1DW`\0\x80\xFD[` \x86\x01[\x84\x81\x10\x15a\x11BW\x805a\x115\x81a\x0F|V[\x83R\x91\x83\x01\x91\x83\x01a\x11\"V[P\x96\x95PPPPPPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x11gWa\x11ga\x103V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x80`\0``\x84\x86\x03\x12\x15a\x11\xA8W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x11\xC0W`\0\x80\xFD[a\x11\xCC\x87\x83\x88\x01a\x10\xD5V[\x94P` \x91P\x81\x86\x015\x81\x81\x11\x15a\x11\xE3W`\0\x80\xFD[a\x11\xEF\x88\x82\x89\x01a\x10\xD5V[\x94PP`@\x80\x87\x015\x82\x81\x11\x15a\x12\x05W`\0\x80\xFD[\x87\x01`\x1F\x81\x01\x89\x13a\x12\x16W`\0\x80\xFD[\x805a\x12$a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x85\x01\x90\x85\x81\x01\x90\x8B\x83\x11\x15a\x12CW`\0\x80\xFD[\x86\x84\x01[\x83\x81\x10\x15a\x12\xB7W\x805\x87\x81\x11\x15a\x12_W`\0\x80\x81\xFD[\x85\x01`?\x81\x01\x8E\x13a\x12qW`\0\x80\x81\xFD[\x88\x81\x015a\x12\x81a\x10\xF6\x82a\x11MV[\x81\x81R\x8F\x89\x83\x85\x01\x01\x11\x15a\x12\x96W`\0\x80\x81\xFD[\x81\x89\x84\x01\x8C\x83\x017`\0\x91\x81\x01\x8B\x01\x91\x90\x91R\x84RP\x91\x87\x01\x91\x87\x01a\x12GV[P\x80\x97PPPPPPPP\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a\x13\x13W\x81\x81\x01Q\x83\x82\x01R` \x01a\x12\xFBV[PP`\0\x91\x01RV[`\0`@\x82\x01\x84\x83R` `@\x81\x85\x01R\x81\x85Q\x80\x84R``\x86\x01\x91P``\x81`\x05\x1B\x87\x01\x01\x93P\x82\x87\x01`\0[\x82\x81\x10\x15a\x13\xCCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x84R\x81Q\x80Q\x80\x88Ra\x13\x8F\x81\x88\x8A\x01\x89\x85\x01a\x12\xF8V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x96\x90\x96\x01\x85\x01\x95P\x92\x84\x01\x92\x90\x84\x01\x90`\x01\x01a\x13JV[P\x93\x98\x97PPPPPPPPV[`\0` \x80\x83\x85\x03\x12\x15a\x13\xEDW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x14\x05W`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a\x14\x19W`\0\x80\xFD[\x81Qa\x14'a\x10\xF6\x82a\x10\xB1V[\x81\x81R`\x05\x91\x90\x91\x1B\x83\x01\x84\x01\x90\x84\x81\x01\x90\x88\x83\x11\x15a\x14FW`\0\x80\xFD[\x85\x85\x01[\x83\x81\x10\x15a\x14\xBAW\x80Q\x85\x81\x11\x15a\x14bW`\0\x80\x81\xFD[\x86\x01`?\x81\x01\x8B\x13a\x14tW`\0\x80\x81\xFD[\x87\x81\x01Q`@a\x14\x86a\x10\xF6\x83a\x11MV[\x82\x81R\x8D\x82\x84\x86\x01\x01\x11\x15a\x14\x9BW`\0\x80\x81\xFD[a\x14\xAA\x83\x8C\x83\x01\x84\x87\x01a\x12\xF8V[\x86RPPP\x91\x86\x01\x91\x86\x01a\x14JV[P\x98\x97PPPPPPPPV[\x81\x83R\x81\x81` \x85\x017P`\0` \x82\x84\x01\x01R`\0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x84\x01\x01\x90P\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a\x15EW`\0\x80\xFD[\x83\x01` \x81\x01\x92P5\x90Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15eW`\0\x80\xFD[\x806\x03\x82\x13\x15a\x0EgW`\0\x80\xFD[`\0`@\x82\x01\x85\x83R` `@` \x85\x01R\x81\x85\x83R``\x85\x01\x90P``\x86`\x05\x1B\x86\x01\x01\x92P\x86`\0[\x87\x81\x10\x15a\x15\xF7W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x83Ra\x15\xD8\x82\x8Aa\x15\x10V[a\x15\xE3\x87\x82\x84a\x14\xC7V[\x96PPP\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a\x15\x9FV[P\x92\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a\x16\x17W`\0\x80\xFD[PQ\x91\x90PV[`\0a\x16*\x82\x83a\x15\x10V[`@\x85Ra\x16<`@\x86\x01\x82\x84a\x14\xC7V[\x91PPa\x16L` \x84\x01\x84a\x15\x10V[\x85\x83\x03` \x87\x01Ra\x16_\x83\x82\x84a\x14\xC7V[\x96\x95PPPPPPV[`@\x81R`\0a\x16|`@\x83\x01\x86a\x16\x1EV[\x82\x81\x03` \x84\x01Ra\x16_\x81\x85\x87a\x14\xC7V[`@\x80\x82R\x81\x01\x84\x90R`\0```\x05\x86\x90\x1B\x83\x01\x81\x01\x90\x83\x01\x87\x83\x80[\x89\x81\x10\x15a\x17/W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x87\x86\x03\x01\x84R\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x8C6\x03\x01\x81\x12a\x17\rW\x82\x83\xFD[a\x17\x19\x86\x8D\x83\x01a\x16\x1EV[\x95PP` \x93\x84\x01\x93\x92\x90\x92\x01\x91`\x01\x01a\x16\xADV[PPPP\x82\x81\x03` \x84\x01Ra\x17F\x81\x85\x87a\x14\xC7V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 V@\xB0U~\xC4U SV\x7F5s\x11[\x9C\xEB]J\xC2\x86\xAC\nG\x0E\x1E\x07\xDF\x15\x8E(\xE8dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static SWAPROUTER02EXECUTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static SWAPROUTER02EXECUTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct SwapRouter02Executor(::ethers::contract::Contract); impl ::core::clone::Clone for SwapRouter02Executor { fn clone(&self) -> Self { @@ -342,11 +406,13 @@ pub mod swap_router_02_executor { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - SWAPROUTER02EXECUTOR_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + SWAPROUTER02EXECUTOR_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -387,6 +453,26 @@ pub mod swap_router_02_executor { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } + ///Calls the contract's `execute` (0xd0f2d8ac) function + pub fn execute( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([208, 242, 216, 172], (order, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatch` (0xe5135ec6) function + pub fn execute_batch( + &self, + orders: ::std::vec::Vec, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([229, 19, 94, 198], (orders, callback_data)) + .expect("method not found (this should never happen)") + } ///Calls the contract's `multicall` (0x63fb0b96) function pub fn multicall( &self, @@ -400,20 +486,22 @@ pub mod swap_router_02_executor { ///Calls the contract's `owner` (0x8da5cb5b) function pub fn owner( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([141, 165, 203, 91], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `reactorCallback` (0x9943fa89) function + ///Calls the contract's `reactorCallback` (0x585da628) function pub fn reactor_callback( &self, - resolved_orders: ::std::vec::Vec, - filler: ::ethers::core::types::Address, - fill_data: ::ethers::core::types::Bytes, + p0: ::std::vec::Vec, + callback_data: ::ethers::core::types::Bytes, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([153, 67, 250, 137], (resolved_orders, filler, fill_data)) + .method_hash([88, 93, 166, 40], (p0, callback_data)) .expect("method not found (this should never happen)") } ///Calls the contract's `transferOwnership` (0xf2fde38b) function @@ -446,22 +534,26 @@ pub mod swap_router_02_executor { ///Gets the contract's `OwnershipTransferred` event pub fn ownership_transferred_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, OwnershipTransferredFilter> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for SwapRouter02Executor - { + for SwapRouter02Executor { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -471,11 +563,13 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "CallerNotWhitelisted", abi = "CallerNotWhitelisted()")] pub struct CallerNotWhitelisted; @@ -484,11 +578,13 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "MsgSenderNotReactor", abi = "MsgSenderNotReactor()")] pub struct MsgSenderNotReactor; @@ -497,16 +593,27 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; ///Container type for all of the contract's custom errors - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum SwapRouter02ExecutorErrors { CallerNotWhitelisted(CallerNotWhitelisted), MsgSenderNotReactor(MsgSenderNotReactor), @@ -520,24 +627,24 @@ pub mod swap_router_02_executor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::CallerNotWhitelisted(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::MsgSenderNotReactor(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::NativeTransferFailed(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -564,18 +671,15 @@ pub mod swap_router_02_executor { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -585,9 +689,15 @@ pub mod swap_router_02_executor { impl ::core::fmt::Display for SwapRouter02ExecutorErrors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::CallerNotWhitelisted(element) => ::core::fmt::Display::fmt(element, f), - Self::MsgSenderNotReactor(element) => ::core::fmt::Display::fmt(element, f), - Self::NativeTransferFailed(element) => ::core::fmt::Display::fmt(element, f), + Self::CallerNotWhitelisted(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::MsgSenderNotReactor(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -616,11 +726,13 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "OwnershipTransferred", @@ -632,16 +744,54 @@ pub mod swap_router_02_executor { #[ethevent(indexed)] pub new_owner: ::ethers::core::types::Address, } + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes),bytes)` and selector `0xd0f2d8ac` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes),bytes)")] + pub struct ExecuteCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[],bytes)` and selector `0xe5135ec6` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[],bytes)")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + pub callback_data: ::ethers::core::types::Bytes, + } ///Container type for all input parameters for the `multicall` function with signature `multicall(address[],bytes[])` and selector `0x63fb0b96` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "multicall", abi = "multicall(address[],bytes[])")] pub struct MulticallCall { @@ -653,44 +803,49 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "owner", abi = "owner()")] pub struct OwnerCall; - ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)` and selector `0x9943fa89` + ///Container type for all input parameters for the `reactorCallback` function with signature `reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)` and selector `0x585da628` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "reactorCallback", - abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],address,bytes)" + abi = "reactorCallback(((address,address,uint256,uint256,address,bytes),(address,uint256,uint256),(address,uint256,address)[],bytes,bytes32)[],bytes)" )] pub struct ReactorCallbackCall { - pub resolved_orders: ::std::vec::Vec, - pub filler: ::ethers::core::types::Address, - pub fill_data: ::ethers::core::types::Bytes, + pub p0: ::std::vec::Vec, + pub callback_data: ::ethers::core::types::Bytes, } ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b` #[derive( Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] pub struct TransferOwnershipCall { @@ -701,11 +856,13 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "unwrapWETH", abi = "unwrapWETH(address)")] pub struct UnwrapWETHCall { @@ -716,19 +873,32 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "withdrawETH", abi = "withdrawETH(address)")] pub struct WithdrawETHCall { pub recipient: ::ethers::core::types::Address, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum SwapRouter02ExecutorCalls { + Execute(ExecuteCall), + ExecuteBatch(ExecuteBatchCall), Multicall(MulticallCall), Owner(OwnerCall), ReactorCallback(ReactorCallbackCall), @@ -741,26 +911,44 @@ pub mod swap_router_02_executor { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatch(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Multicall(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Owner(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ReactorCallback(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferOwnership(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::UnwrapWETH(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawETH(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -769,18 +957,34 @@ pub mod swap_router_02_executor { impl ::ethers::core::abi::AbiEncode for SwapRouter02ExecutorCalls { fn encode(self) -> Vec { match self { - Self::Multicall(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Multicall(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::ReactorCallback(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferOwnership(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::UnwrapWETH(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::WithdrawETH(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ReactorCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::UnwrapWETH(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::WithdrawETH(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } impl ::core::fmt::Display for SwapRouter02ExecutorCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), Self::Multicall(element) => ::core::fmt::Display::fmt(element, f), Self::Owner(element) => ::core::fmt::Display::fmt(element, f), Self::ReactorCallback(element) => ::core::fmt::Display::fmt(element, f), @@ -790,6 +994,16 @@ pub mod swap_router_02_executor { } } } + impl ::core::convert::From for SwapRouter02ExecutorCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From for SwapRouter02ExecutorCalls { + fn from(value: ExecuteBatchCall) -> Self { + Self::ExecuteBatch(value) + } + } impl ::core::convert::From for SwapRouter02ExecutorCalls { fn from(value: MulticallCall) -> Self { Self::Multicall(value) @@ -825,11 +1039,13 @@ pub mod swap_router_02_executor { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct OwnerReturn(pub ::ethers::core::types::Address); } diff --git a/crates/bindings-uniswapx/src/uint_string.rs b/crates/bindings-uniswapx/src/uint_string.rs index 2d52892..00d57d6 100644 --- a/crates/bindings-uniswapx/src/uint_string.rs +++ b/crates/bindings-uniswapx/src/uint_string.rs @@ -7,7 +7,7 @@ pub use uint_string::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod uint_string { #[allow(deprecated)] @@ -16,36 +16,47 @@ pub mod uint_string { constructor: ::core::option::Option::None, functions: ::std::collections::BTreeMap::new(), events: ::std::collections::BTreeMap::new(), - errors: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("InvalidStringNumber"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("InvalidStringNumber",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - },], - )]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("InvalidStringNumber"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InvalidStringNumber", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("s"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + }, + ], + ), + ]), receive: false, fallback: false, } } ///The parsed JSON ABI of the contract. - pub static UINTSTRING_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static UINTSTRING_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 L\xD1Z\x9C8\xB1\xFC\xD9\x82\x1B4V\xD4\x995\xC8\x84\xE2\xCD\x9E\xE9|\xCF\xF0/\x9F\x15n\xC0\xEAV(dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xC4\xC7\xB8\\\x10\xF3]\xE4@\x9C\xF4<\x86\xD2b:\xCD}\xE5\xBE\x0B\xCD0\xB5\x07\xDB\x9F\x1C\xC0\xD6\xE3sdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static UINTSTRING_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static UINTSTRING_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 L\xD1Z\x9C8\xB1\xFC\xD9\x82\x1B4V\xD4\x995\xC8\x84\xE2\xCD\x9E\xE9|\xCF\xF0/\x9F\x15n\xC0\xEAV(dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xC4\xC7\xB8\\\x10\xF3]\xE4@\x9C\xF4<\x86\xD2b:\xCD}\xE5\xBE\x0B\xCD0\xB5\x07\xDB\x9F\x1C\xC0\xD6\xE3sdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static UINTSTRING_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static UINTSTRING_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct UintString(::ethers::contract::Contract); impl ::core::clone::Clone for UintString { fn clone(&self) -> Self { @@ -65,9 +76,7 @@ pub mod uint_string { } impl ::core::fmt::Debug for UintString { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(UintString)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(UintString)).field(&self.address()).finish() } } impl UintString { @@ -77,11 +86,13 @@ pub mod uint_string { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - UINTSTRING_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + UINTSTRING_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -123,7 +134,8 @@ pub mod uint_string { Ok(deployer) } } - impl From<::ethers::contract::Contract> for UintString { + impl From<::ethers::contract::Contract> + for UintString { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -133,11 +145,13 @@ pub mod uint_string { Clone, ::ethers::contract::EthError, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "InvalidStringNumber", abi = "InvalidStringNumber(string)")] pub struct InvalidStringNumber { diff --git a/crates/bindings-uniswapx/src/v2_dutch_order_lib.rs b/crates/bindings-uniswapx/src/v2_dutch_order_lib.rs new file mode 100644 index 0000000..de75120 --- /dev/null +++ b/crates/bindings-uniswapx/src/v2_dutch_order_lib.rs @@ -0,0 +1,125 @@ +pub use v2_dutch_order_lib::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod v2_dutch_order_lib { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::std::collections::BTreeMap::new(), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static V2DUTCHORDERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 l\xF6\xDA\x8F9MS\xAF\x91R\x1D~H\x91\x95\x0F\xC2\xCEP\x1A\xD0\x01\xD4q\xD7y \x9E\x84p\xC5\x04dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static V2DUTCHORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 l\xF6\xDA\x8F9MS\xAF\x91R\x1D~H\x91\x95\x0F\xC2\xCEP\x1A\xD0\x01\xD4q\xD7y \x9E\x84p\xC5\x04dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static V2DUTCHORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct V2DutchOrderLib(::ethers::contract::Contract); + impl ::core::clone::Clone for V2DutchOrderLib { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for V2DutchOrderLib { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for V2DutchOrderLib { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for V2DutchOrderLib { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(V2DutchOrderLib)) + .field(&self.address()) + .finish() + } + } + impl V2DutchOrderLib { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + V2DUTCHORDERLIB_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + V2DUTCHORDERLIB_ABI.clone(), + V2DUTCHORDERLIB_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + } + impl From<::ethers::contract::Contract> + for V2DutchOrderLib { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } +} diff --git a/crates/bindings-uniswapx/src/v2_dutch_order_reactor.rs b/crates/bindings-uniswapx/src/v2_dutch_order_reactor.rs new file mode 100644 index 0000000..eba7724 --- /dev/null +++ b/crates/bindings-uniswapx/src/v2_dutch_order_reactor.rs @@ -0,0 +1,1773 @@ +pub use v2_dutch_order_reactor::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod v2_dutch_order_reactor { + pub use super::super::shared_types::*; + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_permit2"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_protocolFeeOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("execute"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("execute"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatch"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("executeBatch"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeBatchWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeBatchWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("orders"), + kind: ::ethers::core::abi::ethabi::ParamType::Array( + ::std::boxed::Box::new( + ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + ), + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder[]"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("executeWithCallback"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "executeWithCallback", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("order"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Bytes, + ::ethers::core::abi::ethabi::ParamType::Bytes, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("struct SignedOrder"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("callbackData"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("feeController"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("feeController"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "contract IProtocolFeeController", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("owner"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("owner"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("permit2"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit2"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("contract IPermit2"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setProtocolFeeController"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "setProtocolFeeController", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("transferOwnership"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferOwnership"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Fill"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Fill"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("orderHash"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("filler"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("swapper"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("nonce"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("OwnershipTransferred"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "OwnershipTransferred", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("user"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newOwner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("ProtocolFeeControllerSet"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "ProtocolFeeControllerSet", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("oldFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("newFeeController"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("DeadlineBeforeEndTime"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "DeadlineBeforeEndTime", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("DuplicateFeeOutput"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("duplicateToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("EndTimeBeforeStartTime"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "EndTimeBeforeStartTime", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("FeeTooLarge"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("token"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("recipient"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("IncorrectAmounts"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InputAndOutputFees"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignerInput"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InvalidCosignerInput", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignerOutput"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "InvalidCosignerOutput", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidFeeToken"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("feeToken"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("InvalidReactor"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidReactor"), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NativeTransferFailed"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NativeTransferFailed", + ), + inputs: ::std::vec![], + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("NoExclusiveOverride"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "NoExclusiveOverride", + ), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: true, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static V2DUTCHORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004\xBD8\x03\x80b\x004\xBD\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3\xA4b\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x1A\xE7\x01Ra3\xA4`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$NV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xFCV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%>V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xDCV[a\x06\x83V[a\0\xB9a\x01l6`\x04a&\0V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xDCV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&dV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xBEV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)-V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BmV[a\x04\xB5\x81a\x0B\xBEV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xBEV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&dV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BmV[a\x08\x86\x81a\x0B\xBEV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)kV[\x81\x01\x90a\n|\x91\x90a-\xAAV[\x90P`\0a\n\x89\x82a\r\x11V[\x90Pa\n\x95\x81\x83a\x0FCV[a\n\x9E\x82a\x11BV[`@\x80Q`\xA0\x81\x01\x82R\x83Q\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q\x93\x86\x01Q\x92\x93\x91\x84\x01\x92a\n\xCF\x92\x90\x91\x90a\x12\xA2V[\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q``\x87\x01Q\x92\x90\x93\x01\x92a\n\xF3\x92\x91\x90a\x13tV[\x81R` \x01\x85\x80` \x01\x90a\x0B\x08\x91\x90a)kV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x82\x90R`\x80\x83\x01Q`@\x81\x01Q\x81Q``\x90\x92\x01Q\x92\x95Pa\x0Bf\x92\x86\x92\x90a\x14[V[PP\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x8EWa\x0B\x8Ea&dV[` \x02` \x01\x01Q\x90Pa\x0B\xA1\x81a\x14\xFCV[a\x0B\xAB\x813a\x19\xECV[a\x0B\xB5\x813a\x1A\xE5V[P`\x01\x01a\x0BrV[\x80Q`\0[\x81\x81\x10\x15a\r\0W`\0\x83\x82\x81Q\x81\x10a\x0B\xDFWa\x0B\xDFa&dV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C`W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x16Wa\x0C\x16a&dV[` \x02` \x01\x01Q\x90Pa\x0CW\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1E'\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xF6V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\xA9Wa\x0C\xA9a&dV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xC3V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1EnV[`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\0\x90`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2b` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a.\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F\x08V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x0E\xDA\x90a\x1F\xA2V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16``\x87\x01R\x92\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x80\x81\x01Q` \x01Q\x81Q``\x01Q\x10\x15a\x0F\x8AW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82`\xA0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0F\xA5\x91\x90a.\xEAV[\x91P\x91P`\0\x83`\xA0\x01Q`@\x81Q\x81\x10a\x0F\xC2Wa\x0F\xC2a&dV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\x80\x01Q`@Q` \x01a\x0F\xEC\x91\x90a/\x0EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x10(\x92\x91` \x01a/\x9EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xA4W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x11\x03WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x11:W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\x80\x80\x82\x01Q\x01Q\x15a\x11\xABW\x80`@\x01Q` \x01Q\x81`\x80\x01Q`\x80\x01Q\x11\x15a\x11\x99W`@Q\x7F\xAC\x91C\xE7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x80\x82\x01Q\x01Q`@\x82\x01Q` \x01R[\x80``\x01QQ\x81`\x80\x01Q`\xA0\x01QQ\x14a\x11\xF2W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\x12\x1AWa\x12\x1Aa&dV[` \x02` \x01\x01Q\x90P`\0\x83`\x80\x01Q`\xA0\x01Q\x83\x81Q\x81\x10a\x12@Wa\x12@a&dV[` \x02` \x01\x01Q\x90P\x80`\0\x14a\x12\x98W\x81` \x01Q\x81\x10\x15a\x12\x90W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01\x81\x90R[PP`\x01\x01a\x11\xF5V[a\x12\xDC`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x13\x1EW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x134\x85` \x01Q\x86`@\x01Q\x86\x86a @V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\x92Wa\x13\x92a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xFBW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\xB0W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x14RWa\x14-\x86\x82\x81Q\x81\x10a\x14\x1EWa\x14\x1Ea&dV[` \x02` \x01\x01Q\x86\x86a \xE7V[\x83\x82\x81Q\x81\x10a\x14?Wa\x14?a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x01V[PP\x93\x92PPPV[a\x14e\x83\x83a!\xB7V[a\x06}W\x80a\x14\xA0W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x11:W`\0\x82\x82\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a&dV[` \x02` \x01\x01Q\x90Pa\x14\xEE\x84a'\x10a\x14\xE0\x91\x90a/\xC4V[` \x83\x01Q\x90a'\x10a\"\x04V[` \x90\x91\x01R`\x01\x01a\x14\xA8V[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15\x1CWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x15s\x90\x85\x90`\x04\x01a/\xFEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x90W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x15\xD6\x91\x90\x81\x01\x90a0\x11V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x15\xEE\x82\x84a/\xC4V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x06Wa\x16\x06a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16oW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x16$W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xC0W\x85`@\x01Q\x81\x81Q\x81\x10a\x16\x93Wa\x16\x93a&dV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x16\xADWa\x16\xADa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x16uV[P`\0\x80`\0[\x84\x81\x10\x15a\x19\xDBW`\0\x87\x82\x81Q\x81\x10a\x16\xE3Wa\x16\xE3a&dV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x17\xA1W\x88\x81\x81Q\x81\x10a\x17\nWa\x17\na&dV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17\x99W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x16\xF0V[P`\0\x80[\x88\x81\x10\x15a\x18bW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x17\xC6Wa\x17\xC6a&dV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x18YW\x85\x15a\x18CW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x18R\x90\x84a/\xC4V[\x92P`\x01\x96P[P`\x01\x01a\x17\xA6V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x18\xDBW\x84\x15a\x18\xC2W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x18\xD4\x90\x82a/\xC4V[\x90P`\x01\x93P[\x80`\0\x03a\x190W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x19>\x81`\x05a'\x10a\"HV[\x82` \x01Q\x11\x15a\x19\xB1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x19\xC6Wa\x19\xC6a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x16\xC7V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x1A=W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x1A\xB9\x90\x84\x90\x86\x90`\x04\x01a0\xE1V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1A\xD1W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1B\xA5\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\xB4`.\x919`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1D\x8C\x94\x93\x92\x91` \x01a1\x10V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1D\xF9\x96\x95\x94\x93\x92`\x04\x01a1\x99V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\x13W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ELWa\x03_\x82\x82a\x1EnV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"\x84V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1E\xC8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\xCDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0F&\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC2Wa\x1F\xC2a&5V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xECW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a 1W`\0a \x1F\x85\x83\x81Q\x81\x10a \x12Wa \x12a&dV[` \x02` \x01\x01Qa#vV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xF2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x83\x85\x03a PWP\x83a \xDFV[\x82\x82\x11a \x89W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a \x97WP\x82a \xDFV[B\x83\x10a \xA5WP\x83a \xDFV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a \xCAWa \xC1\x86\x88\x03\x83\x83a\"HV[\x87\x03\x92Pa \xDCV[a \xD7\x87\x87\x03\x83\x83a\"\x04V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a!FW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\\\x85` \x01Q\x86`@\x01Q\x86\x86a @V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a!\xDBWP\x81B\x11[\x80a!\xFBWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"9W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"}W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#oW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0F&\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\x17W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$/W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$cW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a${W`\0\x80\xFD[a$\x87\x87\x83\x88\x01a#\xEDV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x9DW`\0\x80\xFD[Pa$\xAA\x86\x82\x87\x01a$\x05V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xC9W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xE1W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x0FW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%&W`\0\x80\xFD[a%2\x85\x82\x86\x01a$\xB7V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%TW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%lW`\0\x80\xFD[a%x\x88\x83\x89\x01a$\xB7V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x91W`\0\x80\xFD[Pa%\x9E\x87\x82\x88\x01a$\x05V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a%\xD7\x81a%\xAAV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a%\xEEW`\0\x80\xFD[\x815a%\xF9\x81a%\xAAV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a&\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&)W`\0\x80\xFD[a \xDF\x84\x82\x85\x01a#\xEDV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xAEW\x81\x81\x01Q\x83\x82\x01R` \x01a&\x96V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xCF\x81` \x86\x01` \x86\x01a&\x93V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'aW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x16V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xE0a\x01\xA0\x85\x01\x82a&\xB7V[\x90P` \x83\x01Qa(\x1E` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(6\x82\x82a'\x01V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(P\x82\x82a&\xB7V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xDCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xCA\x86\x83Qa'lV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x90V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)aW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\xA0W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xBBW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$GW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*\x86Wa*\x86a&5V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x9FW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xB9Wa*\xB9a&5V[a*\xEA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*?V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xFFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+.W`\0\x80\xFD[a+6a)\xD0V[\x90P\x815a+C\x81a%\xAAV[\x81R` \x82\x015a+S\x81a%\xAAV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a+|\x81a%\xAAV[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a+\x9BW`\0\x80\xFD[a+\xA7\x84\x82\x85\x01a*\x8EV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xC5W`\0\x80\xFD[a+\xCDa)\xF9V[\x90P\x815a+\xDA\x81a%\xAAV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,\x12Wa,\x12a&5V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,-W`\0\x80\xFD[\x815` a,Ba,=\x83a+\xF8V[a*?V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,aW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xC6W`\x80\x81\x89\x03\x12\x15a,~W`\0\x80\x81\xFD[a,\x86a*\x1CV[\x815a,\x91\x81a%\xAAV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xB4\x81a%\xAAV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,eV[P\x96\x95PPPPPPV[`\0`\xC0\x82\x84\x03\x12\x15a,\xE3W`\0\x80\xFD[a,\xEBa)\xD0V[\x90P\x815\x81R` \x80\x83\x015\x81\x83\x01R`@\x83\x015a-\t\x81a%\xAAV[\x80`@\x84\x01RP``\x83\x015``\x83\x01R`\x80\x83\x015`\x80\x83\x01R`\xA0\x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a->W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-OW`\0\x80\xFD[\x805a-]a,=\x82a+\xF8V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x83\x01\x90\x83\x81\x01\x90\x87\x83\x11\x15a-|W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a-\x9AW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a-\x81V[`\xA0\x86\x01RP\x92\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a-\xBCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-\xD4W`\0\x80\xFD[\x90\x83\x01\x90a\x01\0\x82\x86\x03\x12\x15a-\xE9W`\0\x80\xFD[a-\xF1a)\xD0V[\x825\x82\x81\x11\x15a.\0W`\0\x80\xFD[a.\x0C\x87\x82\x86\x01a+\x1CV[\x82RPa.\x1B` \x84\x01a%\xCCV[` \x82\x01Ra.-\x86`@\x85\x01a+\xB3V[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a.DW`\0\x80\xFD[a.P\x87\x82\x86\x01a,\x1CV[``\x83\x01RP`\xC0\x83\x015\x82\x81\x11\x15a.hW`\0\x80\xFD[a.t\x87\x82\x86\x01a,\xD1V[`\x80\x83\x01RP`\xE0\x83\x015\x82\x81\x11\x15a.\x8CW`\0\x80\xFD[a.\x98\x87\x82\x86\x01a*\x8EV[`\xA0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa.\xB9\x81\x84` \x89\x01a&\x93V[\x84Q\x90\x83\x01\x90a.\xCD\x81\x83` \x89\x01a&\x93V[\x84Q\x91\x01\x90a.\xE0\x81\x83` \x88\x01a&\x93V[\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a.\xFDW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0` \x80\x83R`\xE0\x83\x01\x84Q\x82\x85\x01R\x81\x85\x01Q`@\x85\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x86\x01Q\x16``\x85\x01R``\x85\x01Q`\x80\x85\x01R`\x80\x85\x01Q`\xA0\x85\x01R`\xA0\x85\x01Q`\xC0\x80\x86\x01R\x81\x81Q\x80\x84Ra\x01\0\x87\x01\x91P\x84\x83\x01\x93P`\0\x92P[\x80\x83\x10\x15a,\xC6W\x83Q\x82R\x92\x84\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x84\x01\x90a/~V[\x82\x81R`\0\x82Qa/\xB6\x81` \x85\x01` \x87\x01a&\x93V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x80\x82\x01\x80\x82\x11\x15a!\xFEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a!\xFB` \x83\x01\x84a'lV[`\0` \x80\x83\x85\x03\x12\x15a0$W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0;W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0LW`\0\x80\xFD[\x80Qa0Za,=\x82a+\xF8V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0yW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD5W\x80\x85\x8A\x03\x12\x15a0\x96W`\0\x80\x81\xFD[a0\x9Ea)\xF9V[\x85Qa0\xA9\x81a%\xAAV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC2\x81a%\xAAV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0~V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a \xDF`@\x83\x01\x84a'lV[\x7FV2DutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x85Qa1H\x81`\x15\x85\x01` \x8A\x01a&\x93V[\x85Q\x90\x83\x01\x90a1_\x81`\x15\x84\x01` \x8A\x01a&\x93V[\x85Q\x91\x01\x90a1u\x81`\x15\x84\x01` \x89\x01a&\x93V[\x84Q\x91\x01\x90a1\x8B\x81`\x15\x84\x01` \x88\x01a&\x93V[\x01`\x15\x01\x96\x95PPPPPPV[`\0a\x01@a1\xC9\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\n`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2?\x81\x84\x01\x86a&\xB7V[\x90P\x82\x81\x03a\x01 \x84\x01Ra2T\x81\x85a&\xB7V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 5\xA2]\x96\x82W\x10\"t\x0F\x8E\xB2\xBB\xFF\xFF\x05\x9F~c\xD5\x9C\x89\xE5}\x981\xCEU\x0C7FZdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static V2DUTCHORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$NV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xFCV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%>V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xDCV[a\x06\x83V[a\0\xB9a\x01l6`\x04a&\0V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xDCV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&dV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xBEV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)-V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0BmV[a\x04\xB5\x81a\x0B\xBEV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&dV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0BmV[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(gV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xBEV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&dV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0BmV[a\x08\x86\x81a\x0B\xBEV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)kV[\x81\x01\x90a\n|\x91\x90a-\xAAV[\x90P`\0a\n\x89\x82a\r\x11V[\x90Pa\n\x95\x81\x83a\x0FCV[a\n\x9E\x82a\x11BV[`@\x80Q`\xA0\x81\x01\x82R\x83Q\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q\x93\x86\x01Q\x92\x93\x91\x84\x01\x92a\n\xCF\x92\x90\x91\x90a\x12\xA2V[\x81R`\x80\x84\x01Q\x80Q` \x91\x82\x01Q``\x87\x01Q\x92\x90\x93\x01\x92a\n\xF3\x92\x91\x90a\x13tV[\x81R` \x01\x85\x80` \x01\x90a\x0B\x08\x91\x90a)kV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x82\x90R`\x80\x83\x01Q`@\x81\x01Q\x81Q``\x90\x92\x01Q\x92\x95Pa\x0Bf\x92\x86\x92\x90a\x14[V[PP\x91\x90PV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x8EWa\x0B\x8Ea&dV[` \x02` \x01\x01Q\x90Pa\x0B\xA1\x81a\x14\xFCV[a\x0B\xAB\x813a\x19\xECV[a\x0B\xB5\x813a\x1A\xE5V[P`\x01\x01a\x0BrV[\x80Q`\0[\x81\x81\x10\x15a\r\0W`\0\x83\x82\x81Q\x81\x10a\x0B\xDFWa\x0B\xDFa&dV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C`W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x16Wa\x0C\x16a&dV[` \x02` \x01\x01Q\x90Pa\x0CW\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1E'\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xF6V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\xA9Wa\x0C\xA9a&dV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xEE\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xC3V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1EnV[`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\0\x90`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\x80\x83\x01\x90\x91R`R\x80\x83R\x90\x91\x90a2b` \x83\x019`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q` \x01a\x0E\x91\x93\x92\x91\x90a.\xA7V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0E\xB4\x83`\0\x01Qa\x1F\x08V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x0E\xDA\x90a\x1F\xA2V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16``\x87\x01R\x92\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x80\x81\x01Q` \x01Q\x81Q``\x01Q\x10\x15a\x0F\x8AW`@Q\x7Fw:a\x87\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x80\x82`\xA0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0F\xA5\x91\x90a.\xEAV[\x91P\x91P`\0\x83`\xA0\x01Q`@\x81Q\x81\x10a\x0F\xC2Wa\x0F\xC2a&dV[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\x80\x01Q`@Q` \x01a\x0F\xEC\x91\x90a/\x0EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x10(\x92\x91` \x01a/\x9EV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x10\xA4W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x11\x03WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x11:W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`\x80\x80\x82\x01Q\x01Q\x15a\x11\xABW\x80`@\x01Q` \x01Q\x81`\x80\x01Q`\x80\x01Q\x11\x15a\x11\x99W`@Q\x7F\xAC\x91C\xE7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x80\x82\x01Q\x01Q`@\x82\x01Q` \x01R[\x80``\x01QQ\x81`\x80\x01Q`\xA0\x01QQ\x14a\x11\xF2W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\x12\x1AWa\x12\x1Aa&dV[` \x02` \x01\x01Q\x90P`\0\x83`\x80\x01Q`\xA0\x01Q\x83\x81Q\x81\x10a\x12@Wa\x12@a&dV[` \x02` \x01\x01Q\x90P\x80`\0\x14a\x12\x98W\x81` \x01Q\x81\x10\x15a\x12\x90W`@Q\x7F\xA3\x05\xDF\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x82\x01\x81\x90R[PP`\x01\x01a\x11\xF5V[a\x12\xDC`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[\x83`@\x01Q\x84` \x01Q\x11\x15a\x13\x1EW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a\x134\x85` \x01Q\x86`@\x01Q\x86\x86a @V[`@\x80Q``\x81\x01\x82R\x87Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x92\x90\x92R\x95\x86\x01Q\x95\x81\x01\x95\x90\x95RP\x92\x93\x92PPPV[\x82Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13\x92Wa\x13\x92a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xFBW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13\xB0W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x14RWa\x14-\x86\x82\x81Q\x81\x10a\x14\x1EWa\x14\x1Ea&dV[` \x02` \x01\x01Q\x86\x86a \xE7V[\x83\x82\x81Q\x81\x10a\x14?Wa\x14?a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\x01V[PP\x93\x92PPPV[a\x14e\x83\x83a!\xB7V[a\x06}W\x80a\x14\xA0W`@Q\x7F\xB9\xEC\x1E\x96\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x84\x01Q`\0[\x81Q\x81\x10\x15a\x11:W`\0\x82\x82\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a&dV[` \x02` \x01\x01Q\x90Pa\x14\xEE\x84a'\x10a\x14\xE0\x91\x90a/\xC4V[` \x83\x01Q\x90a'\x10a\"\x04V[` \x90\x91\x01R`\x01\x01a\x14\xA8V[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x15\x1CWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x15s\x90\x85\x90`\x04\x01a/\xFEV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x15\x90W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x15\xD6\x91\x90\x81\x01\x90a0\x11V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x15\xEE\x82\x84a/\xC4V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x16\x06Wa\x16\x06a&5V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x16oW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x16$W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x16\xC0W\x85`@\x01Q\x81\x81Q\x81\x10a\x16\x93Wa\x16\x93a&dV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x16\xADWa\x16\xADa&dV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x16uV[P`\0\x80`\0[\x84\x81\x10\x15a\x19\xDBW`\0\x87\x82\x81Q\x81\x10a\x16\xE3Wa\x16\xE3a&dV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x17\xA1W\x88\x81\x81Q\x81\x10a\x17\nWa\x17\na&dV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17\x99W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x16\xF0V[P`\0\x80[\x88\x81\x10\x15a\x18bW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x17\xC6Wa\x17\xC6a&dV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x18YW\x85\x15a\x18CW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x18R\x90\x84a/\xC4V[\x92P`\x01\x96P[P`\x01\x01a\x17\xA6V[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x18\xDBW\x84\x15a\x18\xC2W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x18\xD4\x90\x82a/\xC4V[\x90P`\x01\x93P[\x80`\0\x03a\x190W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x19>\x81`\x05a'\x10a\"HV[\x82` \x01Q\x11\x15a\x19\xB1W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x19\xC6Wa\x19\xC6a&dV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x16\xC7V[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x1A=W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x1A\xB9\x90\x84\x90\x86\x90`\x04\x01a0\xE1V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x1A\xD1W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1B\xA5\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\xB4`.\x919`@Q\x7FV2DutchOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`-\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`<\x82\x01R\x7Faddress baseInputToken,\0\0\0\0\0\0\0\0\0`M\x82\x01R\x7Fuint256 baseInputStartAmount,\0\0\0`d\x82\x01R\x7Fuint256 baseInputEndAmount,\0\0\0\0\0`\x81\x82\x01R\x7FDutchOutput[] baseOutputs)\0\0\0\0\0\0`\x9C\x82\x01R`\xB6\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1D\x8C\x94\x93\x92\x91` \x01a1\x10V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1D\xF9\x96\x95\x94\x93\x92`\x04\x01a1\x99V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1E\x13W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x11:W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1ELWa\x03_\x82\x82a\x1EnV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"\x84V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1E\xC8W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1E\xCDV[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a2\xE2`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x0F&\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC2Wa\x1F\xC2a&5V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1F\xECW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a 1W`\0a \x1F\x85\x83\x81Q\x81\x10a \x12Wa \x12a&dV[` \x02` \x01\x01Qa#vV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1F\xF2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x83\x85\x03a PWP\x83a \xDFV[\x82\x82\x11a \x89W`@Q\x7FC\x134S\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[B\x82\x11a \x97WP\x82a \xDFV[B\x83\x10a \xA5WP\x83a \xDFV[B\x83\x90\x03\x83\x83\x03\x86\x86\x10\x15a \xCAWa \xC1\x86\x88\x03\x83\x83a\"HV[\x87\x03\x92Pa \xDCV[a \xD7\x87\x87\x03\x83\x83a\"\x04V[\x87\x01\x92P[PP[\x94\x93PPPPV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R\x83`@\x01Q\x84` \x01Q\x10\x15a!FW`@Q\x7F|\x1F\x81\x13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a!\\\x85` \x01Q\x86`@\x01Q\x86\x86a @V[\x90P`@Q\x80``\x01`@R\x80\x86`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82\x81R` \x01\x86``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x91PP\x93\x92PPPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x15\x80a!\xDBWP\x81B\x11[\x80a!\xFBWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x163\x14[\x90P[\x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"9W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\"}W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#oW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`R\x81R` \x01a2b`R\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x0F&\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xFFW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\x17W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$/W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$cW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a${W`\0\x80\xFD[a$\x87\x87\x83\x88\x01a#\xEDV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x9DW`\0\x80\xFD[Pa$\xAA\x86\x82\x87\x01a$\x05V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xC9W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xE1W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$GW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x0FW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%&W`\0\x80\xFD[a%2\x85\x82\x86\x01a$\xB7V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%TW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%lW`\0\x80\xFD[a%x\x88\x83\x89\x01a$\xB7V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x91W`\0\x80\xFD[Pa%\x9E\x87\x82\x88\x01a$\x05V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a%\xD7\x81a%\xAAV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a%\xEEW`\0\x80\xFD[\x815a%\xF9\x81a%\xAAV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a&\x12W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&)W`\0\x80\xFD[a \xDF\x84\x82\x85\x01a#\xEDV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xAEW\x81\x81\x01Q\x83\x82\x01R` \x01a&\x96V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xCF\x81` \x86\x01` \x86\x01a&\x93V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'aW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x16V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xE0a\x01\xA0\x85\x01\x82a&\xB7V[\x90P` \x83\x01Qa(\x1E` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(6\x82\x82a'\x01V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(P\x82\x82a&\xB7V[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xDCW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xCA\x86\x83Qa'lV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x90V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)aW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\xA0W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xBBW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$GW`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xF3Wa)\xF3a&5V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*\x86Wa*\x86a&5V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x9FW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xB9Wa*\xB9a&5V[a*\xEA` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*?V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xFFW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+.W`\0\x80\xFD[a+6a)\xD0V[\x90P\x815a+C\x81a%\xAAV[\x81R` \x82\x015a+S\x81a%\xAAV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a+|\x81a%\xAAV[`\x80\x82\x01R`\xA0\x82\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a+\x9BW`\0\x80\xFD[a+\xA7\x84\x82\x85\x01a*\x8EV[`\xA0\x83\x01RP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xC5W`\0\x80\xFD[a+\xCDa)\xF9V[\x90P\x815a+\xDA\x81a%\xAAV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,\x12Wa,\x12a&5V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,-W`\0\x80\xFD[\x815` a,Ba,=\x83a+\xF8V[a*?V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,aW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xC6W`\x80\x81\x89\x03\x12\x15a,~W`\0\x80\x81\xFD[a,\x86a*\x1CV[\x815a,\x91\x81a%\xAAV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xB4\x81a%\xAAV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,eV[P\x96\x95PPPPPPV[`\0`\xC0\x82\x84\x03\x12\x15a,\xE3W`\0\x80\xFD[a,\xEBa)\xD0V[\x90P\x815\x81R` \x80\x83\x015\x81\x83\x01R`@\x83\x015a-\t\x81a%\xAAV[\x80`@\x84\x01RP``\x83\x015``\x83\x01R`\x80\x83\x015`\x80\x83\x01R`\xA0\x83\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a->W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-OW`\0\x80\xFD[\x805a-]a,=\x82a+\xF8V[\x81\x81R`\x05\x91\x90\x91\x1B\x82\x01\x83\x01\x90\x83\x81\x01\x90\x87\x83\x11\x15a-|W`\0\x80\xFD[\x92\x84\x01\x92[\x82\x84\x10\x15a-\x9AW\x835\x82R\x92\x84\x01\x92\x90\x84\x01\x90a-\x81V[`\xA0\x86\x01RP\x92\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a-\xBCW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-\xD4W`\0\x80\xFD[\x90\x83\x01\x90a\x01\0\x82\x86\x03\x12\x15a-\xE9W`\0\x80\xFD[a-\xF1a)\xD0V[\x825\x82\x81\x11\x15a.\0W`\0\x80\xFD[a.\x0C\x87\x82\x86\x01a+\x1CV[\x82RPa.\x1B` \x84\x01a%\xCCV[` \x82\x01Ra.-\x86`@\x85\x01a+\xB3V[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a.DW`\0\x80\xFD[a.P\x87\x82\x86\x01a,\x1CV[``\x83\x01RP`\xC0\x83\x015\x82\x81\x11\x15a.hW`\0\x80\xFD[a.t\x87\x82\x86\x01a,\xD1V[`\x80\x83\x01RP`\xE0\x83\x015\x82\x81\x11\x15a.\x8CW`\0\x80\xFD[a.\x98\x87\x82\x86\x01a*\x8EV[`\xA0\x83\x01RP\x95\x94PPPPPV[`\0\x84Qa.\xB9\x81\x84` \x89\x01a&\x93V[\x84Q\x90\x83\x01\x90a.\xCD\x81\x83` \x89\x01a&\x93V[\x84Q\x91\x01\x90a.\xE0\x81\x83` \x88\x01a&\x93V[\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a.\xFDW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[`\0` \x80\x83R`\xE0\x83\x01\x84Q\x82\x85\x01R\x81\x85\x01Q`@\x85\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@\x86\x01Q\x16``\x85\x01R``\x85\x01Q`\x80\x85\x01R`\x80\x85\x01Q`\xA0\x85\x01R`\xA0\x85\x01Q`\xC0\x80\x86\x01R\x81\x81Q\x80\x84Ra\x01\0\x87\x01\x91P\x84\x83\x01\x93P`\0\x92P[\x80\x83\x10\x15a,\xC6W\x83Q\x82R\x92\x84\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x84\x01\x90a/~V[\x82\x81R`\0\x82Qa/\xB6\x81` \x85\x01` \x87\x01a&\x93V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x80\x82\x01\x80\x82\x11\x15a!\xFEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[` \x81R`\0a!\xFB` \x83\x01\x84a'lV[`\0` \x80\x83\x85\x03\x12\x15a0$W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a0;W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a0LW`\0\x80\xFD[\x80Qa0Za,=\x82a+\xF8V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a0yW`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a0\xD5W\x80\x85\x8A\x03\x12\x15a0\x96W`\0\x80\x81\xFD[a0\x9Ea)\xF9V[\x85Qa0\xA9\x81a%\xAAV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa0\xC2\x81a%\xAAV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a0~V[P\x97\x96PPPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a \xDF`@\x83\x01\x84a'lV[\x7FV2DutchOrder witness)\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x85Qa1H\x81`\x15\x85\x01` \x8A\x01a&\x93V[\x85Q\x90\x83\x01\x90a1_\x81`\x15\x84\x01` \x8A\x01a&\x93V[\x85Q\x91\x01\x90a1u\x81`\x15\x84\x01` \x89\x01a&\x93V[\x84Q\x91\x01\x90a1\x8B\x81`\x15\x84\x01` \x88\x01a&\x93V[\x01`\x15\x01\x96\x95PPPPPPV[`\0a\x01@a1\xC9\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra2\n`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra2?\x81\x84\x01\x86a&\xB7V[\x90P\x82\x81\x03a\x01 \x84\x01Ra2T\x81\x85a&\xB7V[\x99\x98PPPPPPPPPV\xFEDutchOutput(address token,uint256 startAmount,uint256 endAmount,address recipient)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)\xA2dipfsX\"\x12 5\xA2]\x96\x82W\x10\"t\x0F\x8E\xB2\xBB\xFF\xFF\x05\x9F~c\xD5\x9C\x89\xE5}\x981\xCEU\x0C7FZdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static V2DUTCHORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct V2DutchOrderReactor(::ethers::contract::Contract); + impl ::core::clone::Clone for V2DutchOrderReactor { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for V2DutchOrderReactor { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for V2DutchOrderReactor { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for V2DutchOrderReactor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(V2DutchOrderReactor)) + .field(&self.address()) + .finish() + } + } + impl V2DutchOrderReactor { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + V2DUTCHORDERREACTOR_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + V2DUTCHORDERREACTOR_ABI.clone(), + V2DUTCHORDERREACTOR_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `execute` (0x3f62192e) function + pub fn execute( + &self, + order: SignedOrder, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([63, 98, 25, 46], (order,)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatch` (0x0d7a16c3) function + pub fn execute_batch( + &self, + orders: ::std::vec::Vec, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 122, 22, 195], orders) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeBatchWithCallback` (0x13fb72c7) function + pub fn execute_batch_with_callback( + &self, + orders: ::std::vec::Vec, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([19, 251, 114, 199], (orders, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `executeWithCallback` (0x0d335884) function + pub fn execute_with_callback( + &self, + order: SignedOrder, + callback_data: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([13, 51, 88, 132], (order, callback_data)) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `feeController` (0x6999b377) function + pub fn fee_controller( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([105, 153, 179, 119], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `owner` (0x8da5cb5b) function + pub fn owner( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([141, 165, 203, 91], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `permit2` (0x12261ee7) function + pub fn permit_2( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { + self.0 + .method_hash([18, 38, 30, 231], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setProtocolFeeController` (0x2d771389) function + pub fn set_protocol_fee_controller( + &self, + new_fee_controller: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([45, 119, 19, 137], new_fee_controller) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `transferOwnership` (0xf2fde38b) function + pub fn transfer_ownership( + &self, + new_owner: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([242, 253, 227, 139], new_owner) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Fill` event + pub fn fill_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, FillFilter> { + self.0.event() + } + ///Gets the contract's `OwnershipTransferred` event + pub fn ownership_transferred_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + OwnershipTransferredFilter, + > { + self.0.event() + } + ///Gets the contract's `ProtocolFeeControllerSet` event + pub fn protocol_fee_controller_set_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ProtocolFeeControllerSetFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + V2DutchOrderReactorEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for V2DutchOrderReactor { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `DeadlineBeforeEndTime` with signature `DeadlineBeforeEndTime()` and selector `0x773a6187` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "DeadlineBeforeEndTime", abi = "DeadlineBeforeEndTime()")] + pub struct DeadlineBeforeEndTime; + ///Custom Error type `DuplicateFeeOutput` with signature `DuplicateFeeOutput(address)` and selector `0xfff08303` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "DuplicateFeeOutput", abi = "DuplicateFeeOutput(address)")] + pub struct DuplicateFeeOutput { + pub duplicate_token: ::ethers::core::types::Address, + } + ///Custom Error type `EndTimeBeforeStartTime` with signature `EndTimeBeforeStartTime()` and selector `0x43133453` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "EndTimeBeforeStartTime", abi = "EndTimeBeforeStartTime()")] + pub struct EndTimeBeforeStartTime; + ///Custom Error type `FeeTooLarge` with signature `FeeTooLarge(address,uint256,address)` and selector `0x82e75656` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "FeeTooLarge", abi = "FeeTooLarge(address,uint256,address)")] + pub struct FeeTooLarge { + pub token: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + pub recipient: ::ethers::core::types::Address, + } + ///Custom Error type `IncorrectAmounts` with signature `IncorrectAmounts()` and selector `0x7c1f8113` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "IncorrectAmounts", abi = "IncorrectAmounts()")] + pub struct IncorrectAmounts; + ///Custom Error type `InputAndOutputFees` with signature `InputAndOutputFees()` and selector `0xedc7e2e4` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InputAndOutputFees", abi = "InputAndOutputFees()")] + pub struct InputAndOutputFees; + ///Custom Error type `InvalidCosignature` with signature `InvalidCosignature()` and selector `0xd7815be1` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignature", abi = "InvalidCosignature()")] + pub struct InvalidCosignature; + ///Custom Error type `InvalidCosignerInput` with signature `InvalidCosignerInput()` and selector `0xac9143e7` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignerInput", abi = "InvalidCosignerInput()")] + pub struct InvalidCosignerInput; + ///Custom Error type `InvalidCosignerOutput` with signature `InvalidCosignerOutput()` and selector `0xa305df82` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignerOutput", abi = "InvalidCosignerOutput()")] + pub struct InvalidCosignerOutput; + ///Custom Error type `InvalidFeeToken` with signature `InvalidFeeToken(address)` and selector `0xeddf07f5` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidFeeToken", abi = "InvalidFeeToken(address)")] + pub struct InvalidFeeToken { + pub fee_token: ::ethers::core::types::Address, + } + ///Custom Error type `InvalidReactor` with signature `InvalidReactor()` and selector `0x4ddf4a64` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidReactor", abi = "InvalidReactor()")] + pub struct InvalidReactor; + ///Custom Error type `NativeTransferFailed` with signature `NativeTransferFailed()` and selector `0xf4b3b1bc` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] + pub struct NativeTransferFailed; + ///Custom Error type `NoExclusiveOverride` with signature `NoExclusiveOverride()` and selector `0xb9ec1e96` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "NoExclusiveOverride", abi = "NoExclusiveOverride()")] + pub struct NoExclusiveOverride; + ///Container type for all of the contract's custom errors + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum V2DutchOrderReactorErrors { + DeadlineBeforeEndTime(DeadlineBeforeEndTime), + DuplicateFeeOutput(DuplicateFeeOutput), + EndTimeBeforeStartTime(EndTimeBeforeStartTime), + FeeTooLarge(FeeTooLarge), + IncorrectAmounts(IncorrectAmounts), + InputAndOutputFees(InputAndOutputFees), + InvalidCosignature(InvalidCosignature), + InvalidCosignerInput(InvalidCosignerInput), + InvalidCosignerOutput(InvalidCosignerOutput), + InvalidFeeToken(InvalidFeeToken), + InvalidReactor(InvalidReactor), + NativeTransferFailed(NativeTransferFailed), + NoExclusiveOverride(NoExclusiveOverride), + /// The standard solidity revert string, with selector + /// Error(string) -- 0x08c379a0 + RevertString(::std::string::String), + } + impl ::ethers::core::abi::AbiDecode for V2DutchOrderReactorErrors { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { + return Ok(Self::RevertString(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::DeadlineBeforeEndTime(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::DuplicateFeeOutput(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::EndTimeBeforeStartTime(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeTooLarge(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IncorrectAmounts(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InputAndOutputFees(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidCosignature(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidCosignerInput(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidCosignerOutput(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidFeeToken(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::InvalidReactor(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::NativeTransferFailed(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::NoExclusiveOverride(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for V2DutchOrderReactorErrors { + fn encode(self) -> ::std::vec::Vec { + match self { + Self::DeadlineBeforeEndTime(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::DuplicateFeeOutput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::EndTimeBeforeStartTime(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeTooLarge(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::IncorrectAmounts(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InputAndOutputFees(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidCosignature(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidCosignerInput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidCosignerOutput(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidFeeToken(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::InvalidReactor(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::NativeTransferFailed(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::NoExclusiveOverride(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), + } + } + } + impl ::ethers::contract::ContractRevert for V2DutchOrderReactorErrors { + fn valid_selector(selector: [u8; 4]) -> bool { + match selector { + [0x08, 0xc3, 0x79, 0xa0] => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => true, + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ if selector + == ::selector() => { + true + } + _ => false, + } + } + } + impl ::core::fmt::Display for V2DutchOrderReactorErrors { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::DeadlineBeforeEndTime(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::DuplicateFeeOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::EndTimeBeforeStartTime(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::FeeTooLarge(element) => ::core::fmt::Display::fmt(element, f), + Self::IncorrectAmounts(element) => ::core::fmt::Display::fmt(element, f), + Self::InputAndOutputFees(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidCosignature(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidCosignerInput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidCosignerOutput(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::InvalidFeeToken(element) => ::core::fmt::Display::fmt(element, f), + Self::InvalidReactor(element) => ::core::fmt::Display::fmt(element, f), + Self::NativeTransferFailed(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::NoExclusiveOverride(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), + } + } + } + impl ::core::convert::From<::std::string::String> for V2DutchOrderReactorErrors { + fn from(value: String) -> Self { + Self::RevertString(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: DeadlineBeforeEndTime) -> Self { + Self::DeadlineBeforeEndTime(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: DuplicateFeeOutput) -> Self { + Self::DuplicateFeeOutput(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: EndTimeBeforeStartTime) -> Self { + Self::EndTimeBeforeStartTime(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: FeeTooLarge) -> Self { + Self::FeeTooLarge(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: IncorrectAmounts) -> Self { + Self::IncorrectAmounts(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InputAndOutputFees) -> Self { + Self::InputAndOutputFees(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InvalidCosignature) -> Self { + Self::InvalidCosignature(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InvalidCosignerInput) -> Self { + Self::InvalidCosignerInput(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InvalidCosignerOutput) -> Self { + Self::InvalidCosignerOutput(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InvalidFeeToken) -> Self { + Self::InvalidFeeToken(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: InvalidReactor) -> Self { + Self::InvalidReactor(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: NativeTransferFailed) -> Self { + Self::NativeTransferFailed(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorErrors { + fn from(value: NoExclusiveOverride) -> Self { + Self::NoExclusiveOverride(value) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent(name = "Fill", abi = "Fill(bytes32,address,address,uint256)")] + pub struct FillFilter { + #[ethevent(indexed)] + pub order_hash: [u8; 32], + #[ethevent(indexed)] + pub filler: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub swapper: ::ethers::core::types::Address, + pub nonce: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "OwnershipTransferred", + abi = "OwnershipTransferred(address,address)" + )] + pub struct OwnershipTransferredFilter { + #[ethevent(indexed)] + pub user: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub new_owner: ::ethers::core::types::Address, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "ProtocolFeeControllerSet", + abi = "ProtocolFeeControllerSet(address,address)" + )] + pub struct ProtocolFeeControllerSetFilter { + pub old_fee_controller: ::ethers::core::types::Address, + pub new_fee_controller: ::ethers::core::types::Address, + } + ///Container type for all of the contract's events + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum V2DutchOrderReactorEvents { + FillFilter(FillFilter), + OwnershipTransferredFilter(OwnershipTransferredFilter), + ProtocolFeeControllerSetFilter(ProtocolFeeControllerSetFilter), + } + impl ::ethers::contract::EthLogDecode for V2DutchOrderReactorEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = FillFilter::decode_log(log) { + return Ok(V2DutchOrderReactorEvents::FillFilter(decoded)); + } + if let Ok(decoded) = OwnershipTransferredFilter::decode_log(log) { + return Ok( + V2DutchOrderReactorEvents::OwnershipTransferredFilter(decoded), + ); + } + if let Ok(decoded) = ProtocolFeeControllerSetFilter::decode_log(log) { + return Ok( + V2DutchOrderReactorEvents::ProtocolFeeControllerSetFilter(decoded), + ); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for V2DutchOrderReactorEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::FillFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::OwnershipTransferredFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ProtocolFeeControllerSetFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + } + } + } + impl ::core::convert::From for V2DutchOrderReactorEvents { + fn from(value: FillFilter) -> Self { + Self::FillFilter(value) + } + } + impl ::core::convert::From + for V2DutchOrderReactorEvents { + fn from(value: OwnershipTransferredFilter) -> Self { + Self::OwnershipTransferredFilter(value) + } + } + impl ::core::convert::From + for V2DutchOrderReactorEvents { + fn from(value: ProtocolFeeControllerSetFilter) -> Self { + Self::ProtocolFeeControllerSetFilter(value) + } + } + ///Container type for all input parameters for the `execute` function with signature `execute((bytes,bytes))` and selector `0x3f62192e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "execute", abi = "execute((bytes,bytes))")] + pub struct ExecuteCall { + pub order: SignedOrder, + } + ///Container type for all input parameters for the `executeBatch` function with signature `executeBatch((bytes,bytes)[])` and selector `0x0d7a16c3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "executeBatch", abi = "executeBatch((bytes,bytes)[])")] + pub struct ExecuteBatchCall { + pub orders: ::std::vec::Vec, + } + ///Container type for all input parameters for the `executeBatchWithCallback` function with signature `executeBatchWithCallback((bytes,bytes)[],bytes)` and selector `0x13fb72c7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeBatchWithCallback", + abi = "executeBatchWithCallback((bytes,bytes)[],bytes)" + )] + pub struct ExecuteBatchWithCallbackCall { + pub orders: ::std::vec::Vec, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `executeWithCallback` function with signature `executeWithCallback((bytes,bytes),bytes)` and selector `0x0d335884` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "executeWithCallback", + abi = "executeWithCallback((bytes,bytes),bytes)" + )] + pub struct ExecuteWithCallbackCall { + pub order: SignedOrder, + pub callback_data: ::ethers::core::types::Bytes, + } + ///Container type for all input parameters for the `feeController` function with signature `feeController()` and selector `0x6999b377` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "feeController", abi = "feeController()")] + pub struct FeeControllerCall; + ///Container type for all input parameters for the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "owner", abi = "owner()")] + pub struct OwnerCall; + ///Container type for all input parameters for the `permit2` function with signature `permit2()` and selector `0x12261ee7` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "permit2", abi = "permit2()")] + pub struct Permit2Call; + ///Container type for all input parameters for the `setProtocolFeeController` function with signature `setProtocolFeeController(address)` and selector `0x2d771389` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall( + name = "setProtocolFeeController", + abi = "setProtocolFeeController(address)" + )] + pub struct SetProtocolFeeControllerCall { + pub new_fee_controller: ::ethers::core::types::Address, + } + ///Container type for all input parameters for the `transferOwnership` function with signature `transferOwnership(address)` and selector `0xf2fde38b` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")] + pub struct TransferOwnershipCall { + pub new_owner: ::ethers::core::types::Address, + } + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum V2DutchOrderReactorCalls { + Execute(ExecuteCall), + ExecuteBatch(ExecuteBatchCall), + ExecuteBatchWithCallback(ExecuteBatchWithCallbackCall), + ExecuteWithCallback(ExecuteWithCallbackCall), + FeeController(FeeControllerCall), + Owner(OwnerCall), + Permit2(Permit2Call), + SetProtocolFeeController(SetProtocolFeeControllerCall), + TransferOwnership(TransferOwnershipCall), + } + impl ::ethers::core::abi::AbiDecode for V2DutchOrderReactorCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Execute(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatch(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteBatchWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::ExecuteWithCallback(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::FeeController(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Owner(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Permit2(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetProtocolFeeController(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::TransferOwnership(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for V2DutchOrderReactorCalls { + fn encode(self) -> Vec { + match self { + Self::Execute(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::ExecuteBatch(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteBatchWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ExecuteWithCallback(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::FeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Owner(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Permit2(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetProtocolFeeController(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferOwnership(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for V2DutchOrderReactorCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Execute(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatch(element) => ::core::fmt::Display::fmt(element, f), + Self::ExecuteBatchWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ExecuteWithCallback(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::FeeController(element) => ::core::fmt::Display::fmt(element, f), + Self::Owner(element) => ::core::fmt::Display::fmt(element, f), + Self::Permit2(element) => ::core::fmt::Display::fmt(element, f), + Self::SetProtocolFeeController(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::TransferOwnership(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: ExecuteCall) -> Self { + Self::Execute(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: ExecuteBatchCall) -> Self { + Self::ExecuteBatch(value) + } + } + impl ::core::convert::From + for V2DutchOrderReactorCalls { + fn from(value: ExecuteBatchWithCallbackCall) -> Self { + Self::ExecuteBatchWithCallback(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: ExecuteWithCallbackCall) -> Self { + Self::ExecuteWithCallback(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: FeeControllerCall) -> Self { + Self::FeeController(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: OwnerCall) -> Self { + Self::Owner(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: Permit2Call) -> Self { + Self::Permit2(value) + } + } + impl ::core::convert::From + for V2DutchOrderReactorCalls { + fn from(value: SetProtocolFeeControllerCall) -> Self { + Self::SetProtocolFeeController(value) + } + } + impl ::core::convert::From for V2DutchOrderReactorCalls { + fn from(value: TransferOwnershipCall) -> Self { + Self::TransferOwnership(value) + } + } + ///Container type for all return fields from the `feeController` function with signature `feeController()` and selector `0x6999b377` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FeeControllerReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `owner` function with signature `owner()` and selector `0x8da5cb5b` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct OwnerReturn(pub ::ethers::core::types::Address); + ///Container type for all return fields from the `permit2` function with signature `permit2()` and selector `0x12261ee7` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct Permit2Return(pub ::ethers::core::types::Address); +} diff --git a/crates/bindings-uniswapx/src/weth.rs b/crates/bindings-uniswapx/src/weth.rs index 55a5832..9766030 100644 --- a/crates/bindings-uniswapx/src/weth.rs +++ b/crates/bindings-uniswapx/src/weth.rs @@ -7,7 +7,7 @@ pub use weth::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod weth { #[allow(deprecated)] @@ -17,432 +17,530 @@ pub mod weth { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("DOMAIN_SEPARATOR"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("deposit"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("deposit"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("deposit"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("nonces"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("nonces"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("nonces"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("permit"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("permit"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("deadline"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("v"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("r"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("s"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("permit"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deadline"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("v"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("r"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("s"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdraw"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdraw"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdraw"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Deposit"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Deposit"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Deposit"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -451,18 +549,21 @@ pub mod weth { } } ///The parsed JSON ABI of the contract. - pub static WETH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + pub static WETH_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Q\x80`@\x01`@R\x80`\r\x81R` \x01l+\xB90\xB882\xB2\x10\"\xBA42\xB9`\x99\x1B\x81RP`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01c\n\xE8\xAA\x89`\xE3\x1B\x81RP`\x12\x82`\0\x90\x81b\0\0h\x91\x90b\0\x01\xDBV[P`\x01b\0\0w\x83\x82b\0\x01\xDBV[P`\xFF\x81\x16`\x80RF`\xA0Rb\0\0\x8Db\0\0\x9AV[`\xC0RPb\0\x03%\x91PPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qb\0\0\xCE\x91\x90b\0\x02\xA7V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01aW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x01\x82WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x01\xD6W`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x01\xB1WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x01\xD2W\x82\x81U`\x01\x01b\0\x01\xBDV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x01\xF7Wb\0\x01\xF7b\0\x016V[b\0\x02\x0F\x81b\0\x02\x08\x84Tb\0\x01LV[\x84b\0\x01\x88V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02GW`\0\x84\x15b\0\x02.WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x01\xD2V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x02xW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02WV[P\x85\x82\x10\x15b\0\x02\x97W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x80\x83Tb\0\x02\xB7\x81b\0\x01LV[`\x01\x82\x81\x16\x80\x15b\0\x02\xD2W`\x01\x81\x14b\0\x02\xE8Wb\0\x03\x19V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pb\0\x03\x19V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15b\0\x03\x10W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01b\0\x02\xF5V[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x80Q`\xA0Q`\xC0Qa\x0F\x93b\0\x03U`\09`\0a\x06\x10\x01R`\0a\x05\xDB\x01R`\0a\x01\xC6\x01Ra\x0F\x93`\0\xF3\xFE`\x80`@R`\x046\x10a\0\xE1W`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x7FW\x80c\xA9\x05\x9C\xBB\x11a\0YW\x80c\xA9\x05\x9C\xBB\x14a\x02~W\x80c\xD0\xE3\r\xB0\x14a\x02\x9EW\x80c\xD5\x05\xAC\xCF\x14a\x02\xA6W\x80c\xDDb\xED>\x14a\x02\xC6W`\0\x80\xFD[\x80cp\xA0\x821\x14a\x02\x0FW\x80c~\xCE\xBE\0\x14a\x02=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x0CWP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\trW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[\x80`\x02`\0\x82\x82Ta\t\xFA\x91\x90a\x0EtV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01[`@Q\x80\x91\x03\x90\xA3PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x83\x92\x90a\n\x96\x90\x84\x90a\x0EaV[\x90\x91UPP`\x02\x80T\x82\x90\x03\x90U`@Q\x81\x81R`\0\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\nUV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0BdW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[PPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\x0B\x9B\x91\x90a\x0E\x87V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x0C0W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0C\x14V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C\x93W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xABW`\0\x80\xFD[a\x0C\xB4\x83a\x0CoV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0C\xD7W`\0\x80\xFD[a\x0C\xE0\x84a\x0CoV[\x92Pa\x0C\xEE` \x85\x01a\x0CoV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\r\x10W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r)W`\0\x80\xFD[a\r2\x82a\x0CoV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\rTW`\0\x80\xFD[a\r]\x88a\x0CoV[\x96Pa\rk` \x89\x01a\x0CoV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\r\x8FW`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\r\xBFW`\0\x80\xFD[a\r\xC8\x83a\x0CoV[\x91Pa\r\xD6` \x84\x01a\x0CoV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\r\xF3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0E,W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x04AWa\x04Aa\x0E2V[\x80\x82\x01\x80\x82\x11\x15a\x04AWa\x04Aa\x0E2V[`\0\x80\x83T\x81`\x01\x82\x81\x1C\x91P\x80\x83\x16\x80a\x0E\xA3W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0E\xDBW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\x0E\xEFW`\x01\x81\x14a\x0F\"Wa\x0FOV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\x0FOV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\x0FGW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\x0F.V[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV\xFE\xA2dipfsX\"\x12 2c\xB6Q^EVT\xD1I\x14\xED1\xF1\xAA\xAD\x1A\xBF:UI\x7F\x8Ax9~\xE06\x9A\xBBu\xC2dsolcC\0\x08\x13\x003"; + const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Q\x80`@\x01`@R\x80`\r\x81R` \x01l+\xB90\xB882\xB2\x10\"\xBA42\xB9`\x99\x1B\x81RP`@Q\x80`@\x01`@R\x80`\x04\x81R` \x01c\n\xE8\xAA\x89`\xE3\x1B\x81RP`\x12\x82`\0\x90\x81b\0\0h\x91\x90b\0\x01\xDDV[P`\x01b\0\0w\x83\x82b\0\x01\xDDV[P`\xFF\x81\x16`\x80RF`\xA0Rb\0\0\x8Db\0\0\x9AV[`\xC0RPb\0\x03'\x91PPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qb\0\0\xCE\x91\x90b\0\x02\xA9V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01aW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x01\x82WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x01\xD8W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x01\xB3WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x01\xD4W\x82\x81U`\x01\x01b\0\x01\xBFV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x01\xF9Wb\0\x01\xF9b\0\x016V[b\0\x02\x11\x81b\0\x02\n\x84Tb\0\x01LV[\x84b\0\x01\x88V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02IW`\0\x84\x15b\0\x020WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x01\xD4V[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x02zW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02YV[P\x85\x82\x10\x15b\0\x02\x99W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x80\x83Tb\0\x02\xB9\x81b\0\x01LV[`\x01\x82\x81\x16\x80\x15b\0\x02\xD4W`\x01\x81\x14b\0\x02\xEAWb\0\x03\x1BV[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pb\0\x03\x1BV[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15b\0\x03\x12W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01b\0\x02\xF7V[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x80Q`\xA0Q`\xC0Qa\x0F\x96b\0\x03W`\09`\0a\x06\x10\x01R`\0a\x05\xDB\x01R`\0a\x01\xC6\x01Ra\x0F\x96`\0\xF3\xFE`\x80`@R`\x046\x10a\0\xE1W`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x7FW\x80c\xA9\x05\x9C\xBB\x11a\0YW\x80c\xA9\x05\x9C\xBB\x14a\x02~W\x80c\xD0\xE3\r\xB0\x14a\x02\x9EW\x80c\xD5\x05\xAC\xCF\x14a\x02\xA6W\x80c\xDDb\xED>\x14a\x02\xC6W`\0\x80\xFD[\x80cp\xA0\x821\x14a\x02\x0FW\x80c~\xCE\xBE\0\x14a\x02=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x0CWP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\trW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[\x80`\x02`\0\x82\x82Ta\t\xFA\x91\x90a\x0EuV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01[`@Q\x80\x91\x03\x90\xA3PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x83\x92\x90a\n\x96\x90\x84\x90a\x0EbV[\x90\x91UPP`\x02\x80T\x82\x90\x03\x90U`@Q\x81\x81R`\0\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\nUV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0BdW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[PPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\x0B\x9B\x91\x90a\x0E\x88V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0C1W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0C\x15V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C\x94W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xACW`\0\x80\xFD[a\x0C\xB5\x83a\x0CpV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0C\xD8W`\0\x80\xFD[a\x0C\xE1\x84a\x0CpV[\x92Pa\x0C\xEF` \x85\x01a\x0CpV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\r\x11W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r*W`\0\x80\xFD[a\r3\x82a\x0CpV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\rUW`\0\x80\xFD[a\r^\x88a\x0CpV[\x96Pa\rl` \x89\x01a\x0CpV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\r\x90W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\r\xC0W`\0\x80\xFD[a\r\xC9\x83a\x0CpV[\x91Pa\r\xD7` \x84\x01a\x0CpV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\r\xF4W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0E-W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x04AWa\x04Aa\x0E3V[\x80\x82\x01\x80\x82\x11\x15a\x04AWa\x04Aa\x0E3V[`\0\x80\x83T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0E\xA6W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0E\xDEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\x0E\xF2W`\x01\x81\x14a\x0F%Wa\x0FRV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\x0FRV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\x0FJW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\x0F1V[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV\xFE\xA2dipfsX\"\x12 A\xF3\xD9\xF7\xE8\xC5\xF8E\xF9v\xAD\nSk,\x8FS\xDB\xBB\xDFiMv\x04n\x07\xAD\xC9\xBC\x14\xB6\xBCdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. - pub static WETH_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static WETH_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\xE1W`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x7FW\x80c\xA9\x05\x9C\xBB\x11a\0YW\x80c\xA9\x05\x9C\xBB\x14a\x02~W\x80c\xD0\xE3\r\xB0\x14a\x02\x9EW\x80c\xD5\x05\xAC\xCF\x14a\x02\xA6W\x80c\xDDb\xED>\x14a\x02\xC6W`\0\x80\xFD[\x80cp\xA0\x821\x14a\x02\x0FW\x80c~\xCE\xBE\0\x14a\x02=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x0CWP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\trW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[\x80`\x02`\0\x82\x82Ta\t\xFA\x91\x90a\x0EtV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01[`@Q\x80\x91\x03\x90\xA3PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x83\x92\x90a\n\x96\x90\x84\x90a\x0EaV[\x90\x91UPP`\x02\x80T\x82\x90\x03\x90U`@Q\x81\x81R`\0\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\nUV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0BdW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[PPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\x0B\x9B\x91\x90a\x0E\x87V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x0C0W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0C\x14V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C\x93W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xABW`\0\x80\xFD[a\x0C\xB4\x83a\x0CoV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0C\xD7W`\0\x80\xFD[a\x0C\xE0\x84a\x0CoV[\x92Pa\x0C\xEE` \x85\x01a\x0CoV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\r\x10W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r)W`\0\x80\xFD[a\r2\x82a\x0CoV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\rTW`\0\x80\xFD[a\r]\x88a\x0CoV[\x96Pa\rk` \x89\x01a\x0CoV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\r\x8FW`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\r\xBFW`\0\x80\xFD[a\r\xC8\x83a\x0CoV[\x91Pa\r\xD6` \x84\x01a\x0CoV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\r\xF3W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0E,W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x04AWa\x04Aa\x0E2V[\x80\x82\x01\x80\x82\x11\x15a\x04AWa\x04Aa\x0E2V[`\0\x80\x83T\x81`\x01\x82\x81\x1C\x91P\x80\x83\x16\x80a\x0E\xA3W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0E\xDBW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\x0E\xEFW`\x01\x81\x14a\x0F\"Wa\x0FOV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\x0FOV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\x0FGW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\x0F.V[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV\xFE\xA2dipfsX\"\x12 2c\xB6Q^EVT\xD1I\x14\xED1\xF1\xAA\xAD\x1A\xBF:UI\x7F\x8Ax9~\xE06\x9A\xBBu\xC2dsolcC\0\x08\x13\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\xE1W`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x7FW\x80c\xA9\x05\x9C\xBB\x11a\0YW\x80c\xA9\x05\x9C\xBB\x14a\x02~W\x80c\xD0\xE3\r\xB0\x14a\x02\x9EW\x80c\xD5\x05\xAC\xCF\x14a\x02\xA6W\x80c\xDDb\xED>\x14a\x02\xC6W`\0\x80\xFD[\x80cp\xA0\x821\x14a\x02\x0FW\x80c~\xCE\xBE\0\x14a\x02=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x0CWP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\trW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[\x80`\x02`\0\x82\x82Ta\t\xFA\x91\x90a\x0EuV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01[`@Q\x80\x91\x03\x90\xA3PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x83\x92\x90a\n\x96\x90\x84\x90a\x0EbV[\x90\x91UPP`\x02\x80T\x82\x90\x03\x90U`@Q\x81\x81R`\0\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90` \x01a\nUV[`\0\x80`\0\x80`\0\x85\x87Z\xF1\x90P\x80a\x0BdW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FETH_TRANSFER_FAILED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07*V[PPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\x0B\x9B\x91\x90a\x0E\x88V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0C1W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0C\x15V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C\x94W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0C\xACW`\0\x80\xFD[a\x0C\xB5\x83a\x0CpV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0C\xD8W`\0\x80\xFD[a\x0C\xE1\x84a\x0CpV[\x92Pa\x0C\xEF` \x85\x01a\x0CpV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\r\x11W`\0\x80\xFD[P5\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\r*W`\0\x80\xFD[a\r3\x82a\x0CpV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\rUW`\0\x80\xFD[a\r^\x88a\x0CpV[\x96Pa\rl` \x89\x01a\x0CpV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\r\x90W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\r\xC0W`\0\x80\xFD[a\r\xC9\x83a\x0CpV[\x91Pa\r\xD7` \x84\x01a\x0CpV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\r\xF4W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0E-W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x04AWa\x04Aa\x0E3V[\x80\x82\x01\x80\x82\x11\x15a\x04AWa\x04Aa\x0E3V[`\0\x80\x83T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0E\xA6W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0E\xDEW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\x0E\xF2W`\x01\x81\x14a\x0F%Wa\x0FRV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\x0FRV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\x0FJW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\x0F1V[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV\xFE\xA2dipfsX\"\x12 A\xF3\xD9\xF7\xE8\xC5\xF8E\xF9v\xAD\nSk,\x8FS\xDB\xBB\xDFiMv\x04n\x07\xAD\xC9\xBC\x14\xB6\xBCdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. - pub static WETH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static WETH_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct WETH(::ethers::contract::Contract); impl ::core::clone::Clone for WETH { fn clone(&self) -> Self { @@ -482,9 +583,7 @@ pub mod weth { } impl ::core::fmt::Debug for WETH { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(WETH)) - .field(&self.address()) - .finish() + f.debug_tuple(::core::stringify!(WETH)).field(&self.address()).finish() } } impl WETH { @@ -494,11 +593,13 @@ pub mod weth { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - WETH_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + WETH_ABI.clone(), + client, + ), + ) } /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction @@ -540,7 +641,9 @@ pub mod weth { Ok(deployer) } ///Calls the contract's `DOMAIN_SEPARATOR` (0x3644e515) function - pub fn domain_separator(&self) -> ::ethers::contract::builders::ContractCall { + pub fn domain_separator( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([54, 68, 229, 21], ()) .expect("method not found (this should never happen)") @@ -587,7 +690,9 @@ pub mod weth { .expect("method not found (this should never happen)") } ///Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") @@ -668,7 +773,11 @@ pub mod weth { ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } ///Gets the contract's `Deposit` event @@ -680,24 +789,32 @@ pub mod weth { ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } ///Gets the contract's `Withdrawal` event pub fn withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, WithdrawalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + WithdrawalFilter, + > { self.0.event() } /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, WETHEvents> { - self.0 - .event_with_filter(::core::default::Default::default()) + self.0.event_with_filter(::core::default::Default::default()) } } - impl From<::ethers::contract::Contract> for WETH { + impl From<::ethers::contract::Contract> + for WETH { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -706,11 +823,13 @@ pub mod weth { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -724,11 +843,13 @@ pub mod weth { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Deposit", abi = "Deposit(address,uint256)")] pub struct DepositFilter { @@ -740,11 +861,13 @@ pub mod weth { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -758,11 +881,13 @@ pub mod weth { Clone, ::ethers::contract::EthEvent, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Withdrawal", abi = "Withdrawal(address,uint256)")] pub struct WithdrawalFilter { @@ -771,7 +896,16 @@ pub mod weth { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum WETHEvents { ApprovalFilter(ApprovalFilter), DepositFilter(DepositFilter), @@ -832,11 +966,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "DOMAIN_SEPARATOR", abi = "DOMAIN_SEPARATOR()")] pub struct DomainSeparatorCall; @@ -845,11 +981,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall( @@ -861,11 +999,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { @@ -877,11 +1017,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall(pub ::ethers::core::types::Address); @@ -890,11 +1032,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; @@ -903,11 +1047,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "deposit", abi = "deposit()")] pub struct DepositCall; @@ -916,11 +1062,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; @@ -929,11 +1077,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "nonces", abi = "nonces(address)")] pub struct NoncesCall(pub ::ethers::core::types::Address); @@ -942,11 +1092,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "permit", @@ -966,11 +1118,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; @@ -979,11 +1133,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; @@ -992,11 +1148,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { @@ -1008,11 +1166,13 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1025,18 +1185,29 @@ pub mod weth { Clone, ::ethers::contract::EthCall, ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "withdraw", abi = "withdraw(uint256)")] pub struct WithdrawCall { pub amount: ::ethers::core::types::U256, } ///Container type for all of the contract's call - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] pub enum WETHCalls { DomainSeparator(DomainSeparatorCall), Allowance(AllowanceCall), @@ -1058,49 +1229,74 @@ pub mod weth { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::DomainSeparator(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Deposit(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Nonces(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Permit(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Withdraw(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1109,20 +1305,36 @@ pub mod weth { impl ::ethers::core::abi::AbiEncode for WETHCalls { fn encode(self) -> Vec { match self { - Self::DomainSeparator(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::DomainSeparator(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Deposit(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Nonces(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Permit(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Withdraw(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Withdraw(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } } } } @@ -1221,11 +1433,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DomainSeparatorReturn(pub [u8; 32]); ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` @@ -1233,11 +1447,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` @@ -1245,11 +1461,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` @@ -1257,11 +1475,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` @@ -1269,11 +1489,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` @@ -1281,11 +1503,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); ///Container type for all return fields from the `nonces` function with signature `nonces(address)` and selector `0x7ecebe00` @@ -1293,11 +1517,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NoncesReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` @@ -1305,11 +1531,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` @@ -1317,11 +1545,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` @@ -1329,11 +1559,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` @@ -1341,11 +1573,13 @@ pub mod weth { Clone, ::ethers::contract::EthAbiType, ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, Default, Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } From 85a939a63fa5c7891bf19e560a02a82d518ffba0 Mon Sep 17 00:00:00 2001 From: Eric Zhong Date: Mon, 5 Aug 2024 13:36:49 -0400 Subject: [PATCH 2/2] update bindings with finalized contracts --- crates/bindings-uniswapx/src/cosigner_lib.rs | 150 + .../src/deploy_priority_order_reactor.rs | 376 +++ crates/bindings-uniswapx/src/lib.rs | 4 +- .../src/mock_cosigner_lib_contract.rs | 217 ++ .../bindings-uniswapx/src/outputs_builder.rs | 4 +- .../bindings-uniswapx/src/permit_signature.rs | 56 +- .../bindings-uniswapx/src/priority_fee_lib.rs | 4 +- .../src/priority_order_lib.rs | 4 +- .../src/priority_order_reactor.rs | 49 +- .../src/priority_order_reactor_integration.rs | 2988 ----------------- crates/bindings-uniswapx/src/shared_types.rs | 51 - 11 files changed, 852 insertions(+), 3051 deletions(-) create mode 100644 crates/bindings-uniswapx/src/cosigner_lib.rs create mode 100644 crates/bindings-uniswapx/src/deploy_priority_order_reactor.rs create mode 100644 crates/bindings-uniswapx/src/mock_cosigner_lib_contract.rs delete mode 100644 crates/bindings-uniswapx/src/priority_order_reactor_integration.rs diff --git a/crates/bindings-uniswapx/src/cosigner_lib.rs b/crates/bindings-uniswapx/src/cosigner_lib.rs new file mode 100644 index 0000000..6959996 --- /dev/null +++ b/crates/bindings-uniswapx/src/cosigner_lib.rs @@ -0,0 +1,150 @@ +pub use cosigner_lib::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod cosigner_lib { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::std::collections::BTreeMap::new(), + events: ::std::collections::BTreeMap::new(), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static COSIGNERLIB_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new( + __abi, + ); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ^t\xC0\"7\xE4\xD5q\xE2\x9CC-cy\x13\x04!\x1FZ\x1A\xD2\x1C-By\xF1\x91\x88\xED;=\xBBdsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static COSIGNERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 ^t\xC0\"7\xE4\xD5q\xE2\x9CC-cy\x13\x04!\x1FZ\x1A\xD2\x1C-By\xF1\x91\x88\xED;=\xBBdsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static COSIGNERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct CosignerLib(::ethers::contract::Contract); + impl ::core::clone::Clone for CosignerLib { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for CosignerLib { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for CosignerLib { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for CosignerLib { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(CosignerLib)) + .field(&self.address()) + .finish() + } + } + impl CosignerLib { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + COSIGNERLIB_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + COSIGNERLIB_ABI.clone(), + COSIGNERLIB_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + } + impl From<::ethers::contract::Contract> + for CosignerLib { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `InvalidCosignature` with signature `InvalidCosignature()` and selector `0xd7815be1` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignature", abi = "InvalidCosignature()")] + pub struct InvalidCosignature; +} diff --git a/crates/bindings-uniswapx/src/deploy_priority_order_reactor.rs b/crates/bindings-uniswapx/src/deploy_priority_order_reactor.rs new file mode 100644 index 0000000..48d2bde --- /dev/null +++ b/crates/bindings-uniswapx/src/deploy_priority_order_reactor.rs @@ -0,0 +1,376 @@ +pub use deploy_priority_order_reactor::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod deploy_priority_order_reactor { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("run"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("run"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("deployment"), + kind: ::ethers::core::abi::ethabi::ParamType::Tuple( + ::std::vec![ + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ::ethers::core::abi::ethabi::ParamType::Address, + ], + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned( + "struct PriorityOrderReactorDeployment", + ), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("setUp"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("setUp"), + inputs: ::std::vec![], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static DEPLOYPRIORITYORDERREACTOR_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[Pam\xA3\x80a\x001`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FFOUNDRY_REACTOR_OWNER\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01mW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\x91\x91\x90a\x06\x14V[\x90P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xFEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02\x12W=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x029Wa\x027a\x04mV[P[`\0\x7F\xB0\x05\x9E\x91\x87\xDA\xACp\xF2\xC7e\xCF\xC9\x9A\x03\xF9\xBFC!\xC1\x1Bz\xB7\x84\xEE>1\x02\x92rL\x18`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x83`@Qa\x02|\x90a\x05\xFAV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02\xC0W=`\0\x80>=`\0\xFD[P\x90Pa\x03\x02`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x058V[`\0\x80`\0\x1B`@Qa\x03\x14\x90a\x06\x07V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x034W=`\0\x80>=`\0\xFD[P\x90Pa\x03v`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x058V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\xE1W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03\xF5W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x93PPPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aI\xAEa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\xF0\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x06\xB5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\nW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\x1EW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x05\xC9\x82\x82`@Q`$\x01a\x05N\x92\x91\x90a\x06\xECV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\xCDV[PPV[a\x05\xD6\x81a\x05\xD9V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a4p\x80a\x07%\x839\x01\x90V[a\x0E\x19\x80a;\x95\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x06&W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06JW`\0\x80\xFD[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06wW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06[V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x06\xE4`@\x83\x01\x84a\x06QV[\x94\x93PPPPV[`@\x81R`\0a\x06\xFF`@\x83\x01\x85a\x06QV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004p8\x03\x80b\x004p\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3Pb\0\x01 `\09`\0\x81\x81`\xE0\x01R\x81\x81a\ra\x01Ra\x19\xEB\x01Ra3P`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$@V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xEEV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%0V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xC9V[a\x06\x83V[a\0\xB9a\x01l6`\x04a%\xEDV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xC9V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&YV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB1V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)\"V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B`V[a\x04\xB5\x81a\x0B\xB1V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB1V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&YV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B`V[a\x08\x86\x81a\x0B\xB1V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)`V[\x81\x01\x90a\n|\x91\x90a-,V[\x80Q` \x81\x01Q`@\x90\x91\x01Q\x91\x92Pa\n\x95\x91a\r\x04V[`\0a\n\xA0\x82a\x0E\x17V[\x90Pa\n\xAC\x81\x83a\x10eV[`\0a\n\xBB\x83``\x01Qa\x11\xC7V[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE9\x83\x86`\x80\x01Qa\x12\x1C\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x05\x83\x86`\xA0\x01Qa\x13\x1B\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x1A\x91\x90a)`V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x81Wa\x0B\x81a&YV[` \x02` \x01\x01Q\x90Pa\x0B\x94\x81a\x14\0V[a\x0B\x9E\x813a\x18\xF0V[a\x0B\xA8\x813a\x19\xE9V[P`\x01\x01a\x0BeV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF3W`\0\x83\x82\x81Q\x81\x10a\x0B\xD2Wa\x0B\xD2a&YV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CSW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\tWa\x0C\ta&YV[` \x02` \x01\x01Q\x90Pa\x0CJ\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D#\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE9V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9CWa\x0C\x9Ca&YV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE1\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB6V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1DjV[`@Q\x7FO\xE0+D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`\x08\x83\x90\x1C`$\x83\x01\x81\x90R\x91`\x01`\xFF\x85\x16\x1B\x91`\0\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90cO\xE0+D\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xAAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xCE\x91\x90a.-V[\x90P\x81\x81\x18\x80\x83\x16`\0\x03a\x0E\x0FW`@Q\x7F\xEE;=K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`@Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R`\0\x90`\xB4\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\xC0\x83\x01\x90\x91R`\x8D\x80\x83R\x90\x91\x90a23` \x83\x019`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919`@Q` \x01a\x0F\xB1\x94\x93\x92\x91\x90a.FV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0F\xD4\x83`\0\x01Qa\x1E\x04V[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x0F\xF0\x87`\x80\x01Qa\x1E\x9EV[a\x0F\xFD\x88`\xA0\x01Qa\x1F\x05V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x80Q``\x01QB\x11\x15a\x10\xA4W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q` \x82\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x80\x15\x90a\x10\xD1WP\x80C\x10[\x80\x15a\x10\xE1WP`\xC0\x82\x01QQ\x81\x11[\x15a\x11\x0BW` \x82\x01Qa\x11\x03\x90a\x10\xF9\x84\x86a\x1F\xA3V[\x84`\xE0\x01Qa \x1AV[P`\xC0\x81\x01QQ[\x80C\x10\x15a\x11EW`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x82\x01Q`@\x01Q\x15a\x03_W`\0[\x82`\xA0\x01QQ\x81\x10\x15a\x06}W`\0\x83`\xA0\x01Q\x82\x81Q\x81\x10a\x11{Wa\x11{a&YV[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x11\xBFW`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x11VV[`\0H:\x10\x15a\x12\x03W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x12\x13W\x03\x90V[P`\0[\x91\x90PV[a\x12V`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x12h\x91\x90a.\xCCV[\x90Pb\x98\x96\x80\x81\x10a\x12\xB6W`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x13\x15V[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x82\x15a\x13\0W` \x86\x01Qa\x12\xFB\x90b\x98\x96\x80\x85\x81\x03\x90a!BV[a\x13\x06V[\x85` \x01Q[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x139Wa\x139a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xA2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13WW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13\xF8Wa\x13\xD3\x85\x82\x81Q\x81\x10a\x13\xC5Wa\x13\xC5a&YV[` \x02` \x01\x01Q\x85a!~V[\x83\x82\x81Q\x81\x10a\x13\xE5Wa\x13\xE5a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13\xA8V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x14 WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x14w\x90\x85\x90`\x04\x01a.\xE3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\xDA\x91\x90\x81\x01\x90a.\xF6V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\xF2\x82\x84a/\xC6V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15\nWa\x15\na&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15sW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15(W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x15\xC4W\x85`@\x01Q\x81\x81Q\x81\x10a\x15\x97Wa\x15\x97a&YV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x15\xB1Wa\x15\xB1a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x15yV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\xDFW`\0\x87\x82\x81Q\x81\x10a\x15\xE7Wa\x15\xE7a&YV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x16\xA5W\x88\x81\x81Q\x81\x10a\x16\x0EWa\x16\x0Ea&YV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x9DW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\xF4V[P`\0\x80[\x88\x81\x10\x15a\x17fW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x16\xCAWa\x16\xCAa&YV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17]W\x85\x15a\x17GW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x17V\x90\x84a/\xC6V[\x92P`\x01\x96P[P`\x01\x01a\x16\xAAV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\xDFW\x84\x15a\x17\xC6W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x17\xD8\x90\x82a/\xC6V[\x90P`\x01\x93P[\x80`\0\x03a\x184W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x18B\x81`\x05a'\x10a!BV[\x82` \x01Q\x11\x15a\x18\xB5W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x18\xCAWa\x18\xCAa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x15\xCBV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x19AW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x19\xBD\x90\x84\x90\x86\x90`\x04\x01a/\xD9V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x19\xD5W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1A\xA9\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@\x80Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R\x81Q`\x94\x81\x83\x03\x01\x81Ra\x014\x82\x01\x90\x92R`[`\xB4\x82\x01\x81\x81R\x91a2\xC0\x90`\xD4\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\x05`.\x919`@Q` \x01a\x1C\x88\x95\x94\x93\x92\x91\x90a0\x08V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1C\xF5\x96\x95\x94\x93\x92`\x04\x01a0\xA3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1D\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1DHWa\x03_\x82\x82a\x1DjV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"2V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1D\xC4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1D\xC9V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10H\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\x10H\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F%Wa\x1F%a&*V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1FOW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1F\x94W`\0a\x1F\x82\x85\x83\x81Q\x81\x10a\x1FuWa\x1Fua&YV[` \x02` \x01\x01Qa#$V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1FUV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x81F\x84`\xC0\x01Q`@Q` \x01a\x1F\xBF\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1F\xFC\x93\x92\x91` \x01a1kV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a 1\x91\x90a1\x98V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a JWa Ja&YV[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a \xA7W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a!\x02WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a!9W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a!wW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@\x80Q``\x81\x01\x82R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x90\x84\x01Q` \x82\x01\x90\x15a\"\x01Wa!\xFC\x85`@\x01Q\x85a!\xE0\x91\x90a.\xCCV[a!\xED\x90b\x98\x96\x80a/\xC6V[` \x87\x01Q\x90b\x98\x96\x80a#\x9BV[a\"\x07V[\x84` \x01Q[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10H\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a#\xD0W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xF1W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\tW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$!W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$UW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$mW`\0\x80\xFD[a$y\x87\x83\x88\x01a#\xDFV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x8FW`\0\x80\xFD[Pa$\x9C\x86\x82\x87\x01a#\xF7V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xBBW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xD3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x01W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x18W`\0\x80\xFD[a%$\x85\x82\x86\x01a$\xA9V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%FW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%^W`\0\x80\xFD[a%j\x88\x83\x89\x01a$\xA9V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x83W`\0\x80\xFD[Pa%\x90\x87\x82\x88\x01a#\xF7V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x12\x17\x81a%\x9CV[`\0` \x82\x84\x03\x12\x15a%\xDBW`\0\x80\xFD[\x815a%\xE6\x81a%\x9CV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\xFFW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x16W`\0\x80\xFD[a&\"\x84\x82\x85\x01a#\xDFV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xA3W\x81\x81\x01Q\x83\x82\x01R` \x01a&\x8BV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xC4\x81` \x86\x01` \x86\x01a&\x88V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'VW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x0BV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xD5a\x01\xA0\x85\x01\x82a&\xACV[\x90P` \x83\x01Qa(\x13` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(+\x82\x82a&\xF6V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(E\x82\x82a&\xACV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xD1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xBF\x86\x83Qa'aV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x85V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)VW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\x95W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xB0W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$9W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*|Wa*|a&*V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xAFWa*\xAFa&*V[a*\xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+$W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a+HWa+Ha&*V[\x81`@R\x82\x93P\x845\x91Pa+\\\x82a%\x9CV[\x90\x82R` \x84\x015\x90a+n\x82a%\x9CV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa+\x98\x82a%\x9CV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a+\xB2W`\0\x80\xFD[Pa+\xBF\x85\x82\x86\x01a*\x84V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xDEW`\0\x80\xFD[a+\xE6a)\xC5V[\x90P\x815a+\xF3\x81a%\x9CV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,+Wa,+a&*V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,FW`\0\x80\xFD[\x815` a,[a,V\x83a,\x11V[a*5V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,zW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xDFW`\x80\x81\x89\x03\x12\x15a,\x97W`\0\x80\x81\xFD[a,\x9Fa)\xEEV[\x815a,\xAA\x81a%\x9CV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xCD\x81a%\x9CV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,~V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\xFCW`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a-\x1FWa-\x1Fa&*V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a->W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-VW`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a-kW`\0\x80\xFD[a-sa*\x11V[\x825\x82\x81\x11\x15a-\x82W`\0\x80\xFD[a-\x8E\x87\x82\x86\x01a+\x12V[\x82RPa-\x9D` \x84\x01a%\xBEV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra-\xC3\x86`\x80\x85\x01a+\xCCV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a-\xDAW`\0\x80\xFD[a-\xE6\x87\x82\x86\x01a,5V[`\xA0\x83\x01RPa-\xFA\x86a\x01\0\x85\x01a,\xEAV[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a.\x12W`\0\x80\xFD[a.\x1E\x87\x82\x86\x01a*\x84V[`\xE0\x83\x01RP\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a.?W`\0\x80\xFD[PQ\x91\x90PV[`\0\x85Qa.X\x81\x84` \x8A\x01a&\x88V[\x85Q\x90\x83\x01\x90a.l\x81\x83` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a.\x7F\x81\x83` \x89\x01a&\x88V[\x84Q\x91\x01\x90a.\x92\x81\x83` \x88\x01a&\x88V[\x01\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x13\x15Wa\x13\x15a.\x9DV[` \x81R`\0a%\xE6` \x83\x01\x84a'aV[`\0` \x80\x83\x85\x03\x12\x15a/\tW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/ W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/1W`\0\x80\xFD[\x80Qa/?a,V\x82a,\x11V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/^W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xBAW\x80\x85\x8A\x03\x12\x15a/{W`\0\x80\x81\xFD[a/\x83a)\xC5V[\x85Qa/\x8E\x81a%\x9CV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xA7\x81a%\x9CV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/cV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x13\x15Wa\x13\x15a.\x9DV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a&\"`@\x83\x01\x84a'aV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x16\x87Qa0A\x81\x83\x86\x01` \x8C\x01a&\x88V[\x87Q\x90\x84\x01\x90a0W\x81\x84\x84\x01` \x8C\x01a&\x88V[\x87Q\x91\x01\x90a0l\x81\x84\x84\x01` \x8B\x01a&\x88V[\x86Q\x91\x01\x90a0\x81\x81\x84\x84\x01` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a0\x96\x81\x84\x84\x01` \x89\x01a&\x88V[\x01\x01\x97\x96PPPPPPPV[`\0a\x01@a0\xD3\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x14`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1I\x81\x84\x01\x86a&\xACV[\x90P\x82\x81\x03a\x01 \x84\x01Ra1^\x81\x85a&\xACV[\x99\x98PPPPPPPPPV[\x83\x81R\x82` \x82\x01R`\0\x82Qa1\x89\x81`@\x85\x01` \x87\x01a&\x88V[\x91\x90\x91\x01`@\x01\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a1\xABW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 5>J\x9C\x8A\xF3,\xE6{]\xE3:\xAE\xCB_\xAE\x19\x8FF\x18\xEDv\xC7\xF0\xECf\xD0\x8D\xF4@&[dsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xAD:\xD1\xE2e\xF6D\xDB\xEC\xAD\x91\xA7\x18n\xBC\xD8\x8AlH\xE5q\xDFl\xEE\x83\xCB\xD4\xF6\xDE\xEF\xD2\xE2dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static DEPLOYPRIORITYORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80c\n\x92T\xE4\x14a\0FW\x80c\xC0@b&\x14a\0HW\x80c\xF8\xCC\xBFG\x14a\0\x94W[`\0\x80\xFD[\0[a\0Pa\0\xB7V[`@\x80Q\x82Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x82R` \x80\x85\x01Q\x82\x16\x90\x83\x01R\x92\x82\x01Q\x90\x92\x16\x90\x82\x01R``\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\xA7\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0\x8BV[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x7F5\rV\xBF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x15`$\x82\x01R\x7FFOUNDRY_REACTOR_OWNER\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`\0\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c5\rV\xBF\x90`d\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01mW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01\x91\x91\x90a\x06\x14V[\x90P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x7F\xB5)\x7F`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xFEW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02\x12W=`\0\x80>=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pa\x029Wa\x027a\x04mV[P[`\0\x7F\xB0\x05\x9E\x91\x87\xDA\xACp\xF2\xC7e\xCF\xC9\x9A\x03\xF9\xBFC!\xC1\x1Bz\xB7\x84\xEE>1\x02\x92rL\x18`\0\x1Bn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x83`@Qa\x02|\x90a\x05\xFAV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x02\xC0W=`\0\x80>=`\0\xFD[P\x90Pa\x03\x02`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01\x7FReactor\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x058V[`\0\x80`\0\x1B`@Qa\x03\x14\x90a\x06\x07V[\x81\x90`@Q\x80\x91\x03\x90`\0\xF5\x90P\x80\x15\x80\x15a\x034W=`\0\x80>=`\0\xFD[P\x90Pa\x03v`@Q\x80`@\x01`@R\x80`\x06\x81R` \x01\x7FQuoter\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81RP\x82a\x058V[\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x03\xE1W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03\xF5W=`\0\x80>=`\0\xFD[PPPP`@Q\x80``\x01`@R\x80n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x93PPPP\x90V[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01aI\xAEa#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90a\x04\xF0\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01a\x06\xB5V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x05\nW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x05\x1EW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[a\x05\xC9\x82\x82`@Q`$\x01a\x05N\x92\x91\x90a\x06\xECV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x91\x90R` \x81\x01\x80Q{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x7F1\x9A\xF33\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x17\x90Ra\x05\xCDV[PPV[a\x05\xD6\x81a\x05\xD9V[PV[\x80Qjconsole.log` \x83\x01`\0\x80\x84\x83\x85Z\xFAPPPPPV[a4p\x80a\x07%\x839\x01\x90V[a\x0E\x19\x80a;\x95\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x06&W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x06JW`\0\x80\xFD[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x06wW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x06[V[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x06\xE4`@\x83\x01\x84a\x06QV[\x94\x93PPPPV[`@\x81R`\0a\x06\xFF`@\x83\x01\x85a\x06QV[\x90Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16` \x83\x01R\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x004p8\x03\x80b\x004p\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa3Pb\0\x01 `\09`\0\x81\x81`\xE0\x01R\x81\x81a\ra\x01Ra\x19\xEB\x01Ra3P`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$@V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xEEV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%0V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xC9V[a\x06\x83V[a\0\xB9a\x01l6`\x04a%\xEDV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xC9V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&YV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB1V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)\"V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B`V[a\x04\xB5\x81a\x0B\xB1V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB1V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&YV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B`V[a\x08\x86\x81a\x0B\xB1V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)`V[\x81\x01\x90a\n|\x91\x90a-,V[\x80Q` \x81\x01Q`@\x90\x91\x01Q\x91\x92Pa\n\x95\x91a\r\x04V[`\0a\n\xA0\x82a\x0E\x17V[\x90Pa\n\xAC\x81\x83a\x10eV[`\0a\n\xBB\x83``\x01Qa\x11\xC7V[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE9\x83\x86`\x80\x01Qa\x12\x1C\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x05\x83\x86`\xA0\x01Qa\x13\x1B\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x1A\x91\x90a)`V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x81Wa\x0B\x81a&YV[` \x02` \x01\x01Q\x90Pa\x0B\x94\x81a\x14\0V[a\x0B\x9E\x813a\x18\xF0V[a\x0B\xA8\x813a\x19\xE9V[P`\x01\x01a\x0BeV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF3W`\0\x83\x82\x81Q\x81\x10a\x0B\xD2Wa\x0B\xD2a&YV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CSW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\tWa\x0C\ta&YV[` \x02` \x01\x01Q\x90Pa\x0CJ\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D#\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE9V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9CWa\x0C\x9Ca&YV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE1\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB6V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1DjV[`@Q\x7FO\xE0+D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`\x08\x83\x90\x1C`$\x83\x01\x81\x90R\x91`\x01`\xFF\x85\x16\x1B\x91`\0\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90cO\xE0+D\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xAAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xCE\x91\x90a.-V[\x90P\x81\x81\x18\x80\x83\x16`\0\x03a\x0E\x0FW`@Q\x7F\xEE;=K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`@Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R`\0\x90`\xB4\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\xC0\x83\x01\x90\x91R`\x8D\x80\x83R\x90\x91\x90a23` \x83\x019`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919`@Q` \x01a\x0F\xB1\x94\x93\x92\x91\x90a.FV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0F\xD4\x83`\0\x01Qa\x1E\x04V[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x0F\xF0\x87`\x80\x01Qa\x1E\x9EV[a\x0F\xFD\x88`\xA0\x01Qa\x1F\x05V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x80Q``\x01QB\x11\x15a\x10\xA4W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q` \x82\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x80\x15\x90a\x10\xD1WP\x80C\x10[\x80\x15a\x10\xE1WP`\xC0\x82\x01QQ\x81\x11[\x15a\x11\x0BW` \x82\x01Qa\x11\x03\x90a\x10\xF9\x84\x86a\x1F\xA3V[\x84`\xE0\x01Qa \x1AV[P`\xC0\x81\x01QQ[\x80C\x10\x15a\x11EW`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x82\x01Q`@\x01Q\x15a\x03_W`\0[\x82`\xA0\x01QQ\x81\x10\x15a\x06}W`\0\x83`\xA0\x01Q\x82\x81Q\x81\x10a\x11{Wa\x11{a&YV[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x11\xBFW`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x11VV[`\0H:\x10\x15a\x12\x03W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x12\x13W\x03\x90V[P`\0[\x91\x90PV[a\x12V`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x12h\x91\x90a.\xCCV[\x90Pb\x98\x96\x80\x81\x10a\x12\xB6W`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x13\x15V[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x82\x15a\x13\0W` \x86\x01Qa\x12\xFB\x90b\x98\x96\x80\x85\x81\x03\x90a!BV[a\x13\x06V[\x85` \x01Q[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x139Wa\x139a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xA2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13WW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13\xF8Wa\x13\xD3\x85\x82\x81Q\x81\x10a\x13\xC5Wa\x13\xC5a&YV[` \x02` \x01\x01Q\x85a!~V[\x83\x82\x81Q\x81\x10a\x13\xE5Wa\x13\xE5a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13\xA8V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x14 WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x14w\x90\x85\x90`\x04\x01a.\xE3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\xDA\x91\x90\x81\x01\x90a.\xF6V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\xF2\x82\x84a/\xC6V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15\nWa\x15\na&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15sW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15(W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x15\xC4W\x85`@\x01Q\x81\x81Q\x81\x10a\x15\x97Wa\x15\x97a&YV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x15\xB1Wa\x15\xB1a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x15yV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\xDFW`\0\x87\x82\x81Q\x81\x10a\x15\xE7Wa\x15\xE7a&YV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x16\xA5W\x88\x81\x81Q\x81\x10a\x16\x0EWa\x16\x0Ea&YV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x9DW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\xF4V[P`\0\x80[\x88\x81\x10\x15a\x17fW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x16\xCAWa\x16\xCAa&YV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17]W\x85\x15a\x17GW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x17V\x90\x84a/\xC6V[\x92P`\x01\x96P[P`\x01\x01a\x16\xAAV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\xDFW\x84\x15a\x17\xC6W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x17\xD8\x90\x82a/\xC6V[\x90P`\x01\x93P[\x80`\0\x03a\x184W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x18B\x81`\x05a'\x10a!BV[\x82` \x01Q\x11\x15a\x18\xB5W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x18\xCAWa\x18\xCAa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x15\xCBV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x19AW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x19\xBD\x90\x84\x90\x86\x90`\x04\x01a/\xD9V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x19\xD5W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1A\xA9\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@\x80Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R\x81Q`\x94\x81\x83\x03\x01\x81Ra\x014\x82\x01\x90\x92R`[`\xB4\x82\x01\x81\x81R\x91a2\xC0\x90`\xD4\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\x05`.\x919`@Q` \x01a\x1C\x88\x95\x94\x93\x92\x91\x90a0\x08V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1C\xF5\x96\x95\x94\x93\x92`\x04\x01a0\xA3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1D\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1DHWa\x03_\x82\x82a\x1DjV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"2V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1D\xC4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1D\xC9V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10H\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\x10H\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F%Wa\x1F%a&*V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1FOW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1F\x94W`\0a\x1F\x82\x85\x83\x81Q\x81\x10a\x1FuWa\x1Fua&YV[` \x02` \x01\x01Qa#$V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1FUV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x81F\x84`\xC0\x01Q`@Q` \x01a\x1F\xBF\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1F\xFC\x93\x92\x91` \x01a1kV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a 1\x91\x90a1\x98V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a JWa Ja&YV[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a \xA7W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a!\x02WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a!9W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a!wW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@\x80Q``\x81\x01\x82R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x90\x84\x01Q` \x82\x01\x90\x15a\"\x01Wa!\xFC\x85`@\x01Q\x85a!\xE0\x91\x90a.\xCCV[a!\xED\x90b\x98\x96\x80a/\xC6V[` \x87\x01Q\x90b\x98\x96\x80a#\x9BV[a\"\x07V[\x84` \x01Q[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10H\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a#\xD0W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xF1W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\tW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$!W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$UW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$mW`\0\x80\xFD[a$y\x87\x83\x88\x01a#\xDFV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x8FW`\0\x80\xFD[Pa$\x9C\x86\x82\x87\x01a#\xF7V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xBBW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xD3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x01W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x18W`\0\x80\xFD[a%$\x85\x82\x86\x01a$\xA9V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%FW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%^W`\0\x80\xFD[a%j\x88\x83\x89\x01a$\xA9V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x83W`\0\x80\xFD[Pa%\x90\x87\x82\x88\x01a#\xF7V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x12\x17\x81a%\x9CV[`\0` \x82\x84\x03\x12\x15a%\xDBW`\0\x80\xFD[\x815a%\xE6\x81a%\x9CV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\xFFW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x16W`\0\x80\xFD[a&\"\x84\x82\x85\x01a#\xDFV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xA3W\x81\x81\x01Q\x83\x82\x01R` \x01a&\x8BV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xC4\x81` \x86\x01` \x86\x01a&\x88V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'VW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x0BV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xD5a\x01\xA0\x85\x01\x82a&\xACV[\x90P` \x83\x01Qa(\x13` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(+\x82\x82a&\xF6V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(E\x82\x82a&\xACV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xD1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xBF\x86\x83Qa'aV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x85V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)VW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\x95W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xB0W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$9W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*|Wa*|a&*V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xAFWa*\xAFa&*V[a*\xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+$W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a+HWa+Ha&*V[\x81`@R\x82\x93P\x845\x91Pa+\\\x82a%\x9CV[\x90\x82R` \x84\x015\x90a+n\x82a%\x9CV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa+\x98\x82a%\x9CV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a+\xB2W`\0\x80\xFD[Pa+\xBF\x85\x82\x86\x01a*\x84V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xDEW`\0\x80\xFD[a+\xE6a)\xC5V[\x90P\x815a+\xF3\x81a%\x9CV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,+Wa,+a&*V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,FW`\0\x80\xFD[\x815` a,[a,V\x83a,\x11V[a*5V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,zW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xDFW`\x80\x81\x89\x03\x12\x15a,\x97W`\0\x80\x81\xFD[a,\x9Fa)\xEEV[\x815a,\xAA\x81a%\x9CV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xCD\x81a%\x9CV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,~V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\xFCW`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a-\x1FWa-\x1Fa&*V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a->W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-VW`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a-kW`\0\x80\xFD[a-sa*\x11V[\x825\x82\x81\x11\x15a-\x82W`\0\x80\xFD[a-\x8E\x87\x82\x86\x01a+\x12V[\x82RPa-\x9D` \x84\x01a%\xBEV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra-\xC3\x86`\x80\x85\x01a+\xCCV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a-\xDAW`\0\x80\xFD[a-\xE6\x87\x82\x86\x01a,5V[`\xA0\x83\x01RPa-\xFA\x86a\x01\0\x85\x01a,\xEAV[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a.\x12W`\0\x80\xFD[a.\x1E\x87\x82\x86\x01a*\x84V[`\xE0\x83\x01RP\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a.?W`\0\x80\xFD[PQ\x91\x90PV[`\0\x85Qa.X\x81\x84` \x8A\x01a&\x88V[\x85Q\x90\x83\x01\x90a.l\x81\x83` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a.\x7F\x81\x83` \x89\x01a&\x88V[\x84Q\x91\x01\x90a.\x92\x81\x83` \x88\x01a&\x88V[\x01\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x13\x15Wa\x13\x15a.\x9DV[` \x81R`\0a%\xE6` \x83\x01\x84a'aV[`\0` \x80\x83\x85\x03\x12\x15a/\tW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/ W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/1W`\0\x80\xFD[\x80Qa/?a,V\x82a,\x11V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/^W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xBAW\x80\x85\x8A\x03\x12\x15a/{W`\0\x80\x81\xFD[a/\x83a)\xC5V[\x85Qa/\x8E\x81a%\x9CV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xA7\x81a%\x9CV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/cV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x13\x15Wa\x13\x15a.\x9DV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a&\"`@\x83\x01\x84a'aV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x16\x87Qa0A\x81\x83\x86\x01` \x8C\x01a&\x88V[\x87Q\x90\x84\x01\x90a0W\x81\x84\x84\x01` \x8C\x01a&\x88V[\x87Q\x91\x01\x90a0l\x81\x84\x84\x01` \x8B\x01a&\x88V[\x86Q\x91\x01\x90a0\x81\x81\x84\x84\x01` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a0\x96\x81\x84\x84\x01` \x89\x01a&\x88V[\x01\x01\x97\x96PPPPPPPV[`\0a\x01@a0\xD3\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x14`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1I\x81\x84\x01\x86a&\xACV[\x90P\x82\x81\x03a\x01 \x84\x01Ra1^\x81\x85a&\xACV[\x99\x98PPPPPPPPPV[\x83\x81R\x82` \x82\x01R`\0\x82Qa1\x89\x81`@\x85\x01` \x87\x01a&\x88V[\x91\x90\x91\x01`@\x01\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a1\xABW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 5>J\x9C\x8A\xF3,\xE6{]\xE3:\xAE\xCB_\xAE\x19\x8FF\x18\xEDv\xC7\xF0\xECf\xD0\x8D\xF4@&[dsolcC\0\x08\x18\x003`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\r\xF9\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0AW`\x005`\xE0\x1C\x80cA\xD8\x8Di\x14a\0FW\x80cX]\xA6(\x14a\0oW\x80cvq\xD0{\x14a\0\x84W[`\0\x80\xFD[a\0Ya\0T6`\x04a\x04\xBBV[a\0\xC5V[`@Qa\0f\x91\x90a\x05\xF8V[`@Q\x80\x91\x03\x90\xF3[a\0\x82a\0}6`\x04a\x08\xEDV[a\x02!V[\0[a\0\xA0a\0\x926`\x04a\ncV[`@\x81\x81\x01Q\x90\x91\x01\x01Q\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0fV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x91\x90\x91R`@\x80\x84\x01Q\x84\x01\x01Q`@\x80Q\x80\x82\x01\x82R\x85\x81R` \x80\x82\x01\x86\x90R\x82Q\x90\x81\x01\x83R`\0\x81R\x91Q\x7F\r3X\x84\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90\x93\x16\x92c\r3X\x84\x92a\x01\xAF\x92\x91`\x04\x01a\n\xA0V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01\xC9W`\0\x80\xFD[PZ\xF1\x92PPP\x80\x15a\x01\xDAWP`\x01[a\x02\x1BW=\x80\x80\x15a\x02\x08W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x02\rV[``\x91P[Pa\x02\x17\x81a\x02\xA2V[\x91PP[\x92\x91PPV[\x81Q`\x01\x14a\x02\\W`@Q\x7F\x06\xEE\x98x\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82`\0\x81Q\x81\x10a\x02qWa\x02qa\x0B\x14V[` \x02` \x01\x01Q`@Q` \x01a\x02\x89\x91\x90a\x05\xF8V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x90P\x80Q\x81` \x01\xFD[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x80\x84\x01\x83\x90R`\xE0\x84\x01\x83\x90Ra\x01\0\x84\x01\x83\x90Ra\x01 \x84\x01\x83\x90R``a\x01@\x85\x01\x81\x90R\x91\x84R\x84Q\x80\x83\x01\x86R\x83\x81R` \x80\x82\x01\x85\x90R\x81\x87\x01\x85\x90R\x85\x01R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82Q\x90\x91\x11\x15a\x03\x1EW\x81Q\x82` \x01\xFD[\x81\x80` \x01\x90Q\x81\x01\x90a\x02\x1B\x91\x90a\x0C\xF1V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@R\x90V[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\xA0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x03\x84Wa\x03\x84a\x032V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a\x04\x17Wa\x04\x17a\x032V[`@R\x91\x90PV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x049Wa\x049a\x032V[P`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a\x04vW`\0\x80\xFD[\x815a\x04\x89a\x04\x84\x82a\x04\x1FV[a\x03\xD0V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a\x04\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\x04\xCEW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x04\xE6W`\0\x80\xFD[a\x04\xF2\x86\x83\x87\x01a\x04eV[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x05\x08W`\0\x80\xFD[Pa\x05\x15\x85\x82\x86\x01a\x04eV[\x91PP\x92P\x92\x90PV[`\0[\x83\x81\x10\x15a\x05:W\x81\x81\x01Q\x83\x82\x01R` \x01a\x05\"V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x05[\x81` \x86\x01` \x86\x01a\x05\x1FV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\x05\xEDW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a\x05\xA2V[P\x94\x95\x94PPPPPV[` \x81R`\0\x82Q`\xE0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16a\x01\0\x85\x01R\x80` \x83\x01Q\x16a\x01 \x85\x01R`@\x82\x01Qa\x01@\x85\x01R``\x82\x01Qa\x01`\x85\x01R\x80`\x80\x83\x01Q\x16a\x01\x80\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\xA0\x84\x01Ra\x06ta\x01\xC0\x84\x01\x82a\x05CV[\x90P` \x84\x01Qa\x06\xB2`@\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x80\x85\x84\x03\x01`\xA0\x86\x01Ra\x06\xED\x83\x83a\x05\x8DV[\x92P``\x86\x01Q\x91P\x80\x85\x84\x03\x01`\xC0\x86\x01RPa\x07\x0B\x82\x82a\x05CV[\x91PP`\x80\x84\x01Q`\xE0\x84\x01R\x80\x91PP\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a\x07=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\n\xA2dipfsX\"\x12 \xAD:\xD1\xE2e\xF6D\xDB\xEC\xAD\x91\xA7\x18n\xBC\xD8\x8AlH\xE5q\xDFl\xEE\x83\xCB\xD4\xF6\xDE\xEF\xD2\xE2dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static DEPLOYPRIORITYORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct DeployPriorityOrderReactor(::ethers::contract::Contract); + impl ::core::clone::Clone for DeployPriorityOrderReactor { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for DeployPriorityOrderReactor { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for DeployPriorityOrderReactor { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for DeployPriorityOrderReactor { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(DeployPriorityOrderReactor)) + .field(&self.address()) + .finish() + } + } + impl DeployPriorityOrderReactor { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + DEPLOYPRIORITYORDERREACTOR_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + DEPLOYPRIORITYORDERREACTOR_ABI.clone(), + DEPLOYPRIORITYORDERREACTOR_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `IS_SCRIPT` (0xf8ccbf47) function + pub fn is_script(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([248, 204, 191, 71], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `run` (0xc0406226) function + pub fn run( + &self, + ) -> ::ethers::contract::builders::ContractCall< + M, + PriorityOrderReactorDeployment, + > { + self.0 + .method_hash([192, 64, 98, 38], ()) + .expect("method not found (this should never happen)") + } + ///Calls the contract's `setUp` (0x0a9254e4) function + pub fn set_up(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([10, 146, 84, 228], ()) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for DeployPriorityOrderReactor { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Container type for all input parameters for the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] + pub struct IsScriptCall; + ///Container type for all input parameters for the `run` function with signature `run()` and selector `0xc0406226` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "run", abi = "run()")] + pub struct RunCall; + ///Container type for all input parameters for the `setUp` function with signature `setUp()` and selector `0x0a9254e4` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "setUp", abi = "setUp()")] + pub struct SetUpCall; + ///Container type for all of the contract's call + #[derive( + Clone, + ::ethers::contract::EthAbiType, + serde::Serialize, + serde::Deserialize, + Debug, + PartialEq, + Eq, + Hash + )] + pub enum DeployPriorityOrderReactorCalls { + IsScript(IsScriptCall), + Run(RunCall), + SetUp(SetUpCall), + } + impl ::ethers::core::abi::AbiDecode for DeployPriorityOrderReactorCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::IsScript(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::Run(decoded)); + } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::SetUp(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for DeployPriorityOrderReactorCalls { + fn encode(self) -> Vec { + match self { + Self::IsScript(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), + } + } + } + impl ::core::fmt::Display for DeployPriorityOrderReactorCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::IsScript(element) => ::core::fmt::Display::fmt(element, f), + Self::Run(element) => ::core::fmt::Display::fmt(element, f), + Self::SetUp(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for DeployPriorityOrderReactorCalls { + fn from(value: IsScriptCall) -> Self { + Self::IsScript(value) + } + } + impl ::core::convert::From for DeployPriorityOrderReactorCalls { + fn from(value: RunCall) -> Self { + Self::Run(value) + } + } + impl ::core::convert::From for DeployPriorityOrderReactorCalls { + fn from(value: SetUpCall) -> Self { + Self::SetUp(value) + } + } + ///Container type for all return fields from the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct IsScriptReturn(pub bool); + ///Container type for all return fields from the `run` function with signature `run()` and selector `0xc0406226` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct RunReturn { + pub deployment: PriorityOrderReactorDeployment, + } + ///`PriorityOrderReactorDeployment(address,address,address)` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct PriorityOrderReactorDeployment { + pub permit_2: ::ethers::core::types::Address, + pub reactor: ::ethers::core::types::Address, + pub quoter: ::ethers::core::types::Address, + } +} diff --git a/crates/bindings-uniswapx/src/lib.rs b/crates/bindings-uniswapx/src/lib.rs index 80037c7..a9039b9 100644 --- a/crates/bindings-uniswapx/src/lib.rs +++ b/crates/bindings-uniswapx/src/lib.rs @@ -6,11 +6,13 @@ pub mod array_builder; pub mod base_reactor; pub mod bytes_lib; +pub mod cosigner_lib; pub mod currency_library; pub mod deploy_dutch; pub mod deploy_dutch_v2; pub mod deploy_exclusive_dutch; pub mod deploy_permit_2; +pub mod deploy_priority_order_reactor; pub mod deploy_swap_router_02_executor; pub mod dutch_decay_lib; pub mod dutch_order_lib; @@ -43,6 +45,7 @@ pub mod ierc721_token_receiver; pub mod limit_order_lib; pub mod limit_order_reactor; pub mod math; +pub mod mock_cosigner_lib_contract; pub mod mock_dutch_order_reactor; pub mod mock_erc20; pub mod mock_erc721; @@ -72,7 +75,6 @@ pub mod permit_signature; pub mod priority_fee_lib; pub mod priority_order_lib; pub mod priority_order_reactor; -pub mod priority_order_reactor_integration; pub mod protocol_fees; pub mod reactor_events; pub mod reentrancy_guard; diff --git a/crates/bindings-uniswapx/src/mock_cosigner_lib_contract.rs b/crates/bindings-uniswapx/src/mock_cosigner_lib_contract.rs new file mode 100644 index 0000000..a4c97dc --- /dev/null +++ b/crates/bindings-uniswapx/src/mock_cosigner_lib_contract.rs @@ -0,0 +1,217 @@ +pub use mock_cosigner_lib_contract::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod mock_cosigner_lib_contract { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("verify"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("verify"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("cosigner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("data"), + kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( + 32usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("cosignature"), + kind: ::ethers::core::abi::ethabi::ParamType::Bytes, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bytes"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Pure, + }, + ], + ), + ]), + events: ::std::collections::BTreeMap::new(), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("InvalidCosignature"), + inputs: ::std::vec![], + }, + ], + ), + ]), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static MOCKCOSIGNERLIBCONTRACT_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x039\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\x1A\x86\xB5P\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\xACV[a\0EV[\0[a\0P\x83\x83\x83a\0UV[PPPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a\0l\x91\x90a\x02\xB0V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a\0\x85Wa\0\x85a\x02\xD4V[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\0\xE2W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x01=WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x01tW`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\xC1W`\0\x80\xFD[\x835s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\xE5W`\0\x80\xFD[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\tW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x02\x1DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x02/Wa\x02/a\x01}V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x02uWa\x02ua\x01}V[\x81`@R\x82\x81R\x89` \x84\x87\x01\x01\x11\x15a\x02\x8EW`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a\x02\xC3W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 '\xC5n\x81\xC6\x96\x83\xC1$\x02\r\x94\x1B\x181\xC2@\x0F\x0C\xCE\x02\xBF\xED\xEAz\x8A&c)\x9A\x95\xB4dsolcC\0\x08\x18\x003"; + /// The bytecode of the contract. + pub static MOCKCOSIGNERLIBCONTRACT_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0+W`\x005`\xE0\x1C\x80c\x1A\x86\xB5P\x14a\x000W[`\0\x80\xFD[a\0Ca\0>6`\x04a\x01\xACV[a\0EV[\0[a\0P\x83\x83\x83a\0UV[PPPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a\0l\x91\x90a\x02\xB0V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a\0\x85Wa\0\x85a\x02\xD4V[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\0\xE2W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x01=WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x01tW`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\x01\xC1W`\0\x80\xFD[\x835s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x01\xE5W`\0\x80\xFD[\x92P` \x84\x015\x91P`@\x84\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\tW`\0\x80\xFD[\x81\x86\x01\x91P\x86`\x1F\x83\x01\x12a\x02\x1DW`\0\x80\xFD[\x815\x81\x81\x11\x15a\x02/Wa\x02/a\x01}V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x02uWa\x02ua\x01}V[\x81`@R\x82\x81R\x89` \x84\x87\x01\x01\x11\x15a\x02\x8EW`\0\x80\xFD[\x82` \x86\x01` \x83\x017`\0` \x84\x83\x01\x01R\x80\x95PPPPPP\x92P\x92P\x92V[`\0\x80`@\x83\x85\x03\x12\x15a\x02\xC3W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 '\xC5n\x81\xC6\x96\x83\xC1$\x02\r\x94\x1B\x181\xC2@\x0F\x0C\xCE\x02\xBF\xED\xEAz\x8A&c)\x9A\x95\xB4dsolcC\0\x08\x18\x003"; + /// The deployed bytecode of the contract. + pub static MOCKCOSIGNERLIBCONTRACT_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); + pub struct MockCosignerLibContract(::ethers::contract::Contract); + impl ::core::clone::Clone for MockCosignerLibContract { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for MockCosignerLibContract { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for MockCosignerLibContract { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for MockCosignerLibContract { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(MockCosignerLibContract)) + .field(&self.address()) + .finish() + } + } + impl MockCosignerLibContract { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + MOCKCOSIGNERLIBCONTRACT_ABI.clone(), + client, + ), + ) + } + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + MOCKCOSIGNERLIBCONTRACT_ABI.clone(), + MOCKCOSIGNERLIBCONTRACT_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + ///Calls the contract's `verify` (0x1a86b550) function + pub fn verify( + &self, + cosigner: ::ethers::core::types::Address, + data: [u8; 32], + cosignature: ::ethers::core::types::Bytes, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([26, 134, 181, 80], (cosigner, data, cosignature)) + .expect("method not found (this should never happen)") + } + } + impl From<::ethers::contract::Contract> + for MockCosignerLibContract { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + ///Custom Error type `InvalidCosignature` with signature `InvalidCosignature()` and selector `0xd7815be1` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "InvalidCosignature", abi = "InvalidCosignature()")] + pub struct InvalidCosignature; + ///Container type for all input parameters for the `verify` function with signature `verify(address,bytes32,bytes)` and selector `0x1a86b550` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "verify", abi = "verify(address,bytes32,bytes)")] + pub struct VerifyCall { + pub cosigner: ::ethers::core::types::Address, + pub data: [u8; 32], + pub cosignature: ::ethers::core::types::Bytes, + } +} diff --git a/crates/bindings-uniswapx/src/outputs_builder.rs b/crates/bindings-uniswapx/src/outputs_builder.rs index 5ab2eed..6ecdf6c 100644 --- a/crates/bindings-uniswapx/src/outputs_builder.rs +++ b/crates/bindings-uniswapx/src/outputs_builder.rs @@ -26,13 +26,13 @@ pub mod outputs_builder { __abi, ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC\xD4\xEAU\x1E\xF6\xD0\xAB\xEA\xE4\xFEv\x04\xDDf\xFD0\x07GC\xCD6x\xDB\x9D\x1C\xD2\xF0\x8E,\x06adsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x13\xA4\xF0K\x9Dkz=\xE8<\x1C\xB3\x8F\x0E\xBF\x15\x96l\x05ef/\xA9\xB0_\xFB~\xC7,4z\x91dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. pub static OUTPUTSBUILDER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xEC\xD4\xEAU\x1E\xF6\xD0\xAB\xEA\xE4\xFEv\x04\xDDf\xFD0\x07GC\xCD6x\xDB\x9D\x1C\xD2\xF0\x8E,\x06adsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x13\xA4\xF0K\x9Dkz=\xE8<\x1C\xB3\x8F\x0E\xBF\x15\x96l\x05ef/\xA9\xB0_\xFB~\xC7,4z\x91dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. pub static OUTPUTSBUILDER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, diff --git a/crates/bindings-uniswapx/src/permit_signature.rs b/crates/bindings-uniswapx/src/permit_signature.rs index 68bb72f..37872d5 100644 --- a/crates/bindings-uniswapx/src/permit_signature.rs +++ b/crates/bindings-uniswapx/src/permit_signature.rs @@ -10,7 +10,6 @@ pub use permit_signature::*; non_camel_case_types, )] pub mod permit_signature { - pub use super::super::shared_types::*; #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { @@ -854,13 +853,13 @@ pub mod permit_signature { __abi, ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x1F\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pa\x0F\x9B\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 !\x8BT\xF5\xFB\xC9\x8D\x7F\xA7\x8A\xE3.Y>\xA5g\xD6\xD6\xEF\xF1E\x9E7\x02H\xB6\x11/\x8D\x8AA\x9FdsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`\x80`@R`\x0C\x80T`\x01`\xFF\x19\x91\x82\x16\x81\x17\x90\x92U`\x1F\x80T\x90\x91\x16\x90\x91\x17\x90U4\x80\x15a\0-W`\0\x80\xFD[Pa\x0F\x9B\x80a\0=`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 N<\xDE\x9F\xBD\"n2JI\x11\x9B8\x07\x93y\x95\xCDv\xD9N\xF6\xF0\xA2\xC9\xE4\x96\xDB\xD8\xC0\xD6rdsolcC\0\x08\x18\x003"; /// The bytecode of the contract. pub static PERMITSIGNATURE_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 !\x8BT\xF5\xFB\xC9\x8D\x7F\xA7\x8A\xE3.Y>\xA5g\xD6\xD6\xEF\xF1E\x9E7\x02H\xB6\x11/\x8D\x8AA\x9FdsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80c\x85\"l\x81\x11a\0\x8CW\x80c\xB5P\x8A\xA9\x11a\0fW\x80c\xB5P\x8A\xA9\x14a\x01\xD1W\x80c\xBAAO\xA6\x14a\x01\xD9W\x80c\xE2\x0C\x9Fq\x14a\x01\xF1W\x80c\xFAv&\xD4\x14a\x01\xF9W`\0\x80\xFD[\x80c\x85\"l\x81\x14a\x01\x9FW\x80c\x91j\x17\xC6\x14a\x01\xB4W\x80c\xB0FO\xDC\x14a\x01\xC9W`\0\x80\xFD[\x80c>^<#\x11a\0\xC8W\x80c>^<#\x14a\x01SW\x80c?r\x86\xF4\x14a\x01[W\x80cd\xD4\xC8\x19\x14a\x01cW\x80cf\xD9\xA9\xA0\x14a\x01\x8AW`\0\x80\xFD[\x80c\x04b,.\x14a\0\xEFW\x80c\x1E\xD7\x83\x1C\x14a\x01)W\x80c*\xDE8\x80\x14a\x01>W[`\0\x80\xFD[a\x01\x16\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\x011a\x02\x06V[`@Qa\x01 \x91\x90a\x0B\x11V[a\x01Fa\x02uV[`@Qa\x01 \x91\x90a\x0B\xCFV[a\x011a\x03\xC4V[a\x011a\x041V[a\x01\x16\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[a\x01\x92a\x04\x9EV[`@Qa\x01 \x91\x90a\r6V[a\x01\xA7a\x06 V[`@Qa\x01 \x91\x90a\r\xDBV[a\x01\xBCa\x06\xF0V[`@Qa\x01 \x91\x90a\x0E]V[a\x01\xBCa\x07\xF8V[a\x01\xA7a\t\0V[a\x01\xE1a\t\xD0V[`@Q\x90\x15\x15\x81R` \x01a\x01 V[a\x011a\n\xA4V[`\x1FTa\x01\xE1\x90`\xFF\x16\x81V[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@W[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15a\x03\xA4W\x83\x82\x90`\0R` `\0 \x01\x80Ta\x03\x17\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x03C\x90a\x0E\xF9V[\x80\x15a\x03\x90W\x80`\x1F\x10a\x03eWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x90V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03sW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x02\xF8V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x02\x99V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Ta\x04\xF5\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x05!\x90a\x0E\xF9V[\x80\x15a\x05nW\x80`\x1F\x10a\x05CWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x05nV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x05QW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x06\x08W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\xB5W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x04\xC2V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\x06c\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06\x8F\x90a\x0E\xF9V[\x80\x15a\x06\xDCW\x80`\x1F\x10a\x06\xB1Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xDCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\xBFW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06DV[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\xE0W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07\x8DW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x07\x14V[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x08\xE8W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x08\x95W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x08\x1CV[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15a\x03\xBBW\x83\x82\x90`\0R` `\0 \x01\x80Ta\tC\x90a\x0E\xF9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\to\x90a\x0E\xF9V[\x80\x15a\t\xBCW\x80`\x1F\x10a\t\x91Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\t\xBCV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\t\x9FW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\t$V[`\x08T`\0\x90`\xFF\x16\x15a\t\xE8WP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\nyW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\n\x9D\x91\x90a\x0FLV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x02@WPPPPP\x90P\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\x0B_W\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\x0B-V[P\x90\x96\x95PPPPPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0B\x91W` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0BuV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15a\x0C\xC8W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15a\x0C\xB2W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Ra\x0C\xA0\x84\x86Qa\x0BkV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01a\x0CfV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01a\x0B\xF6V[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a\r+W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01a\x0C\xEDV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Ra\r\xA1\x88\x86\x01\x82a\x0BkV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pa\r\xB9\x81\x83a\x0C\xD8V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01a\r_V[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15a\x0EPW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Ra\x0E>\x85\x83Qa\x0BkV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\x0E\x04V[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15a\r\xCDW\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Ra\x0E\xE6\x87\x85\x01\x82a\x0C\xD8V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01a\x0E\x86V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0F\rW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0FFW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0` \x82\x84\x03\x12\x15a\x0F^W`\0\x80\xFD[PQ\x91\x90PV\xFE\xA2dipfsX\"\x12 N<\xDE\x9F\xBD\"n2JI\x11\x9B8\x07\x93y\x95\xCDv\xD9N\xF6\xF0\xA2\xC9\xE4\x96\xDB\xD8\xC0\xD6rdsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. pub static PERMITSIGNATURE_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, @@ -2590,4 +2589,55 @@ pub mod permit_signature { pub struct TargetSendersReturn { pub targeted_senders: ::std::vec::Vec<::ethers::core::types::Address>, } + ///`FuzzArtifactSelector(string,bytes4[])` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FuzzArtifactSelector { + pub artifact: ::std::string::String, + pub selectors: ::std::vec::Vec<[u8; 4]>, + } + ///`FuzzInterface(address,string[])` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FuzzInterface { + pub addr: ::ethers::core::types::Address, + pub artifacts: ::std::vec::Vec<::std::string::String>, + } + ///`FuzzSelector(address,bytes4[])` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct FuzzSelector { + pub addr: ::ethers::core::types::Address, + pub selectors: ::std::vec::Vec<[u8; 4]>, + } } diff --git a/crates/bindings-uniswapx/src/priority_fee_lib.rs b/crates/bindings-uniswapx/src/priority_fee_lib.rs index 4a82327..8e461b9 100644 --- a/crates/bindings-uniswapx/src/priority_fee_lib.rs +++ b/crates/bindings-uniswapx/src/priority_fee_lib.rs @@ -26,13 +26,13 @@ pub mod priority_fee_lib { __abi, ); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x98\x1F\xA6\x85s~9\xB4\xC6QSf\x9D\xFEcd.YF\x13!\x9D}\x90o\xFF\xB7\x06\xD0f\x84\xC0dsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBA\x05\x8E\xEA\xF1\xCD\xC2@\x0F\xA8\x91\xF5f\x8AS8U\x82\x85\xDCY\x17\xC8M\x1F\x1C\x1A\x1C\xD0\x17\x80,dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. pub static PRIORITYFEELIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x98\x1F\xA6\x85s~9\xB4\xC6QSf\x9D\xFEcd.YF\x13!\x9D}\x90o\xFF\xB7\x06\xD0f\x84\xC0dsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \xBA\x05\x8E\xEA\xF1\xCD\xC2@\x0F\xA8\x91\xF5f\x8AS8U\x82\x85\xDCY\x17\xC8M\x1F\x1C\x1A\x1C\xD0\x17\x80,dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. pub static PRIORITYFEELIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, diff --git a/crates/bindings-uniswapx/src/priority_order_lib.rs b/crates/bindings-uniswapx/src/priority_order_lib.rs index f5508de..7c8cc1a 100644 --- a/crates/bindings-uniswapx/src/priority_order_lib.rs +++ b/crates/bindings-uniswapx/src/priority_order_lib.rs @@ -26,13 +26,13 @@ pub mod priority_order_lib { ::ethers::core::abi::Abi, > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x06\xEE\xBA\xEA\xF5\x1D^\xCCi\t*\x8C\x1B\xCCOr\xF7E\x87\x12\xB0\xA5k\xE8Ij#d~\xB4\x87\x9DdsolcC\0\x08\x18\x003"; + const __BYTECODE: &[u8] = b"`V`7`\x0B\x82\x82\x829\x80Q`\0\x1A`s\x14`*WcNH{q`\xE0\x1B`\0R`\0`\x04R`$`\0\xFD[0`\0R`s\x81S\x82\x81\xF3\xFEs\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x12[,\xB2\xF9\xEAZ\xD3\xC0\xB3l\x17\xA4\x1E\xBD\xE6\xE4e\xA2\xEEfv>\xFB\xA5\xE2\xF2\xCC\x9E\xC4k\x83dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. pub static PRIORITYORDERLIB_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x06\xEE\xBA\xEA\xF5\x1D^\xCCi\t*\x8C\x1B\xCCOr\xF7E\x87\x12\xB0\xA5k\xE8Ij#d~\xB4\x87\x9DdsolcC\0\x08\x18\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"s\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x000\x14`\x80`@R`\0\x80\xFD\xFE\xA2dipfsX\"\x12 \x12[,\xB2\xF9\xEAZ\xD3\xC0\xB3l\x17\xA4\x1E\xBD\xE6\xE4e\xA2\xEEfv>\xFB\xA5\xE2\xF2\xCC\x9E\xC4k\x83dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. pub static PRIORITYORDERLIB_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, diff --git a/crates/bindings-uniswapx/src/priority_order_reactor.rs b/crates/bindings-uniswapx/src/priority_order_reactor.rs index 8de9c5b..391b415 100644 --- a/crates/bindings-uniswapx/src/priority_order_reactor.rs +++ b/crates/bindings-uniswapx/src/priority_order_reactor.rs @@ -480,6 +480,15 @@ pub mod priority_order_reactor { }, ], ), + ( + ::std::borrow::ToOwned::to_owned("OrderAlreadyFilled"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("OrderAlreadyFilled"), + inputs: ::std::vec![], + }, + ], + ), ( ::std::borrow::ToOwned::to_owned("OrderNotFillable"), ::std::vec![ @@ -499,13 +508,13 @@ pub mod priority_order_reactor { ::ethers::core::abi::Abi, > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\x001\xB78\x03\x80b\x001\xB7\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa0\x9Eb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x19\x19\x01Ra0\x9E`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a \xDCV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a!\x8AV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a!\xCCV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"eV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\"\x89V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"eV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xAFV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a%\xBEV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B^V[a\x04\xB5\x81a\x0B\xAFV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xAFV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B^V[a\x08\x86\x81a\x0B\xAFV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a%\xFCV[\x81\x01\x90a\n|\x91\x90a)\xC8V[\x90P`\0a\n\x89\x82a\r\x02V[\x90P\x81`@\x01QC\x10\x15a\n\xA1Wa\n\xA1\x81\x83a\x0E\x15V[a\n\xAA\x82a\x0F\xFEV[`\0a\n\xB9\x83``\x01Qa\x10\xFDV[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE7\x83\x86`\x80\x01Qa\x11R\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x03\x83\x86`\xA0\x01Qa\x12I\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x18\x91\x90a%\xFCV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x7FWa\x0B\x7Fa\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0B\x92\x81a\x13.V[a\x0B\x9C\x813a\x18\x1EV[a\x0B\xA6\x813a\x19\x17V[P`\x01\x01a\x0BcV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF1W`\0\x83\x82\x81Q\x81\x10a\x0B\xD0Wa\x0B\xD0a\"\xF5V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CQW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x07Wa\x0C\x07a\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0CH\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Bp\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE7V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9AWa\x0C\x9Aa\"\xF5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xDF\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB4V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\xB7V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\ra\x93\x92\x91\x90a*\xC9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x84\x83`\0\x01Qa\x1CQV[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xA0\x87`\x80\x01Qa\x1C\xEBV[a\r\xAD\x88`\xA0\x01Qa\x1DRV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\xC0\x81\x01QQ`\0\x03a\x0E&WPPV[`@\x81\x01Q`\xC0\x82\x01QQ\x10\x15a\x0ECW`\xC0\x81\x01QQ`@\x82\x01R[`\0\x80\x82`\xE0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0E^\x91\x90a,\x1FV[\x91P\x91P`\0\x83`\xE0\x01Q`@\x81Q\x81\x10a\x0E{Wa\x0E{a\"\xF5V[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\xC0\x01Q`@Q` \x01a\x0E\xA8\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0E\xE4\x92\x91` \x01a,CV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x0F`W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x0F\xBFWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x0F\xF6W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[\x80Q``\x01QB\x11\x15a\x10=W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81`@\x01Q\x11\x15a\x10{W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q`@\x01Q\x15a\x08\x91W`\0[\x81`\xA0\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82`\xA0\x01Q\x82\x81Q\x81\x10a\x10\xB1Wa\x10\xB1a\"\xF5V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x10\xF5W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x10\x8CV[`\0H:\x10\x15a\x119W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x11IW\x03\x90V[P`\0[\x91\x90PV[a\x11\x8C`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x11\x9E\x91\x90a,\x98V[\x90Pb\x98\x96\x80\x81\x10a\x11\xECW`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x12CV[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01a\x124a\x12%\x84b\x98\x96\x80a,\xAFV[` \x88\x01Q\x90b\x98\x96\x80a\x1D\xF0V[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12gWa\x12ga\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\xD0W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x12\x85W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13&Wa\x13\x01\x85\x82\x81Q\x81\x10a\x12\xF3Wa\x12\xF3a\"\xF5V[` \x02` \x01\x01Q\x85a\x1E,V[\x83\x82\x81Q\x81\x10a\x13\x13Wa\x13\x13a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x12\xD6V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x13NWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x13\xA5\x90\x85\x90`\x04\x01a,\xC2V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xC2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\x08\x91\x90\x81\x01\x90a,\xD5V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14 \x82\x84a-\xA5V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x148Wa\x148a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\xA1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14VW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xF2W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a\"\xF5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xDFWa\x14\xDFa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\xA7V[P`\0\x80`\0[\x84\x81\x10\x15a\x18\rW`\0\x87\x82\x81Q\x81\x10a\x15\x15Wa\x15\x15a\"\xF5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xD3W\x88\x81\x81Q\x81\x10a\x15=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xD7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\x1A\x82\x93\x92\x91\x90a*\xC9V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a/S` \x83\x019`@Q` \x01a\x1A\xD5\x92\x91\x90a-\xE7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1BB\x96\x95\x94\x93\x92`\x04\x01a.BV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1B\\W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xF6W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\x95Wa\x03_\x82\x82a\x1B\xB7V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1E\xCEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1C\x11W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1C\x16V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\r\xF8\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\r\xF8\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DrWa\x1Dra\"\xC6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1D\x9CW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1D\xE1W`\0a\x1D\xCF\x85\x83\x81Q\x81\x10a\x1D\xC2Wa\x1D\xC2a\"\xF5V[` \x02` \x01\x01Qa\x1F\xC0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1D\xA2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1E%W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1E\xA3\x85`@\x01Q\x85a\x1E\x87\x91\x90a,\x98V[a\x1E\x94\x90b\x98\x96\x80a-\xA5V[` \x87\x01Q\x90b\x98\x96\x80a 7V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1F\xB9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\r\xF8\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a lW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a \x8DW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a \xA5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xBDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a \xF1W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\tW`\0\x80\xFD[a!\x15\x87\x83\x88\x01a {V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!+W`\0\x80\xFD[Pa!8\x86\x82\x87\x01a \x93V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a!\x9DW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\xB4W`\0\x80\xFD[a!\xC0\x85\x82\x86\x01a!EV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a!\xE2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xFAW`\0\x80\xFD[a\"\x06\x88\x83\x89\x01a!EV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\x1FW`\0\x80\xFD[Pa\",\x87\x82\x88\x01a \x93V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x11M\x81a\"8V[`\0` \x82\x84\x03\x12\x15a\"wW`\0\x80\xFD[\x815a\"\x82\x81a\"8V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\"\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xB2W`\0\x80\xFD[a\"\xBE\x84\x82\x85\x01a {V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#?W\x81\x81\x01Q\x83\x82\x01R` \x01a#'V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#`\x81` \x86\x01` \x86\x01a#$V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a#\xF2W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xA7V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$qa\x01\xA0\x85\x01\x82a#HV[\x90P` \x83\x01Qa$\xAF` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xC7\x82\x82a#\x92V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra$\xE1\x82\x82a#HV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%mW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%[\x86\x83Qa#\xFDV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%!V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a%\xF2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&1W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&LW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a \xD5W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\x18Wa'\x18a\"\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'KWa'Ka\"\xC6V[a'|` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a&\xD1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a'\x91W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a'\xC0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a'\xE4Wa'\xE4a\"\xC6V[\x81`@R\x82\x93P\x845\x91Pa'\xF8\x82a\"8V[\x90\x82R` \x84\x015\x90a(\n\x82a\"8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa(4\x82a\"8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a(NW`\0\x80\xFD[Pa([\x85\x82\x86\x01a' V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a(zW`\0\x80\xFD[a(\x82a&aV[\x90P\x815a(\x8F\x81a\"8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xC7Wa(\xC7a\"\xC6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a(\xE2W`\0\x80\xFD[\x815` a(\xF7a(\xF2\x83a(\xADV[a&\xD1V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a)\x16W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a){W`\x80\x81\x89\x03\x12\x15a)3W`\0\x80\x81\xFD[a);a&\x8AV[\x815a)F\x81a\"8V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a)i\x81a\"8V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a)\x1AV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a)\x98W`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a)\xBBWa)\xBBa\"\xC6V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xDAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a)\xF2W`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a*\x07W`\0\x80\xFD[a*\x0Fa&\xADV[\x825\x82\x81\x11\x15a*\x1EW`\0\x80\xFD[a**\x87\x82\x86\x01a'\xAEV[\x82RPa*9` \x84\x01a\"ZV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra*_\x86`\x80\x85\x01a(hV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a*vW`\0\x80\xFD[a*\x82\x87\x82\x86\x01a(\xD1V[`\xA0\x83\x01RPa*\x96\x86a\x01\0\x85\x01a)\x86V[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a*\xAEW`\0\x80\xFD[a*\xBA\x87\x82\x86\x01a' V[`\xE0\x83\x01RP\x95\x94PPPPPV[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`.\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`H\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`g\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`{\x82\x01R`\0\x84Qa+\xE5\x81`\x94\x85\x01` \x89\x01a#$V[\x84Q\x90\x83\x01\x90a+\xFC\x81`\x94\x84\x01` \x89\x01a#$V[\x84Q\x91\x01\x90a,\x12\x81`\x94\x84\x01` \x88\x01a#$V[\x01`\x94\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a,2W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x82\x81R`\0\x82Qa,[\x81` \x85\x01` \x87\x01a#$V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x12CWa\x12Ca,iV[\x81\x81\x03\x81\x81\x11\x15a\x12CWa\x12Ca,iV[` \x81R`\0a\"\x82` \x83\x01\x84a#\xFDV[`\0` \x80\x83\x85\x03\x12\x15a,\xE8W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xFFW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x10W`\0\x80\xFD[\x80Qa-\x1Ea(\xF2\x82a(\xADV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-=W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x99W\x80\x85\x8A\x03\x12\x15a-ZW`\0\x80\x81\xFD[a-ba&aV[\x85Qa-m\x81a\"8V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-\x86\x81a\"8V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-BV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x12CWa\x12Ca,iV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\"\xBE`@\x83\x01\x84a#\xFDV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa.\x1F\x81`\x16\x85\x01` \x88\x01a#$V[\x83Q\x90\x83\x01\x90a.6\x81`\x16\x84\x01` \x88\x01a#$V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a.r\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xB3`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xE8\x81\x84\x01\x86a#HV[\x90P\x82\x81\x03a\x01 \x84\x01Ra.\xFD\x81\x85a#HV[\x99\x98PPPPPPPPPV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 \x01W\xF6@\xB2\xA3d\x16\x95\x13\x82>\x9B\xC0N\x14\x03\xE4\x05\xF2Y>\xFBJ(\xBEM\xF1\x9BW\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$@V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xEEV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%0V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xC9V[a\x06\x83V[a\0\xB9a\x01l6`\x04a%\xEDV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xC9V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&YV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB1V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)\"V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B`V[a\x04\xB5\x81a\x0B\xB1V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB1V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&YV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B`V[a\x08\x86\x81a\x0B\xB1V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)`V[\x81\x01\x90a\n|\x91\x90a-,V[\x80Q` \x81\x01Q`@\x90\x91\x01Q\x91\x92Pa\n\x95\x91a\r\x04V[`\0a\n\xA0\x82a\x0E\x17V[\x90Pa\n\xAC\x81\x83a\x10eV[`\0a\n\xBB\x83``\x01Qa\x11\xC7V[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE9\x83\x86`\x80\x01Qa\x12\x1C\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x05\x83\x86`\xA0\x01Qa\x13\x1B\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x1A\x91\x90a)`V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x81Wa\x0B\x81a&YV[` \x02` \x01\x01Q\x90Pa\x0B\x94\x81a\x14\0V[a\x0B\x9E\x813a\x18\xF0V[a\x0B\xA8\x813a\x19\xE9V[P`\x01\x01a\x0BeV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF3W`\0\x83\x82\x81Q\x81\x10a\x0B\xD2Wa\x0B\xD2a&YV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CSW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\tWa\x0C\ta&YV[` \x02` \x01\x01Q\x90Pa\x0CJ\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D#\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE9V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9CWa\x0C\x9Ca&YV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE1\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB6V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1DjV[`@Q\x7FO\xE0+D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`\x08\x83\x90\x1C`$\x83\x01\x81\x90R\x91`\x01`\xFF\x85\x16\x1B\x91`\0\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90cO\xE0+D\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xAAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xCE\x91\x90a.-V[\x90P\x81\x81\x18\x80\x83\x16`\0\x03a\x0E\x0FW`@Q\x7F\xEE;=K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`@Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R`\0\x90`\xB4\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\xC0\x83\x01\x90\x91R`\x8D\x80\x83R\x90\x91\x90a23` \x83\x019`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919`@Q` \x01a\x0F\xB1\x94\x93\x92\x91\x90a.FV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0F\xD4\x83`\0\x01Qa\x1E\x04V[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x0F\xF0\x87`\x80\x01Qa\x1E\x9EV[a\x0F\xFD\x88`\xA0\x01Qa\x1F\x05V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x80Q``\x01QB\x11\x15a\x10\xA4W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q` \x82\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x80\x15\x90a\x10\xD1WP\x80C\x10[\x80\x15a\x10\xE1WP`\xC0\x82\x01QQ\x81\x11[\x15a\x11\x0BW` \x82\x01Qa\x11\x03\x90a\x10\xF9\x84\x86a\x1F\xA3V[\x84`\xE0\x01Qa \x1AV[P`\xC0\x81\x01QQ[\x80C\x10\x15a\x11EW`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x82\x01Q`@\x01Q\x15a\x03_W`\0[\x82`\xA0\x01QQ\x81\x10\x15a\x06}W`\0\x83`\xA0\x01Q\x82\x81Q\x81\x10a\x11{Wa\x11{a&YV[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x11\xBFW`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x11VV[`\0H:\x10\x15a\x12\x03W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x12\x13W\x03\x90V[P`\0[\x91\x90PV[a\x12V`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x12h\x91\x90a.\xCCV[\x90Pb\x98\x96\x80\x81\x10a\x12\xB6W`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x13\x15V[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x82\x15a\x13\0W` \x86\x01Qa\x12\xFB\x90b\x98\x96\x80\x85\x81\x03\x90a!BV[a\x13\x06V[\x85` \x01Q[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x139Wa\x139a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xA2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13WW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13\xF8Wa\x13\xD3\x85\x82\x81Q\x81\x10a\x13\xC5Wa\x13\xC5a&YV[` \x02` \x01\x01Q\x85a!~V[\x83\x82\x81Q\x81\x10a\x13\xE5Wa\x13\xE5a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13\xA8V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x14 WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x14w\x90\x85\x90`\x04\x01a.\xE3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\xDA\x91\x90\x81\x01\x90a.\xF6V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\xF2\x82\x84a/\xC6V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15\nWa\x15\na&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15sW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15(W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x15\xC4W\x85`@\x01Q\x81\x81Q\x81\x10a\x15\x97Wa\x15\x97a&YV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x15\xB1Wa\x15\xB1a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x15yV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\xDFW`\0\x87\x82\x81Q\x81\x10a\x15\xE7Wa\x15\xE7a&YV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x16\xA5W\x88\x81\x81Q\x81\x10a\x16\x0EWa\x16\x0Ea&YV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x9DW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\xF4V[P`\0\x80[\x88\x81\x10\x15a\x17fW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x16\xCAWa\x16\xCAa&YV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17]W\x85\x15a\x17GW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x17V\x90\x84a/\xC6V[\x92P`\x01\x96P[P`\x01\x01a\x16\xAAV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\xDFW\x84\x15a\x17\xC6W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x17\xD8\x90\x82a/\xC6V[\x90P`\x01\x93P[\x80`\0\x03a\x184W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x18B\x81`\x05a'\x10a!BV[\x82` \x01Q\x11\x15a\x18\xB5W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x18\xCAWa\x18\xCAa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x15\xCBV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x19AW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x19\xBD\x90\x84\x90\x86\x90`\x04\x01a/\xD9V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x19\xD5W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1A\xA9\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@\x80Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R\x81Q`\x94\x81\x83\x03\x01\x81Ra\x014\x82\x01\x90\x92R`[`\xB4\x82\x01\x81\x81R\x91a2\xC0\x90`\xD4\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\x05`.\x919`@Q` \x01a\x1C\x88\x95\x94\x93\x92\x91\x90a0\x08V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1C\xF5\x96\x95\x94\x93\x92`\x04\x01a0\xA3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1D\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1DHWa\x03_\x82\x82a\x1DjV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"2V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1D\xC4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1D\xC9V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10H\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\x10H\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F%Wa\x1F%a&*V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1FOW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1F\x94W`\0a\x1F\x82\x85\x83\x81Q\x81\x10a\x1FuWa\x1Fua&YV[` \x02` \x01\x01Qa#$V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1FUV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x81F\x84`\xC0\x01Q`@Q` \x01a\x1F\xBF\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1F\xFC\x93\x92\x91` \x01a1kV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a 1\x91\x90a1\x98V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a JWa Ja&YV[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a \xA7W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a!\x02WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a!9W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a!wW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@\x80Q``\x81\x01\x82R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x90\x84\x01Q` \x82\x01\x90\x15a\"\x01Wa!\xFC\x85`@\x01Q\x85a!\xE0\x91\x90a.\xCCV[a!\xED\x90b\x98\x96\x80a/\xC6V[` \x87\x01Q\x90b\x98\x96\x80a#\x9BV[a\"\x07V[\x84` \x01Q[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10H\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a#\xD0W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xF1W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\tW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$!W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$UW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$mW`\0\x80\xFD[a$y\x87\x83\x88\x01a#\xDFV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x8FW`\0\x80\xFD[Pa$\x9C\x86\x82\x87\x01a#\xF7V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xBBW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xD3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x01W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x18W`\0\x80\xFD[a%$\x85\x82\x86\x01a$\xA9V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%FW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%^W`\0\x80\xFD[a%j\x88\x83\x89\x01a$\xA9V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x83W`\0\x80\xFD[Pa%\x90\x87\x82\x88\x01a#\xF7V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x12\x17\x81a%\x9CV[`\0` \x82\x84\x03\x12\x15a%\xDBW`\0\x80\xFD[\x815a%\xE6\x81a%\x9CV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\xFFW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x16W`\0\x80\xFD[a&\"\x84\x82\x85\x01a#\xDFV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xA3W\x81\x81\x01Q\x83\x82\x01R` \x01a&\x8BV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xC4\x81` \x86\x01` \x86\x01a&\x88V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'VW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x0BV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xD5a\x01\xA0\x85\x01\x82a&\xACV[\x90P` \x83\x01Qa(\x13` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(+\x82\x82a&\xF6V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(E\x82\x82a&\xACV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xD1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xBF\x86\x83Qa'aV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x85V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)VW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\x95W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xB0W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$9W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*|Wa*|a&*V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xAFWa*\xAFa&*V[a*\xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+$W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a+HWa+Ha&*V[\x81`@R\x82\x93P\x845\x91Pa+\\\x82a%\x9CV[\x90\x82R` \x84\x015\x90a+n\x82a%\x9CV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa+\x98\x82a%\x9CV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a+\xB2W`\0\x80\xFD[Pa+\xBF\x85\x82\x86\x01a*\x84V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xDEW`\0\x80\xFD[a+\xE6a)\xC5V[\x90P\x815a+\xF3\x81a%\x9CV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,+Wa,+a&*V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,FW`\0\x80\xFD[\x815` a,[a,V\x83a,\x11V[a*5V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,zW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xDFW`\x80\x81\x89\x03\x12\x15a,\x97W`\0\x80\x81\xFD[a,\x9Fa)\xEEV[\x815a,\xAA\x81a%\x9CV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xCD\x81a%\x9CV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,~V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\xFCW`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a-\x1FWa-\x1Fa&*V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a->W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-VW`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a-kW`\0\x80\xFD[a-sa*\x11V[\x825\x82\x81\x11\x15a-\x82W`\0\x80\xFD[a-\x8E\x87\x82\x86\x01a+\x12V[\x82RPa-\x9D` \x84\x01a%\xBEV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra-\xC3\x86`\x80\x85\x01a+\xCCV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a-\xDAW`\0\x80\xFD[a-\xE6\x87\x82\x86\x01a,5V[`\xA0\x83\x01RPa-\xFA\x86a\x01\0\x85\x01a,\xEAV[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a.\x12W`\0\x80\xFD[a.\x1E\x87\x82\x86\x01a*\x84V[`\xE0\x83\x01RP\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a.?W`\0\x80\xFD[PQ\x91\x90PV[`\0\x85Qa.X\x81\x84` \x8A\x01a&\x88V[\x85Q\x90\x83\x01\x90a.l\x81\x83` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a.\x7F\x81\x83` \x89\x01a&\x88V[\x84Q\x91\x01\x90a.\x92\x81\x83` \x88\x01a&\x88V[\x01\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x13\x15Wa\x13\x15a.\x9DV[` \x81R`\0a%\xE6` \x83\x01\x84a'aV[`\0` \x80\x83\x85\x03\x12\x15a/\tW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/ W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/1W`\0\x80\xFD[\x80Qa/?a,V\x82a,\x11V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/^W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xBAW\x80\x85\x8A\x03\x12\x15a/{W`\0\x80\x81\xFD[a/\x83a)\xC5V[\x85Qa/\x8E\x81a%\x9CV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xA7\x81a%\x9CV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/cV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x13\x15Wa\x13\x15a.\x9DV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a&\"`@\x83\x01\x84a'aV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x16\x87Qa0A\x81\x83\x86\x01` \x8C\x01a&\x88V[\x87Q\x90\x84\x01\x90a0W\x81\x84\x84\x01` \x8C\x01a&\x88V[\x87Q\x91\x01\x90a0l\x81\x84\x84\x01` \x8B\x01a&\x88V[\x86Q\x91\x01\x90a0\x81\x81\x84\x84\x01` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a0\x96\x81\x84\x84\x01` \x89\x01a&\x88V[\x01\x01\x97\x96PPPPPPPV[`\0a\x01@a0\xD3\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x14`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1I\x81\x84\x01\x86a&\xACV[\x90P\x82\x81\x03a\x01 \x84\x01Ra1^\x81\x85a&\xACV[\x99\x98PPPPPPPPPV[\x83\x81R\x82` \x82\x01R`\0\x82Qa1\x89\x81`@\x85\x01` \x87\x01a&\x88V[\x91\x90\x91\x01`@\x01\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a1\xABW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 5>J\x9C\x8A\xF3,\xE6{]\xE3:\xAE\xCB_\xAE\x19\x8FF\x18\xEDv\xC7\xF0\xECf\xD0\x8D\xF4@&[dsolcC\0\x08\x18\x003"; /// The bytecode of the contract. pub static PRIORITYORDERREACTOR_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __BYTECODE, ); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a \xDCV[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a!\x8AV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a!\xCCV[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\"eV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\"\x89V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\"eV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xAFV[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a%\xBEV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B^V[a\x04\xB5\x81a\x0B\xAFV[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa\"\xF5V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B^V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a$\xF8V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xAFV[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia\"\xF5V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B^V[a\x08\x86\x81a\x0B\xAFV[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a%\xFCV[\x81\x01\x90a\n|\x91\x90a)\xC8V[\x90P`\0a\n\x89\x82a\r\x02V[\x90P\x81`@\x01QC\x10\x15a\n\xA1Wa\n\xA1\x81\x83a\x0E\x15V[a\n\xAA\x82a\x0F\xFEV[`\0a\n\xB9\x83``\x01Qa\x10\xFDV[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE7\x83\x86`\x80\x01Qa\x11R\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x03\x83\x86`\xA0\x01Qa\x12I\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x18\x91\x90a%\xFCV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x7FWa\x0B\x7Fa\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0B\x92\x81a\x13.V[a\x0B\x9C\x813a\x18\x1EV[a\x0B\xA6\x813a\x19\x17V[P`\x01\x01a\x0BcV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF1W`\0\x83\x82\x81Q\x81\x10a\x0B\xD0Wa\x0B\xD0a\"\xF5V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CQW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\x07Wa\x0C\x07a\"\xF5V[` \x02` \x01\x01Q\x90Pa\x0CH\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1Bp\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE7V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9AWa\x0C\x9Aa\"\xF5V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xDF\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB4V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1B\xB7V[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\ra\x93\x92\x91\x90a*\xC9V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\r\x84\x83`\0\x01Qa\x1CQV[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\r\xA0\x87`\x80\x01Qa\x1C\xEBV[a\r\xAD\x88`\xA0\x01Qa\x1DRV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\xC0\x81\x01QQ`\0\x03a\x0E&WPPV[`@\x81\x01Q`\xC0\x82\x01QQ\x10\x15a\x0ECW`\xC0\x81\x01QQ`@\x82\x01R[`\0\x80\x82`\xE0\x01Q\x80` \x01\x90Q\x81\x01\x90a\x0E^\x91\x90a,\x1FV[\x91P\x91P`\0\x83`\xE0\x01Q`@\x81Q\x81\x10a\x0E{Wa\x0E{a\"\xF5V[` \x01\x01Q`\xF8\x1C`\xF8\x1B`\xF8\x1C\x90P`\0`\x01\x86\x86`\xC0\x01Q`@Q` \x01a\x0E\xA8\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0E\xE4\x92\x91` \x01a,CV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x85\x16\x90\x82\x01R``\x81\x01\x86\x90R`\x80\x81\x01\x85\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x0F`W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a\x0F\xBFWPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a\x0F\xF6W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[\x80Q``\x01QB\x11\x15a\x10=W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81`@\x01Q\x11\x15a\x10{W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x81\x01Q`@\x01Q\x15a\x08\x91W`\0[\x81`\xA0\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82`\xA0\x01Q\x82\x81Q\x81\x10a\x10\xB1Wa\x10\xB1a\"\xF5V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x10\xF5W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x10\x8CV[`\0H:\x10\x15a\x119W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x11IW\x03\x90V[P`\0[\x91\x90PV[a\x11\x8C`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x11\x9E\x91\x90a,\x98V[\x90Pb\x98\x96\x80\x81\x10a\x11\xECW`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x12CV[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01a\x124a\x12%\x84b\x98\x96\x80a,\xAFV[` \x88\x01Q\x90b\x98\x96\x80a\x1D\xF0V[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x12gWa\x12ga\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x12\xD0W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x12\x85W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13&Wa\x13\x01\x85\x82\x81Q\x81\x10a\x12\xF3Wa\x12\xF3a\"\xF5V[` \x02` \x01\x01Q\x85a\x1E,V[\x83\x82\x81Q\x81\x10a\x13\x13Wa\x13\x13a\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x12\xD6V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x13NWPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x13\xA5\x90\x85\x90`\x04\x01a,\xC2V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x13\xC2W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\x08\x91\x90\x81\x01\x90a,\xD5V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14 \x82\x84a-\xA5V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x148Wa\x148a\"\xC6V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x14\xA1W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x14VW\x90P[P\x90P`\0[\x83\x81\x10\x15a\x14\xF2W\x85`@\x01Q\x81\x81Q\x81\x10a\x14\xC5Wa\x14\xC5a\"\xF5V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x14\xDFWa\x14\xDFa\"\xF5V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x14\xA7V[P`\0\x80`\0[\x84\x81\x10\x15a\x18\rW`\0\x87\x82\x81Q\x81\x10a\x15\x15Wa\x15\x15a\"\xF5V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x15\xD3W\x88\x81\x81Q\x81\x10a\x15=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x19\xD7\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919`@Q` \x01a\x1A\x82\x93\x92\x91\x90a*\xC9V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a/S` \x83\x019`@Q` \x01a\x1A\xD5\x92\x91\x90a-\xE7V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1BB\x96\x95\x94\x93\x92`\x04\x01a.BV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1B\\W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0F\xF6W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1B\x95Wa\x03_\x82\x82a\x1B\xB7V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1E\xCEV[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1C\x11W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1C\x16V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a/\x81`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\r\xF8\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a/\x0B`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\r\xF8\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1DrWa\x1Dra\"\xC6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1D\x9CW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1D\xE1W`\0a\x1D\xCF\x85\x83\x81Q\x81\x10a\x1D\xC2Wa\x1D\xC2a\"\xF5V[` \x02` \x01\x01Qa\x1F\xC0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1D\xA2V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1E%W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1E\xA3\x85`@\x01Q\x85a\x1E\x87\x91\x90a,\x98V[a\x1E\x94\x90b\x98\x96\x80a-\xA5V[` \x87\x01Q\x90b\x98\x96\x80a 7V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1F\xB9W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a0\x0E`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\r\xF8\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a lW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a \x8DW`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a \xA5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a \xBDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a \xF1W`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\tW`\0\x80\xFD[a!\x15\x87\x83\x88\x01a {V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a!+W`\0\x80\xFD[Pa!8\x86\x82\x87\x01a \x93V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a!WW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!oW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a \xD5W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a!\x9DW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a!\xB4W`\0\x80\xFD[a!\xC0\x85\x82\x86\x01a!EV[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a!\xE2W`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a!\xFAW`\0\x80\xFD[a\"\x06\x88\x83\x89\x01a!EV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\"\x1FW`\0\x80\xFD[Pa\",\x87\x82\x88\x01a \x93V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x11M\x81a\"8V[`\0` \x82\x84\x03\x12\x15a\"wW`\0\x80\xFD[\x815a\"\x82\x81a\"8V[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\"\x9BW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\"\xB2W`\0\x80\xFD[a\"\xBE\x84\x82\x85\x01a {V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a#?W\x81\x81\x01Q\x83\x82\x01R` \x01a#'V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra#`\x81` \x86\x01` \x86\x01a#$V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a#\xF2W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a#\xA7V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra$qa\x01\xA0\x85\x01\x82a#HV[\x90P` \x83\x01Qa$\xAF` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra$\xC7\x82\x82a#\x92V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra$\xE1\x82\x82a#HV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a%mW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra%[\x86\x83Qa#\xFDV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a%!V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a%\xF2W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a&1W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a&LW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a \xD5W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a&\x84Wa&\x84a\"\xC6V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a'\x18Wa'\x18a\"\xC6V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a'1W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a'KWa'Ka\"\xC6V[a'|` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a&\xD1V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a'\x91W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a'\xC0W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a'\xE4Wa'\xE4a\"\xC6V[\x81`@R\x82\x93P\x845\x91Pa'\xF8\x82a\"8V[\x90\x82R` \x84\x015\x90a(\n\x82a\"8V[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa(4\x82a\"8V[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a(NW`\0\x80\xFD[Pa([\x85\x82\x86\x01a' V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a(zW`\0\x80\xFD[a(\x82a&aV[\x90P\x815a(\x8F\x81a\"8V[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a(\xC7Wa(\xC7a\"\xC6V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a(\xE2W`\0\x80\xFD[\x815` a(\xF7a(\xF2\x83a(\xADV[a&\xD1V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a)\x16W`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a){W`\x80\x81\x89\x03\x12\x15a)3W`\0\x80\x81\xFD[a);a&\x8AV[\x815a)F\x81a\"8V[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a)i\x81a\"8V[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a)\x1AV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a)\x98W`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a)\xBBWa)\xBBa\"\xC6V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a)\xDAW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a)\xF2W`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a*\x07W`\0\x80\xFD[a*\x0Fa&\xADV[\x825\x82\x81\x11\x15a*\x1EW`\0\x80\xFD[a**\x87\x82\x86\x01a'\xAEV[\x82RPa*9` \x84\x01a\"ZV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra*_\x86`\x80\x85\x01a(hV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a*vW`\0\x80\xFD[a*\x82\x87\x82\x86\x01a(\xD1V[`\xA0\x83\x01RPa*\x96\x86a\x01\0\x85\x01a)\x86V[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a*\xAEW`\0\x80\xFD[a*\xBA\x87\x82\x86\x01a' V[`\xE0\x83\x01RP\x95\x94PPPPPV[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`.\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`H\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`g\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`{\x82\x01R`\0\x84Qa+\xE5\x81`\x94\x85\x01` \x89\x01a#$V[\x84Q\x90\x83\x01\x90a+\xFC\x81`\x94\x84\x01` \x89\x01a#$V[\x84Q\x91\x01\x90a,\x12\x81`\x94\x84\x01` \x88\x01a#$V[\x01`\x94\x01\x95\x94PPPPPV[`\0\x80`@\x83\x85\x03\x12\x15a,2W`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV[\x82\x81R`\0\x82Qa,[\x81` \x85\x01` \x87\x01a#$V[\x91\x90\x91\x01` \x01\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x12CWa\x12Ca,iV[\x81\x81\x03\x81\x81\x11\x15a\x12CWa\x12Ca,iV[` \x81R`\0a\"\x82` \x83\x01\x84a#\xFDV[`\0` \x80\x83\x85\x03\x12\x15a,\xE8W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a,\xFFW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a-\x10W`\0\x80\xFD[\x80Qa-\x1Ea(\xF2\x82a(\xADV[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a-=W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a-\x99W\x80\x85\x8A\x03\x12\x15a-ZW`\0\x80\x81\xFD[a-ba&aV[\x85Qa-m\x81a\"8V[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa-\x86\x81a\"8V[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a-BV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x12CWa\x12Ca,iV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\"\xBE`@\x83\x01\x84a#\xFDV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa.\x1F\x81`\x16\x85\x01` \x88\x01a#$V[\x83Q\x90\x83\x01\x90a.6\x81`\x16\x84\x01` \x88\x01a#$V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a.r\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra.\xB3`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra.\xE8\x81\x84\x01\x86a#HV[\x90P\x82\x81\x03a\x01 \x84\x01Ra.\xFD\x81\x85a#HV[\x99\x98PPPPPPPPPV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 \x01W\xF6@\xB2\xA3d\x16\x95\x13\x82>\x9B\xC0N\x14\x03\xE4\x05\xF2Y>\xFBJ(\xBEM\xF1\x9BW\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a$@V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a$\xEEV[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a%0V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a%\xC9V[a\x06\x83V[a\0\xB9a\x01l6`\x04a%\xEDV[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a%\xC9V[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a&YV[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\xB1V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a)\"V[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B`V[a\x04\xB5\x81a\x0B\xB1V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa&YV[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B`V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a(\\V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\xB1V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia&YV[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B`V[a\x08\x86\x81a\x0B\xB1V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a)`V[\x81\x01\x90a\n|\x91\x90a-,V[\x80Q` \x81\x01Q`@\x90\x91\x01Q\x91\x92Pa\n\x95\x91a\r\x04V[`\0a\n\xA0\x82a\x0E\x17V[\x90Pa\n\xAC\x81\x83a\x10eV[`\0a\n\xBB\x83``\x01Qa\x11\xC7V[\x90P`@Q\x80`\xA0\x01`@R\x80\x84`\0\x01Q\x81R` \x01a\n\xE9\x83\x86`\x80\x01Qa\x12\x1C\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\x0B\x05\x83\x86`\xA0\x01Qa\x13\x1B\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x86\x80` \x01\x90a\x0B\x1A\x91\x90a)`V[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01\x92\x90\x92RP\x93\x92PPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B\x81Wa\x0B\x81a&YV[` \x02` \x01\x01Q\x90Pa\x0B\x94\x81a\x14\0V[a\x0B\x9E\x813a\x18\xF0V[a\x0B\xA8\x813a\x19\xE9V[P`\x01\x01a\x0BeV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xF3W`\0\x83\x82\x81Q\x81\x10a\x0B\xD2Wa\x0B\xD2a&YV[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0CSW`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0C\tWa\x0C\ta&YV[` \x02` \x01\x01Q\x90Pa\x0CJ\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x1D#\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xE9V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C\x9CWa\x0C\x9Ca&YV[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xE1\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\xB6V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x1DjV[`@Q\x7FO\xE0+D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16`\x04\x83\x01R`\x08\x83\x90\x1C`$\x83\x01\x81\x90R\x91`\x01`\xFF\x85\x16\x1B\x91`\0\x91\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90\x91\x16\x90cO\xE0+D\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\r\xAAW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r\xCE\x91\x90a.-V[\x90P\x81\x81\x18\x80\x83\x16`\0\x03a\x0E\x0FW`@Q\x7F\xEE;=K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPV[`@Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R`\0\x90`\xB4\x01`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R`\xC0\x83\x01\x90\x91R`\x8D\x80\x83R\x90\x91\x90a23` \x83\x019`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919`@Q` \x01a\x0F\xB1\x94\x93\x92\x91\x90a.FV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x0F\xD4\x83`\0\x01Qa\x1E\x04V[\x83` \x01Q\x84`@\x01Q\x85``\x01Qa\x0F\xF0\x87`\x80\x01Qa\x1E\x9EV[a\x0F\xFD\x88`\xA0\x01Qa\x1F\x05V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x93\x16``\x86\x01R`\x80\x85\x01\x91\x90\x91R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[\x80Q``\x01QB\x11\x15a\x10\xA4W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x81\x01Q` \x82\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15\x80\x15\x90a\x10\xD1WP\x80C\x10[\x80\x15a\x10\xE1WP`\xC0\x82\x01QQ\x81\x11[\x15a\x11\x0BW` \x82\x01Qa\x11\x03\x90a\x10\xF9\x84\x86a\x1F\xA3V[\x84`\xE0\x01Qa \x1AV[P`\xC0\x81\x01QQ[\x80C\x10\x15a\x11EW`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x80\x82\x01Q`@\x01Q\x15a\x03_W`\0[\x82`\xA0\x01QQ\x81\x10\x15a\x06}W`\0\x83`\xA0\x01Q\x82\x81Q\x81\x10a\x11{Wa\x11{a&YV[` \x02` \x01\x01Q`@\x01Q\x11\x15a\x11\xBFW`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\x11VV[`\0H:\x10\x15a\x12\x03W`@Q\x7F\xF3\xEBD\xE5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PH:\x03\x81\x81\x11\x15a\x12\x13W\x03\x90V[P`\0[\x91\x90PV[a\x12V`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[`\0\x83`@\x01Q\x83a\x12h\x91\x90a.\xCCV[\x90Pb\x98\x96\x80\x81\x10a\x12\xB6W`@Q\x80``\x01`@R\x80\x85`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x85` \x01Q\x81RP\x91PPa\x13\x15V[`@\x80Q``\x81\x01\x90\x91R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x81\x01\x82\x15a\x13\0W` \x86\x01Qa\x12\xFB\x90b\x98\x96\x80\x85\x81\x03\x90a!BV[a\x13\x06V[\x85` \x01Q[\x81R` \x86\x81\x01Q\x91\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x139Wa\x139a&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x13\xA2W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x13WW\x90P[P\x91P`\0[\x81\x81\x10\x15a\x13\xF8Wa\x13\xD3\x85\x82\x81Q\x81\x10a\x13\xC5Wa\x13\xC5a&YV[` \x02` \x01\x01Q\x85a!~V[\x83\x82\x81Q\x81\x10a\x13\xE5Wa\x13\xE5a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x13\xA8V[PP\x92\x91PPV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x14 WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x14w\x90\x85\x90`\x04\x01a.\xE3V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x14\x94W=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x14\xDA\x91\x90\x81\x01\x90a.\xF6V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x14\xF2\x82\x84a/\xC6V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x15\nWa\x15\na&*V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x15sW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x15(W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x15\xC4W\x85`@\x01Q\x81\x81Q\x81\x10a\x15\x97Wa\x15\x97a&YV[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x15\xB1Wa\x15\xB1a&YV[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x15yV[P`\0\x80`\0[\x84\x81\x10\x15a\x18\xDFW`\0\x87\x82\x81Q\x81\x10a\x15\xE7Wa\x15\xE7a&YV[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x16\xA5W\x88\x81\x81Q\x81\x10a\x16\x0EWa\x16\x0Ea&YV[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x16\x9DW\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x15\xF4V[P`\0\x80[\x88\x81\x10\x15a\x17fW`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x16\xCAWa\x16\xCAa&YV[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x17]W\x85\x15a\x17GW`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x17V\x90\x84a/\xC6V[\x92P`\x01\x96P[P`\x01\x01a\x16\xAAV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x17\xDFW\x84\x15a\x17\xC6W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x17\xD8\x90\x82a/\xC6V[\x90P`\x01\x93P[\x80`\0\x03a\x184W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x18B\x81`\x05a'\x10a!BV[\x82` \x01Q\x11\x15a\x18\xB5W\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x18\xCAWa\x18\xCAa&YV[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x15\xCBV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x19AW`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x19\xBD\x90\x84\x90\x86\x90`\x04\x01a/\xD9V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x19\xD5W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x1A\xA9\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919`@\x80Q\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0` \x82\x01R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`.\x82\x01R\x7Faddress cosigner,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`=\x82\x01R\x7Fuint256 auctionStartBlock,\0\0\0\0\0\0`N\x82\x01R\x7Fuint256 baselinePriorityFeeWei,\0`h\x82\x01R\x7FPriorityInput input,\0\0\0\0\0\0\0\0\0\0\0\0`\x87\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`\x9B\x82\x01R\x81Q`\x94\x81\x83\x03\x01\x81Ra\x014\x82\x01\x90\x92R`[`\xB4\x82\x01\x81\x81R\x91a2\xC0\x90`\xD4\x019`@Q\x80``\x01`@R\x80`.\x81R` \x01a2\x05`.\x919`@Q` \x01a\x1C\x88\x95\x94\x93\x92\x91\x90a0\x08V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x1C\xF5\x96\x95\x94\x93\x92`\x04\x01a0\xA3V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x1D\x0FW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x0E\x0FW=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x1DHWa\x03_\x82\x82a\x1DjV[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\"2V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x1D\xC4W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x1D\xC9V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a23`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10H\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`H\x81R` \x01a1\xBD`H\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q\x90Qa\x10H\x95\x01\x93\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16` \x84\x01R`@\x83\x01R``\x82\x01R`\x80\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F%Wa\x1F%a&*V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1FOW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1F\x94W`\0a\x1F\x82\x85\x83\x81Q\x81\x10a\x1FuWa\x1Fua&YV[` \x02` \x01\x01Qa#$V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1FUV[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0\x81F\x84`\xC0\x01Q`@Q` \x01a\x1F\xBF\x91Q\x81R` \x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x1F\xFC\x93\x92\x91` \x01a1kV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x92\x91PPV[`\0\x80\x82\x80` \x01\x90Q\x81\x01\x90a 1\x91\x90a1\x98V[\x91P\x91P`\0\x83`@\x81Q\x81\x10a JWa Ja&YV[\x01` \x90\x81\x01Q`@\x80Q`\0\x80\x82R\x93\x81\x01\x80\x83R\x89\x90R`\xF8\x92\x90\x92\x1C\x90\x82\x01\x81\x90R``\x82\x01\x86\x90R`\x80\x82\x01\x85\x90R\x92P`\x01\x90`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a \xA7W=`\0\x80>=`\0\xFD[PPP` `@Q\x03Q\x90P\x80s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14\x15\x80a!\x02WPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15[\x15a!9W`@Q\x7F\xD7\x81[\xE1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[PPPPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a!wW`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@\x80Q``\x81\x01\x82R\x84Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R\x90\x84\x01Q` \x82\x01\x90\x15a\"\x01Wa!\xFC\x85`@\x01Q\x85a!\xE0\x91\x90a.\xCCV[a!\xED\x90b\x98\x96\x80a/\xC6V[` \x87\x01Q\x90b\x98\x96\x80a#\x9BV[a\"\x07V[\x84` \x01Q[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a#\x1DW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a2\xC0`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10H\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a#\xD0W`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@\x82\x84\x03\x12\x15a#\xF1W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a$\tW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$!W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a$UW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a$mW`\0\x80\xFD[a$y\x87\x83\x88\x01a#\xDFV[\x94P` \x86\x015\x91P\x80\x82\x11\x15a$\x8FW`\0\x80\xFD[Pa$\x9C\x86\x82\x87\x01a#\xF7V[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a$\xBBW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$\xD3W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a$9W`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a%\x01W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a%\x18W`\0\x80\xFD[a%$\x85\x82\x86\x01a$\xA9V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a%FW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a%^W`\0\x80\xFD[a%j\x88\x83\x89\x01a$\xA9V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a%\x83W`\0\x80\xFD[Pa%\x90\x87\x82\x88\x01a#\xF7V[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[\x805a\x12\x17\x81a%\x9CV[`\0` \x82\x84\x03\x12\x15a%\xDBW`\0\x80\xFD[\x815a%\xE6\x81a%\x9CV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a%\xFFW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a&\x16W`\0\x80\xFD[a&\"\x84\x82\x85\x01a#\xDFV[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a&\xA3W\x81\x81\x01Q\x83\x82\x01R` \x01a&\x8BV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra&\xC4\x81` \x86\x01` \x86\x01a&\x88V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a'VW\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a'\x0BV[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra'\xD5a\x01\xA0\x85\x01\x82a&\xACV[\x90P` \x83\x01Qa(\x13` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra(+\x82\x82a&\xF6V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra(E\x82\x82a&\xACV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a(\xD1W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra(\xBF\x86\x83Qa'aV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a(\x85V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a)VW`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a)\x95W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a)\xB0W`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a$9W`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Qa\x01\0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a)\xE8Wa)\xE8a&*V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a*|Wa*|a&*V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a*\x95W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a*\xAFWa*\xAFa&*V[a*\xE0` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a*5V[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a*\xF5W`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0`\xC0\x82\x84\x03\x12\x15a+$W`\0\x80\xFD[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a+HWa+Ha&*V[\x81`@R\x82\x93P\x845\x91Pa+\\\x82a%\x9CV[\x90\x82R` \x84\x015\x90a+n\x82a%\x9CV[\x81` \x84\x01R`@\x85\x015`@\x84\x01R``\x85\x015``\x84\x01R`\x80\x85\x015\x91Pa+\x98\x82a%\x9CV[\x81`\x80\x84\x01R`\xA0\x85\x015\x91P\x80\x82\x11\x15a+\xB2W`\0\x80\xFD[Pa+\xBF\x85\x82\x86\x01a*\x84V[`\xA0\x83\x01RPP\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a+\xDEW`\0\x80\xFD[a+\xE6a)\xC5V[\x90P\x815a+\xF3\x81a%\x9CV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a,+Wa,+a&*V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a,FW`\0\x80\xFD[\x815` a,[a,V\x83a,\x11V[a*5V[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a,zW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a,\xDFW`\x80\x81\x89\x03\x12\x15a,\x97W`\0\x80\x81\xFD[a,\x9Fa)\xEEV[\x815a,\xAA\x81a%\x9CV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a,\xCD\x81a%\x9CV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a,~V[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a,\xFCW`\0\x80\xFD[`@Q` \x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a-\x1FWa-\x1Fa&*V[`@R\x915\x82RP\x91\x90PV[`\0` \x82\x84\x03\x12\x15a->W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-VW`\0\x80\xFD[\x90\x83\x01\x90a\x01@\x82\x86\x03\x12\x15a-kW`\0\x80\xFD[a-sa*\x11V[\x825\x82\x81\x11\x15a-\x82W`\0\x80\xFD[a-\x8E\x87\x82\x86\x01a+\x12V[\x82RPa-\x9D` \x84\x01a%\xBEV[` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01Ra-\xC3\x86`\x80\x85\x01a+\xCCV[`\x80\x82\x01R`\xE0\x83\x015\x82\x81\x11\x15a-\xDAW`\0\x80\xFD[a-\xE6\x87\x82\x86\x01a,5V[`\xA0\x83\x01RPa-\xFA\x86a\x01\0\x85\x01a,\xEAV[`\xC0\x82\x01Ra\x01 \x83\x015\x82\x81\x11\x15a.\x12W`\0\x80\xFD[a.\x1E\x87\x82\x86\x01a*\x84V[`\xE0\x83\x01RP\x95\x94PPPPPV[`\0` \x82\x84\x03\x12\x15a.?W`\0\x80\xFD[PQ\x91\x90PV[`\0\x85Qa.X\x81\x84` \x8A\x01a&\x88V[\x85Q\x90\x83\x01\x90a.l\x81\x83` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a.\x7F\x81\x83` \x89\x01a&\x88V[\x84Q\x91\x01\x90a.\x92\x81\x83` \x88\x01a&\x88V[\x01\x96\x95PPPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x13\x15Wa\x13\x15a.\x9DV[` \x81R`\0a%\xE6` \x83\x01\x84a'aV[`\0` \x80\x83\x85\x03\x12\x15a/\tW`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a/ W`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a/1W`\0\x80\xFD[\x80Qa/?a,V\x82a,\x11V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a/^W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a/\xBAW\x80\x85\x8A\x03\x12\x15a/{W`\0\x80\x81\xFD[a/\x83a)\xC5V[\x85Qa/\x8E\x81a%\x9CV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa/\xA7\x81a%\x9CV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a/cV[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x13\x15Wa\x13\x15a.\x9DV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a&\"`@\x83\x01\x84a'aV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x16\x87Qa0A\x81\x83\x86\x01` \x8C\x01a&\x88V[\x87Q\x90\x84\x01\x90a0W\x81\x84\x84\x01` \x8C\x01a&\x88V[\x87Q\x91\x01\x90a0l\x81\x84\x84\x01` \x8B\x01a&\x88V[\x86Q\x91\x01\x90a0\x81\x81\x84\x84\x01` \x8A\x01a&\x88V[\x85Q\x91\x01\x90a0\x96\x81\x84\x84\x01` \x89\x01a&\x88V[\x01\x01\x97\x96PPPPPPPV[`\0a\x01@a0\xD3\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra1\x14`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra1I\x81\x84\x01\x86a&\xACV[\x90P\x82\x81\x03a\x01 \x84\x01Ra1^\x81\x85a&\xACV[\x99\x98PPPPPPPPPV[\x83\x81R\x82` \x82\x01R`\0\x82Qa1\x89\x81`@\x85\x01` \x87\x01a&\x88V[\x91\x90\x91\x01`@\x01\x94\x93PPPPV[`\0\x80`@\x83\x85\x03\x12\x15a1\xABW`\0\x80\xFD[PP\x80Q` \x90\x91\x01Q\x90\x92\x90\x91PV\xFEPriorityInput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei)TokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 5>J\x9C\x8A\xF3,\xE6{]\xE3:\xAE\xCB_\xAE\x19\x8FF\x18\xEDv\xC7\xF0\xECf\xD0\x8D\xF4@&[dsolcC\0\x08\x18\x003"; /// The deployed bytecode of the contract. pub static PRIORITYORDERREACTOR_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( __DEPLOYED_BYTECODE, @@ -878,6 +887,21 @@ pub mod priority_order_reactor { )] #[etherror(name = "NativeTransferFailed", abi = "NativeTransferFailed()")] pub struct NativeTransferFailed; + ///Custom Error type `OrderAlreadyFilled` with signature `OrderAlreadyFilled()` and selector `0xee3b3d4b` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + serde::Serialize, + serde::Deserialize, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[etherror(name = "OrderAlreadyFilled", abi = "OrderAlreadyFilled()")] + pub struct OrderAlreadyFilled; ///Custom Error type `OrderNotFillable` with signature `OrderNotFillable()` and selector `0xc6035520` #[derive( Clone, @@ -915,6 +939,7 @@ pub mod priority_order_reactor { InvalidGasPrice(InvalidGasPrice), InvalidReactor(InvalidReactor), NativeTransferFailed(NativeTransferFailed), + OrderAlreadyFilled(OrderAlreadyFilled), OrderNotFillable(OrderNotFillable), /// The standard solidity revert string, with selector /// Error(string) -- 0x08c379a0 @@ -980,6 +1005,11 @@ pub mod priority_order_reactor { ) { return Ok(Self::NativeTransferFailed(decoded)); } + if let Ok(decoded) = ::decode( + data, + ) { + return Ok(Self::OrderAlreadyFilled(decoded)); + } if let Ok(decoded) = ::decode( data, ) { @@ -1021,6 +1051,9 @@ pub mod priority_order_reactor { Self::NativeTransferFailed(element) => { ::ethers::core::abi::AbiEncode::encode(element) } + Self::OrderAlreadyFilled(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::OrderNotFillable(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1070,6 +1103,10 @@ pub mod priority_order_reactor { == ::selector() => { true } + _ if selector + == ::selector() => { + true + } _ if selector == ::selector() => { true @@ -1101,6 +1138,9 @@ pub mod priority_order_reactor { Self::NativeTransferFailed(element) => { ::core::fmt::Display::fmt(element, f) } + Self::OrderAlreadyFilled(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::OrderNotFillable(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } @@ -1161,6 +1201,11 @@ pub mod priority_order_reactor { Self::NativeTransferFailed(value) } } + impl ::core::convert::From for PriorityOrderReactorErrors { + fn from(value: OrderAlreadyFilled) -> Self { + Self::OrderAlreadyFilled(value) + } + } impl ::core::convert::From for PriorityOrderReactorErrors { fn from(value: OrderNotFillable) -> Self { Self::OrderNotFillable(value) diff --git a/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs b/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs deleted file mode 100644 index bdf1ec1..0000000 --- a/crates/bindings-uniswapx/src/priority_order_reactor_integration.rs +++ /dev/null @@ -1,2988 +0,0 @@ -pub use priority_order_reactor_integration::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types, -)] -pub mod priority_order_reactor_integration { - pub use super::super::shared_types::*; - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_SCRIPT"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("IS_TEST"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("IS_TEST"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("NAME_HASH"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("NAME_HASH"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("TYPE_HASH"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("TYPE_HASH"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bytes32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "excludedArtifacts_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeContracts"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "excludedContracts_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeSelectors"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeSelectors"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "excludedSelectors_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), - ), - ), - ], - ), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("excludeSenders"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("excludeSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("excludedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("failed"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("failed"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("run"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("run"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("setUp"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("setUp"), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("submitLoserExecution"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "submitLoserExecution", - ), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("submitRunnerUpExecution"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "submitRunnerUpExecution", - ), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("submitWinnerExecution"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "submitWinnerExecution", - ), - inputs: ::std::vec![], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetArtifactSelectors"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "targetArtifactSelectors", - ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "targetedArtifactSelectors_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::String, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), - ), - ), - ], - ), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzArtifactSelector[]", - ), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetArtifacts"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetArtifacts"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "targetedArtifacts_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetContracts"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetContracts"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "targetedContracts_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetInterfaces"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetInterfaces"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "targetedInterfaces_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::String, - ), - ), - ], - ), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzInterface[]", - ), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetSelectors"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSelectors"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "targetedSelectors_", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Tuple( - ::std::vec![ - ::ethers::core::abi::ethabi::ParamType::Address, - ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::FixedBytes(4usize), - ), - ), - ], - ), - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned( - "struct StdInvariant.FuzzSelector[]", - ), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("targetSenders"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("targetSenders"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("targetedSenders_"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address[]"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("log"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_address"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_address"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_array"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Int(256usize), - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_bytes"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_bytes"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_bytes32"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_bytes32"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_int"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_int"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_address"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_address"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_array"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Uint(256usize), - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Int(256usize), - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_array"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Array( - ::std::boxed::Box::new( - ::ethers::core::abi::ethabi::ParamType::Address, - ), - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_bytes"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_bytes"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_bytes32"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_bytes32"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes( - 32usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_decimal_int"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "log_named_decimal_int", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("decimals"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_decimal_uint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "log_named_decimal_uint", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("decimals"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_int"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_int"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Int(256usize), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_string"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_string"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_named_uint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_named_uint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("key"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("val"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_string"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_string"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("log_uint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("log_uint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ( - ::std::borrow::ToOwned::to_owned("logs"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("logs"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bytes, - indexed: false, - }, - ], - anonymous: false, - }, - ], - ), - ]), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - ///The parsed JSON ABI of the contract. - pub static PRIORITYORDERREACTORINTEGRATION_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); - #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\x80`@\x81\x90R`\x0C\x80T`\xFF\x19\x16`\x01\x17\x90U`\x1F\x80Ta\x01\x01a\xFF\xFF\x19\x90\x91\x16\x17\x90U`\x12\x90b\0\x002\x90b\0\0\xF0V[b\0\0>\x91\x90b\0\0\xFEV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0[W=`\0\x80>=`\0\xFD[P`\x1F`\x02a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x12`@Qb\0\0\x92\x90b\0\0\xF0V[b\0\0\x9E\x91\x90b\0\x01YV[`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\0\xBBW=`\0\x80>=`\0\xFD[P` \x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90U4\x80\x15b\0\0\xE9W`\0\x80\xFD[Pb\0\x01\xA0V[a\x126\x80b\0\x88\xC0\x839\x01\x90V[``\x81R`\0b\0\x01#``\x83\x01`\x04\x81Rc\n\xE8\xAA\x89`\xE3\x1B` \x82\x01R`@\x01\x90V[\x82\x81\x03` \x84\x01Rb\0\x01G\x81`\x04\x81Rc\n\xE8\xAA\x89`\xE3\x1B` \x82\x01R`@\x01\x90V[\x91PP`\xFF\x83\x16`@\x83\x01R\x92\x91PPV[``\x81R`\0b\0\x01}``\x83\x01`\x03\x81RbDAI`\xE8\x1B` \x82\x01R`@\x01\x90V[\x82\x81\x03` \x84\x01Rb\0\x01G\x81`\x03\x81RbDAI`\xE8\x1B` \x82\x01R`@\x01\x90V[a\x87\x10\x80b\0\x01\xB0`\09`\0\xF3\xFE`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\x01\x89W`\x005`\xE0\x1C\x80c\x91j\x17\xC6\x11b\0\0\xDDW\x80c\xC0@b&\x11b\0\0\x8BW\x80c\xF8\xCC\xBFG\x11b\0\0nW\x80c\xF8\xCC\xBFG\x14b\0\x02\xDBW\x80c\xFAv&\xD4\x14b\0\x02\xE9W\x80c\xFBs\xBA#\x14b\0\x02\xFCW`\0\x80\xFD[\x80c\xC0@b&\x14b\0\x01\xD3W\x80c\xE2\x0C\x9Fq\x14b\0\x02\xD1W`\0\x80\xFD[\x80c\xB0FO\xDC\x11b\0\0\xC0W\x80c\xB0FO\xDC\x14b\0\x02\xA2W\x80c\xB5P\x8A\xA9\x14b\0\x02\xACW\x80c\xBAAO\xA6\x14b\0\x02\xB6W`\0\x80\xFD[\x80c\x91j\x17\xC6\x14b\0\x02\x7FW\x80c\xA69 \xCC\x14b\0\x02\x98W`\0\x80\xFD[\x80c>^<#\x11b\0\x01;W\x80cd\xD4\xC8\x19\x11b\0\x01\x1EW\x80cd\xD4\xC8\x19\x14b\0\x02%W\x80cf\xD9\xA9\xA0\x14b\0\x02MW\x80c\x85\"l\x81\x14b\0\x02fW`\0\x80\xFD[\x80c>^<#\x14b\0\x02\x11W\x80c?r\x86\xF4\x14b\0\x02\x1BW`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x11b\0\x01pW\x80c\x1E\xD7\x83\x1C\x14b\0\x01\xD5W\x80c*\xDE8\x80\x14b\0\x01\xEEW\x80c0\x94\xDF\xF0\x14b\0\x02\x07W`\0\x80\xFD[\x80c\x04b,.\x14b\0\x01\x8EW\x80c\n\x92T\xE4\x14b\0\x01\xC9W[`\0\x80\xFD[b\0\x01\xB6\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[b\0\x01\xD3b\0\x03\x06V[\0[b\0\x01\xDFb\0\x0F4V[`@Qb\0\x01\xC0\x91\x90b\0(\tV[b\0\x01\xF8b\0\x0F\xA5V[`@Qb\0\x01\xC0\x91\x90b\0(\xD7V[b\0\x01\xD3b\0\x11\0V[b\0\x01\xDFb\0\x132V[b\0\x01\xDFb\0\x13\xA1V[b\0\x01\xB6\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[b\0\x02Wb\0\x14\x10V[`@Qb\0\x01\xC0\x91\x90b\0*FV[b\0\x02pb\0\x15\x9EV[`@Qb\0\x01\xC0\x91\x90b\0*\xF1V[b\0\x02\x89b\0\x16xV[`@Qb\0\x01\xC0\x91\x90b\0+wV[b\0\x01\xD3b\0\x17\x84V[b\0\x02\x89b\0\x18rV[b\0\x02pb\0\x19~V[b\0\x02\xC0b\0\x1AXV[`@Q\x90\x15\x15\x81R` \x01b\0\x01\xC0V[b\0\x01\xDFb\0\x1B0V[`\x1FTb\0\x02\xC0\x90`\xFF\x16\x81V[`\x1FTb\0\x02\xC0\x90a\x01\0\x90\x04`\xFF\x16\x81V[b\0\x01\xD3b\0\x1B\x9FV[a\xBA\xBE`\"\x81\x90U`@Q\x7F\xFF\xA1\x86I\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xFF\xA1\x86I\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x03\x9F\x91\x90b\0,\x17V[`!\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U`@\x80Q\x80\x82\x01\x82Rs\xF3\x9F\xD6\xE5\x1A\xAD\x88\xF6\xF4\xCEj\xB8\x82ry\xCF\xFF\xB9\"f\x80\x82Rb\x98\x96\x80` \x92\x83\x01\x81\x90R`#\x80T\x90\x95\x16\x90\x91\x17\x90\x93U`$\x83\x90U\x81Q\x80\x83\x01\x90\x92Rsp\x99yp\xC5\x18\x12\xDC:\x01\x0C}\x01\xB5\x0E\r\x17\xDCy\xC8\x82R\x90\x91\x90\x82\x01\x90b\0\x04U\x90`\n\x90b\0,\x85V[\x90R\x80Q`%\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U` \x91\x82\x01Q`&U`@\x80Q\x80\x82\x01\x82Rs=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pb\0\x05\x80Wb\0\x05~b\0\x1C\x8EV[P[n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`\0`@Qb\0\x05\xA0\x90b\0'\xFBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\x05\xE1W=`\0\x80>=`\0\xFD[P`)\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x17\x90U`\x1FT`!T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x83\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01Rb\x01\0\0\x90\x91\x04\x90\x91\x16\x90ca\xF4\x9E\xD6\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x06\xC6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x06\xEC\x91\x90b\0,\xC1V[P`\x1FT`!Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x92\x04\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x07.g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x07\x9AW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x07\xAFW=`\0\x80>=`\0\xFD[PP` T`#T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x08YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x08\x7F\x91\x90b\0,\xC1V[P` T`#Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x08\xBBg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\t'W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\t=`\0\xFD[PP` T`%T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\t\xE6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\n\x0C\x91\x90b\0,\xC1V[P` T`%Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\nHg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\n\xB4W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\n\xC9W=`\0\x80>=`\0\xFD[PP`\x1FT`!T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01Rb\0\x0B\xAE\x94Pb\x01\0\0\x90\x92\x04\x16\x91Pc\xDDb\xED>\x90`D\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0BaW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0B\x87\x91\x90b\0,\xFFV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\0\x1D^V[` T`#T`)T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01Rb\0\x0C\x1B\x92\x91\x90\x91\x16\x90c\xDDb\xED>\x90`D\x01b\0\x0BCV[`\x1FT`!T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\x0C\xDC\x92b\x01\0\0\x90\x04\x90\x91\x16\x90cp\xA0\x821\x90`$\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0C\x9BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0C\xC1\x91\x90b\0,\xFFV[b\0\x0C\xD6g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[b\0\x1D^V[` T`#T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\r>\x92\x91\x90\x91\x16\x90cp\xA0\x821\x90`$\x01b\0\x0C}V[g\r\xE0\xB6\xB3\xA7d\0\0\x80`\0`\x01\x81b\0\r[Ba\x03\xE8b\0-\x19V[`@\x80Q``\x81\x01\x82R`\x1FTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x91\x04\x81\x16\x82R` \x80\x83\x01\x8A\x90R\x92\x82\x01\x87\x90R\x91T`!T\x93\x94P\x90\x92`\0\x92b\0\r\xB6\x92\x81\x16\x91\x89\x91\x88\x91\x16b\0\x1D\xE7V[`@\x80Q`\x80\x81\x01\x90\x91R`!T`)T\x92\x93P`\0\x92\x82\x91b\0\x0E\x0E\x91\x88\x91b\0\x0E\x07\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91b\0\x0E\0\x91\x16b\0\x1E\xCEV[\x90b\0\x1F\xC5V[\x90b\0 fV[\x81R` \x01C\x81R` \x01\x84\x81R` \x01\x83\x81RP\x90P`@Q\x80`@\x01`@R\x80\x82`@Q` \x01b\0\x0EC\x91\x90b\0-\x9BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x81R` \x01b\0\x0Eu`\"Tn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x85b\0 \xEBV[\x90R\x80Q`*\x90\x81\x90b\0\x0E\x8A\x90\x82b\0/{V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x0E\xA1\x90\x82b\0/{V[P\x90PP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x0F\x11W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x0F&W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoW[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15b\0\x10\xDFW\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x10K\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x10y\x90b\0.\xD5V[\x80\x15b\0\x10\xCAW\x80`\x1F\x10b\0\x10\x9EWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x10\xCAV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x10\xACW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x10)V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x0F\xC9V[PPPP\x90P\x90V[`%T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x11\x80W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x11\x95W=`\0\x80>=`\0\xFD[PP`&T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x05W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\x1AW=`\0\x80>=`\0\xFD[PP`)T`@Q\x7F?b\x19.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x92Pc?b\x19.\x91Pb\0\x12w\x90`*\x90`\x04\x01b\x001EV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x92W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\xA7W=`\0\x80>=`\0\xFD[PPPP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x13\x17W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x13,W=`\0\x80>=`\0\xFD[PPPPV[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Tb\0\x14j\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x14\x98\x90b\0.\xD5V[\x80\x15b\0\x14\xE9W\x80`\x1F\x10b\0\x14\xBDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x14\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x14\xCBW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x15\x85W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x151W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x144V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x15\xE4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x16\x12\x90b\0.\xD5V[\x80\x15b\0\x16cW\x80`\x1F\x10b\0\x167Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x16cV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x16EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x15\xC2V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x17kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x17\x17W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x16\x9CV[`#T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x18\x04W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x18\x19W=`\0\x80>=`\0\xFD[PP`$\x80T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x93PcH\xF5\x0C\x0F\x92P\x01b\0\x11\xEAV[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x19eW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x19\x11W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x18\x96V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x19\xC4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x19\xF2\x90b\0.\xD5V[\x80\x15b\0\x1ACW\x80`\x1F\x10b\0\x1A\x17Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x1ACV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x1A%W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x19\xA2V[`\x08T`\0\x90`\xFF\x16\x15b\0\x1AqWP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x1B\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x1B)\x91\x90b\0,\xFFV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[`'T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1C\x1FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1C4W=`\0\x80>=`\0\xFD[PP`(T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01b\0\x11\xEAV[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01b\0a\xA1a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90b\0\x1D\x14\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01b\x001\x9AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1D/W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1DDW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[`@Q\x7F\x98)lT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x83\x90R`$\x81\x01\x82\x90Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x98)lT\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15b\0\x1D\xCAW`\0\x80\xFD[PZ\xFA\x15\x80\x15b\0\x1D\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91`\0\x91\x90\x81` \x01[`@\x80Q`\x80\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01\x81\x90R``\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81b\0\x1E\x02W\x90PP\x90P`@Q\x80`\x80\x01`@R\x80\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x81`\0\x81Q\x81\x10b\0\x1E\xBAWb\0\x1E\xBAb\x001\xCBV[` \x90\x81\x02\x91\x90\x91\x01\x01R\x95\x94PPPPPV[b\0\x1FJ`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[`@Q\x80`\xC0\x01`@R\x80\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01B`db\0\x1F\xA4\x91\x90b\0-\x19V[\x81R`\0` \x80\x83\x01\x82\x90R`@\x80Q\x91\x82\x01\x81R\x91\x81R\x91\x01R\x92\x91PPV[b\0 A`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16` \x83\x01R\x81[\x92\x91PPV[b\0 \xE2`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[P``\x82\x01R\x90V[``b\0\"&\x84\x84\x84`\0\x01Q\x85`@\x01Q`\0\x01Q\x86`@\x01Q` \x01Q`@Q\x80`\xA0\x01`@R\x80`d\x81R` \x01b\0\x85\x8F`d\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0!k\x92\x91\x90b\x001\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90b\0\x85a` \x83\x019`@Q` \x01b\0!\xC1\x92\x91\x90b\x003cV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Rb\0!\xFF\x92\x91` \x01b\x003\xC2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\" \x89b\0\".V[b\0#,V[\x94\x93PPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0\"w\x92\x91\x90b\x001\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\"\x9C\x83`\0\x01Qb\0#\x95V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92b\0\"\xC4\x90b\0$1V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q`\xA0\x81\x01\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16``\x82\x81\x01\x91\x82R`\x80\x83\x01\x87\x90R\x90\x82R\x87\x83\x01Q` \x83\x01R\x87\x81\x01Q\x92\x82\x01\x92\x90\x92R\x86Qb\0#\x88\x90\x8A\x90\x8A\x90\x84\x90\x88\x88b\0$\xDAV[\x99\x98PPPPPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qb\0#\x0F\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0$TWb\0$Tb\0.\xA6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15b\0$\x7FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15b\0$\xCBW`\0b\0$\xB8\x85\x83\x81Q\x81\x10b\0$\xAAWb\0$\xAAb\x001\xCBV[` \x02` \x01\x01Qb\0&\xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01b\0$\x85V[P\x80Q` \x90\x91\x01 \x92\x91PPV[```\0b\0%\x9Eb\0$\xED\x88b\0'\x19V[\x85b\0$\xFD\x89`\0\x01Qb\0'\x99V[` \x80\x8B\x01Q`@\x80\x8D\x01Q\x81Q\x93\x84\x01\x95\x90\x95R\x82\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x91\x90\x91R`\xC0\x81\x01\x86\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x90 \x90V[`@Q\x7F\xE3A\xEA\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x8A\x90R`$\x81\x01\x82\x90R\x90\x91P`\0\x90\x81\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xE3A\xEA\xA4\x90`D\x01```@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0&\x19W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0&?\x91\x90b\x003\xF5V[`@\x80Q` \x81\x01\x93\x90\x93R\x82\x81\x01\x91\x90\x91R`\xF8\x92\x90\x92\x1B\x7F\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16``\x82\x01R\x81Q`A\x81\x83\x03\x01\x81R`a\x90\x91\x01\x90\x91R\x9B\x9APPPPPPPPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qb\0#\x0F\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`@\x80Q\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f` \x82\x01R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x91\x81\x01\x91\x90\x91RF``\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x80\x82\x01R`\0\x90`\xA0\x01b\0#\x0FV[`\0\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x82`@Q` \x01b\0#\x0F\x92\x91\x90\x91\x82R\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16` \x80\x84\x01\x91\x90\x91R\x01Q`@\x82\x01R``\x01\x90V[a-l\x80b\x0045\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15b\0(YW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01b\0(%V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15b\0(\x82W\x81\x81\x01Q\x83\x82\x01R` \x01b\0(hV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Rb\0(\xA5\x81` \x86\x01` \x86\x01b\0(eV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15b\0)\xD6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15b\0)\xBFW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Rb\0)\xAC\x84\x86Qb\0(\x8BV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01b\0)oV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01b\0(\xFEV[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01b\0)\xFBV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Rb\0*\xB4\x88\x86\x01\x82b\0(\x8BV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pb\0*\xCE\x81\x83b\0)\xE6V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01b\0*oV[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15b\0+jW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Rb\0+W\x85\x83Qb\0(\x8BV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01b\0+\x1AV[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Rb\0,\x03\x87\x85\x01\x82b\0)\xE6V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01b\0+\xA0V[`\0` \x82\x84\x03\x12\x15b\0,*W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0,OW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x82b\0,\xBCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15b\0,\xD4W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0,OW`\0\x80\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17b\0 `Wb\0 `b\0,VV[`\0` \x82\x84\x03\x12\x15b\0-\x12W`\0\x80\xFD[PQ\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15b\0 `Wb\0 `b\0,VV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x80\x83\x01Q\x90\x8A\x01R``\x91\x82\x01Q\x16\x90\x88\x01R`\x80\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01b\0-DV[` \x81R`\0\x82Q`\xC0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x85\x01R\x80` \x83\x01Q\x16a\x01\0\x85\x01R`@\x82\x01Qa\x01 \x85\x01R``\x82\x01Qa\x01@\x85\x01R\x80`\x80\x83\x01Q\x16a\x01`\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x84\x01Rb\0.\x18a\x01\xA0\x84\x01\x82b\0(\x8BV[\x90P` \x84\x01Q`@\x84\x01R`@\x84\x01Qb\0.a``\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P``\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x84\x83\x03\x01`\xC0\x85\x01Rb\0.\x9D\x82\x82b\0-/V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0.\xEAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0/$W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0/vW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0/UWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x1D\xDFW\x82\x81U`\x01\x01b\0/aV[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0/\x98Wb\0/\x98b\0.\xA6V[b\0/\xB0\x81b\0/\xA9\x84Tb\0.\xD5V[\x84b\0/*V[` \x80`\x1F\x83\x11`\x01\x81\x14b\x000\x06W`\0\x84\x15b\0/\xCFWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x1D\xDFV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15b\x000UW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\x0004V[P\x85\x82\x10\x15b\x000\x92W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Tb\x000\xB1\x81b\0.\xD5V[\x80\x85R` `\x01\x83\x81\x16\x80\x15b\x000\xD1W`\x01\x81\x14b\x001\nWb\x001:V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x85\x16\x83\x89\x01R\x82\x84\x15\x15`\x05\x1B\x89\x01\x01\x95Pb\x001:V[\x86`\0R\x82`\0 `\0[\x85\x81\x10\x15b\x0012W\x81T\x8A\x82\x01\x86\x01R\x90\x83\x01\x90\x84\x01b\x001\x15V[\x89\x01\x84\x01\x96PP[PPPPP\x92\x91PPV[` \x81R`@` \x82\x01R`\0b\x001a``\x83\x01\x84b\x000\xA2V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x83\x82\x03\x01`@\x84\x01Rb\0\"&\x81`\x01\x86\x01b\x000\xA2V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0b\0\"&`@\x83\x01\x84b\0(\x8BV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qb\x003>\x81`\x92\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003W\x81`\x92\x84\x01` \x88\x01b\0(eV[\x01`\x92\x01\x94\x93PPPPV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qb\x003\x9D\x81`\x16\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xB6\x81`\x16\x84\x01` \x88\x01b\0(eV[\x01`\x16\x01\x94\x93PPPPV[`\0\x83Qb\x003\xD6\x81\x84` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xEC\x81\x83` \x88\x01b\0(eV[\x01\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\x004\x0BW`\0\x80\xFD[\x83Q`\xFF\x81\x16\x81\x14b\x004\x1DW`\0\x80\xFD[` \x85\x01Q`@\x90\x95\x01Q\x90\x96\x94\x95P\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0-l8\x03\x80b\0-l\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa,Sb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x16\xB3\x01Ra,S`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x1D\xF5V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1E\xA3V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1E\xE5V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1FsV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1F\x97V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1FsV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a \x03V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x90V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\"\xCCV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B?V[a\x04\xB5\x81a\x0B\x90V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x90V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia \x03V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B?V[a\x08\x86\x81a\x0B\x90V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a#\nV[\x81\x01\x90a\n|\x91\x90a%\xD9V[\x90Pa\n\x87\x81a\x0C\xE3V[`\0a\n\x93H:a'0V[\x90P`@Q\x80`\xA0\x01`@R\x80\x83`\0\x01Q\x81R` \x01a\n\xC1\x83\x85`@\x01Qa\r\xE1\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xDD\x83\x85``\x01Qa\x0E\xE5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x85\x80` \x01\x90a\n\xF2\x91\x90a#\nV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B5\x84a\x0F\xCAV[\x90R\x94\x93PPPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B`Wa\x0B`a \x03V[` \x02` \x01\x01Q\x90Pa\x0Bs\x81a\x10\xC0V[a\x0B}\x813a\x15\xB0V[a\x0B\x87\x813a\x16\xB1V[P`\x01\x01a\x0BDV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD2W`\0\x83\x82\x81Q\x81\x10a\x0B\xB1Wa\x0B\xB1a \x03V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C2W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xE8Wa\x0B\xE8a \x03V[` \x02` \x01\x01Q\x90Pa\x0C)\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\xF0\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xC8V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C{Wa\x0C{a \x03V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC0\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x95V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x197V[\x80Q``\x01QB\x11\x15a\r\"W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81` \x01Q\x11\x15a\r`W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80\x82\x01Q\x01Q\x15a\x08\x91W`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\r\x95Wa\r\x95a \x03V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\r\xD9W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rpV[a\x0E\x1B`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[b\x98\x96\x80\x83`@\x01Q\x83a\x0E/\x91\x90a'CV[\x10a\x0EuW`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x84` \x01Q\x81RP\x90Pa\x0E\xDFV[`\0a\x0E\xA6\x84`@\x01Q\x84a\x0E\x8A\x91\x90a'CV[a\x0E\x97\x90b\x98\x96\x80a'0V[` \x86\x01Q\x90b\x98\x96\x80a\x19\xD1V[`@\x80Q``\x81\x01\x82R\x86Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x80\x82\x01\x93\x90\x93R\x91\x86\x01Q\x90\x82\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\x03Wa\x0F\x03a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FlW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F!W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xC2Wa\x0F\x9D\x85\x82\x81Q\x81\x10a\x0F\x8FWa\x0F\x8Fa \x03V[` \x02` \x01\x01Q\x85a\x1A\rV[\x83\x82\x81Q\x81\x10a\x0F\xAFWa\x0F\xAFa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FrV[PP\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x10\x0F\x92\x91\x90a'ZV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x102\x83`\0\x01Qa\x1A\xAFV[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x10X\x90a\x1BIV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x10\xE0WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x117\x90\x85\x90`\x04\x01a(\xBFV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11TW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x11\x9A\x91\x90\x81\x01\x90a(\xD2V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\xB2\x82\x84a)\xA2V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\xCAWa\x11\xCAa\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x123W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11\xE8W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x12\x84W\x85`@\x01Q\x81\x81Q\x81\x10a\x12WWa\x12Wa \x03V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x12qWa\x12qa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x129V[P`\0\x80`\0[\x84\x81\x10\x15a\x15\x9FW`\0\x87\x82\x81Q\x81\x10a\x12\xA7Wa\x12\xA7a \x03V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x13eW\x88\x81\x81Q\x81\x10a\x12\xCEWa\x12\xCEa \x03V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x13]W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x12\xB4V[P`\0\x80[\x88\x81\x10\x15a\x14&W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x13\x8AWa\x13\x8Aa \x03V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x1DW\x85\x15a\x14\x07W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x14\x16\x90\x84a)\xA2V[\x92P`\x01\x96P[P`\x01\x01a\x13jV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x14\x9FW\x84\x15a\x14\x86W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x14\x98\x90\x82a)\xA2V[\x90P`\x01\x93P[\x80`\0\x03a\x14\xF4W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x15\x02\x81`\x05a'\x10a\x19\xD1V[\x82` \x01Q\x11\x15a\x15uW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x15\x8AWa\x15\x8Aa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x12\x8BV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x16\x01W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x16}\x90\x84\x90\x86\x90`\x04\x01a)\xB5V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x16\x95W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x17q\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x18\x02\x92\x91\x90a'ZV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a+\x08` \x83\x019`@Q` \x01a\x18U\x92\x91\x90a)\xE4V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x18\xC2\x96\x95\x94\x93\x92`\x04\x01a*?V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18\xDCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x19\x15Wa\x03_\x82\x82a\x197V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1B\xE7V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x19\x91W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x19\x96V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1A\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1A\x84\x85`@\x01Q\x85a\x1Ah\x91\x90a'CV[a\x1Au\x90b\x98\x96\x80a)\xA2V[` \x87\x01Q\x90b\x98\x96\x80a\x1C\xD9V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10\xA3\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1BiWa\x1Bia\x1F\xD4V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1B\xD8W`\0a\x1B\xC6\x85\x83\x81Q\x81\x10a\x1B\xB9Wa\x1B\xB9a \x03V[` \x02` \x01\x01Qa\x1D\x1DV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1B\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1C\xD2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\x0EW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10\xA3\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x1D\xA6W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D\xBEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x1E\nW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1E\"W`\0\x80\xFD[a\x1E.\x87\x83\x88\x01a\x1D\x94V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1EDW`\0\x80\xFD[Pa\x1EQ\x86\x82\x87\x01a\x1D\xACV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1EpW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\x88W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1E\xB6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\xCDW`\0\x80\xFD[a\x1E\xD9\x85\x82\x86\x01a\x1E^V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1E\xFBW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1F\x13W`\0\x80\xFD[a\x1F\x1F\x88\x83\x89\x01a\x1E^V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1F8W`\0\x80\xFD[Pa\x1FE\x87\x82\x88\x01a\x1D\xACV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1F\x85W`\0\x80\xFD[\x815a\x1F\x90\x81a\x1FQV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1F\xA9W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC0W`\0\x80\xFD[a\x1F\xCC\x84\x82\x85\x01a\x1D\x94V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a MW\x81\x81\x01Q\x83\x82\x01R` \x01a 5V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra n\x81` \x86\x01` \x86\x01a 2V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a!\0W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a \xB5V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra!\x7Fa\x01\xA0\x85\x01\x82a VV[\x90P` \x83\x01Qa!\xBD` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra!\xD5\x82\x82a \xA0V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra!\xEF\x82\x82a VV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\"{W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\"i\x86\x83Qa!\x0BV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\"/V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a#\0W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a#?W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#ZW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\xEEW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$%Wa$%a\x1F\xD4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a$>W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$XWa$Xa\x1F\xD4V[a$\x89` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a#\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a$\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a$\xCDW`\0\x80\xFD[a$\xD5a#oV[\x90P\x815a$\xE2\x81a\x1FQV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x1AWa%\x1Aa\x1F\xD4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a%5W`\0\x80\xFD[\x815` a%Ja%E\x83a%\0V[a#\xDEV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a%iW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a%\xCEW`\x80\x81\x89\x03\x12\x15a%\x86W`\0\x80\x81\xFD[a%\x8Ea#\x98V[\x815a%\x99\x81a\x1FQV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a%\xBC\x81a\x1FQV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a%mV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a%\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xC0\x82\x86\x03\x12\x15a&\x17W`\0\x80\xFD[a&\x1Fa#\x98V[\x825\x82\x81\x11\x15a&.W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a&@W`\0\x80\xFD[a&Ha#\xBBV[\x815a&S\x81a\x1FQV[\x81R` \x82\x015a&c\x81a\x1FQV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a&\x8C\x81a\x1FQV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a&\xA3W`\0\x80\xFD[a&\xAF\x89\x82\x85\x01a$-V[`\xA0\x83\x01RP\x82RP` \x83\x81\x015\x90\x82\x01Ra&\xCF\x86`@\x85\x01a$\xBBV[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a&\xE6W`\0\x80\xFD[a&\xF2\x87\x82\x86\x01a%$V[``\x83\x01RP\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E\xDFWa\x0E\xDFa'\x01V[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qa(\x9C\x81`\x92\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a(\xB3\x81`\x92\x84\x01` \x88\x01a 2V[\x01`\x92\x01\x94\x93PPPPV[` \x81R`\0a\x1F\x90` \x83\x01\x84a!\x0BV[`\0` \x80\x83\x85\x03\x12\x15a(\xE5W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xFCW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a)\rW`\0\x80\xFD[\x80Qa)\x1Ba%E\x82a%\0V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a):W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a)\x96W\x80\x85\x8A\x03\x12\x15a)WW`\0\x80\x81\xFD[a)_a#oV[\x85Qa)j\x81a\x1FQV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa)\x83\x81a\x1FQV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a)?V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1F\xCC`@\x83\x01\x84a!\x0BV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa*\x1C\x81`\x16\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a*3\x81`\x16\x84\x01` \x88\x01a 2V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a*o\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra*\xB0`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra*\xE5\x81\x84\x01\x86a VV[\x90P\x82\x81\x03a\x01 \x84\x01Ra*\xFA\x81\x85a VV[\x99\x98PPPPPPPPPV\xFETokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 }\xD3h\xB7\xA2@\xA8\xC6\xADAv\xCE\xEB\x89\x0CQw$\x16x7~\xE4\xAFc\xD2;\xD2\xE5~O/dsolcC\0\x08\x18\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\nTokenPermissions(address token,uint256 amount)PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 4GN\x15\xC1\xF6\xD6$\0\xE5\xFD\xD9F\x06\xA1\xBB\x1A|\x19\x0B\xD4\xE3y\x1Dk\xD8\x16\xDDg\xB37OdsolcC\0\x08\x18\x003`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x1268\x03\x80b\0\x126\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01\xDEV[\x82\x82\x82`\0b\0\0E\x84\x82b\0\x02\xF4V[P`\x01b\0\0T\x83\x82b\0\x02\xF4V[P`\xFF\x81\x16`\x80RF`\xA0Rb\0\0jb\0\0zV[`\xC0RPb\0\x04>\x94PPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qb\0\0\xAE\x91\x90b\0\x03\xC0V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01>W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01[Wb\0\x01[b\0\x01\x16V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\x86Wb\0\x01\x86b\0\x01\x16V[\x81`@R\x83\x81R` \x92P\x86` \x85\x88\x01\x01\x11\x15b\0\x01\xA4W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01\xC8W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xA9V[`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\0\x01\xF4W`\0\x80\xFD[\x83Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\x0CW`\0\x80\xFD[b\0\x02\x1A\x87\x83\x88\x01b\0\x01,V[\x94P` \x86\x01Q\x91P\x80\x82\x11\x15b\0\x021W`\0\x80\xFD[Pb\0\x02@\x86\x82\x87\x01b\0\x01,V[\x92PP`@\x84\x01Q`\xFF\x81\x16\x81\x14b\0\x02XW`\0\x80\xFD[\x80\x91PP\x92P\x92P\x92V[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02xW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x99WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02\xEFW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02\xCAWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02\xEBW\x82\x81U`\x01\x01b\0\x02\xD6V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03\x10Wb\0\x03\x10b\0\x01\x16V[b\0\x03(\x81b\0\x03!\x84Tb\0\x02cV[\x84b\0\x02\x9FV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03`W`\0\x84\x15b\0\x03GWP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02\xEBV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x91W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03pV[P\x85\x82\x10\x15b\0\x03\xB0W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x80\x83Tb\0\x03\xD0\x81b\0\x02cV[`\x01\x82\x81\x16\x80\x15b\0\x03\xEBW`\x01\x81\x14b\0\x04\x01Wb\0\x042V[`\xFF\x19\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pb\0\x042V[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15b\0\x04)W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01b\0\x04\x0EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[`\x80Q`\xA0Q`\xC0Qa\r\xC8b\0\x04n`\09`\0a\x04\xE1\x01R`\0a\x04\xAC\x01R`\0a\x01_\x01Ra\r\xC8`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80ca\xF4\x9E\xD6\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x03W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0BW\x80c\xD5\x05\xAC\xCF\x14a\x02\x1EW\x80c\xDDb\xED>\x14a\x021W`\0\x80\xFD[\x80ca\xF4\x9E\xD6\x14a\x01\xB0W\x80cp\xA0\x821\x14a\x01\xC3W\x80c~\xCE\xBE\0\x14a\x01\xE3W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01GW\x80c1<\xE5g\x14a\x01ZW\x80c6D\xE5\x15\x14a\x01\x93W\x80c@\xC1\x0F\x19\x14a\x01\x9BW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\\V[`@Qa\x01\x04\x91\x90a\nNV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\n\xE4V[a\x02\xEAV[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x019`\x02T\x81V[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01U6`\x04a\x0B\x0EV[a\x03dV[a\x01\x81\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\x019a\x04\xA8V[a\x01\xAEa\x01\xA96`\x04a\n\xE4V[a\x05\x03V[\0[a\x01 a\x01\xBE6`\x04a\x0B\x0EV[a\x05\x11V[a\x019a\x01\xD16`\x04a\x0BJV[`\x03` R`\0\x90\x81R`@\x90 T\x81V[a\x019a\x01\xF16`\x04a\x0BJV[`\x05` R`\0\x90\x81R`@\x90 T\x81V[a\0\xF7a\x05\x86V[a\x01 a\x02\x196`\x04a\n\xE4V[a\x05\x93V[a\x01\xAEa\x02,6`\x04a\x0BlV[a\x06\x18V[a\x019a\x02?6`\x04a\x0B\xDFV[`\x04` \x90\x81R`\0\x92\x83R`@\x80\x84 \x90\x91R\x90\x82R\x90 T\x81V[`\0\x80Ta\x02i\x90a\x0C\x12V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x95\x90a\x0C\x12V[\x80\x15a\x02\xE2W\x80`\x1F\x10a\x02\xB7Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xE2V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xC5W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[3`\0\x81\x81R`\x04` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03R\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x03\xF8Wa\x03\xC6\x83\x82a\x0C\x94V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x03` R`@\x81 \x80T\x85\x92\x90a\x04-\x90\x84\x90a\x0C\x94V[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x85\x16`\0\x81\x81R`\x03` R`@\x90\x81\x90 \x80T\x87\x01\x90UQ\x90\x91\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x04\x95\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\x14a\x04\xDEWa\x04\xD9a\t=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\x08`WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\x08\xC6W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x06~V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16`\0\x90\x81R`\x04` \x90\x81R`@\x80\x83 \x8A\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x89\x90UQ\x88\x81R\x91\x92\x8A\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPV[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\tn\x91\x90a\x0C\xA7V[`@\x80Q\x91\x82\x90\x03\x82 ` \x83\x01\x93\x90\x93R\x81\x01\x91\x90\x91R\x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6``\x82\x01RF`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[\x80`\x02`\0\x82\x82Ta\t\xE8\x91\x90a\r\x7FV[\x90\x91UPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\0\x81\x81R`\x03` \x90\x81R`@\x80\x83 \x80T\x86\x01\x90UQ\x84\x81R\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\n|W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\n`V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\n\xDFW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xF7W`\0\x80\xFD[a\x0B\0\x83a\n\xBBV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0B#W`\0\x80\xFD[a\x0B,\x84a\n\xBBV[\x92Pa\x0B:` \x85\x01a\n\xBBV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0B\\W`\0\x80\xFD[a\x0Be\x82a\n\xBBV[\x93\x92PPPV[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0B\x87W`\0\x80\xFD[a\x0B\x90\x88a\n\xBBV[\x96Pa\x0B\x9E` \x89\x01a\n\xBBV[\x95P`@\x88\x015\x94P``\x88\x015\x93P`\x80\x88\x015`\xFF\x81\x16\x81\x14a\x0B\xC2W`\0\x80\xFD[\x96\x99\x95\x98P\x93\x96\x92\x95\x94`\xA0\x84\x015\x94P`\xC0\x90\x93\x015\x92\x91PPV[`\0\x80`@\x83\x85\x03\x12\x15a\x0B\xF2W`\0\x80\xFD[a\x0B\xFB\x83a\n\xBBV[\x91Pa\x0C\t` \x84\x01a\n\xBBV[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0C&W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0C_W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x03^Wa\x03^a\x0CeV[`\0\x80\x83T\x81`\x01\x82`\x01\x1C\x91P`\x01\x83\x16\x80a\x0C\xC5W`\x7F\x83\x16\x92P[` \x80\x84\x10\x82\x03a\x0C\xFDW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\"`\x04R`$\x86\xFD[\x81\x80\x15a\r\x11W`\x01\x81\x14a\rDWa\rqV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x86\x16\x89R\x84\x15\x15\x85\x02\x89\x01\x96Pa\rqV[`\0\x8A\x81R` \x90 `\0[\x86\x81\x10\x15a\riW\x81T\x8B\x82\x01R\x90\x85\x01\x90\x83\x01a\rPV[PP\x84\x89\x01\x96P[P\x94\x98\x97PPPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03^Wa\x03^a\x0CeV\xFE\xA2dipfsX\"\x12 \xEC!\xB1\xB1\xA5/`yx\xC91\xFAg\xA2|\x860P\xB1\xF3\x89\x1D\xF7\x93O\t\r\xC0E\x15\xECTdsolcC\0\x08\x18\x003"; - /// The bytecode of the contract. - pub static PRIORITYORDERREACTORINTEGRATION_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); - #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`\x046\x10b\0\x01\x89W`\x005`\xE0\x1C\x80c\x91j\x17\xC6\x11b\0\0\xDDW\x80c\xC0@b&\x11b\0\0\x8BW\x80c\xF8\xCC\xBFG\x11b\0\0nW\x80c\xF8\xCC\xBFG\x14b\0\x02\xDBW\x80c\xFAv&\xD4\x14b\0\x02\xE9W\x80c\xFBs\xBA#\x14b\0\x02\xFCW`\0\x80\xFD[\x80c\xC0@b&\x14b\0\x01\xD3W\x80c\xE2\x0C\x9Fq\x14b\0\x02\xD1W`\0\x80\xFD[\x80c\xB0FO\xDC\x11b\0\0\xC0W\x80c\xB0FO\xDC\x14b\0\x02\xA2W\x80c\xB5P\x8A\xA9\x14b\0\x02\xACW\x80c\xBAAO\xA6\x14b\0\x02\xB6W`\0\x80\xFD[\x80c\x91j\x17\xC6\x14b\0\x02\x7FW\x80c\xA69 \xCC\x14b\0\x02\x98W`\0\x80\xFD[\x80c>^<#\x11b\0\x01;W\x80cd\xD4\xC8\x19\x11b\0\x01\x1EW\x80cd\xD4\xC8\x19\x14b\0\x02%W\x80cf\xD9\xA9\xA0\x14b\0\x02MW\x80c\x85\"l\x81\x14b\0\x02fW`\0\x80\xFD[\x80c>^<#\x14b\0\x02\x11W\x80c?r\x86\xF4\x14b\0\x02\x1BW`\0\x80\xFD[\x80c\x1E\xD7\x83\x1C\x11b\0\x01pW\x80c\x1E\xD7\x83\x1C\x14b\0\x01\xD5W\x80c*\xDE8\x80\x14b\0\x01\xEEW\x80c0\x94\xDF\xF0\x14b\0\x02\x07W`\0\x80\xFD[\x80c\x04b,.\x14b\0\x01\x8EW\x80c\n\x92T\xE4\x14b\0\x01\xC9W[`\0\x80\xFD[b\0\x01\xB6\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x81V[`@Q\x90\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[b\0\x01\xD3b\0\x03\x06V[\0[b\0\x01\xDFb\0\x0F4V[`@Qb\0\x01\xC0\x91\x90b\0(\tV[b\0\x01\xF8b\0\x0F\xA5V[`@Qb\0\x01\xC0\x91\x90b\0(\xD7V[b\0\x01\xD3b\0\x11\0V[b\0\x01\xDFb\0\x132V[b\0\x01\xDFb\0\x13\xA1V[b\0\x01\xB6\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x81V[b\0\x02Wb\0\x14\x10V[`@Qb\0\x01\xC0\x91\x90b\0*FV[b\0\x02pb\0\x15\x9EV[`@Qb\0\x01\xC0\x91\x90b\0*\xF1V[b\0\x02\x89b\0\x16xV[`@Qb\0\x01\xC0\x91\x90b\0+wV[b\0\x01\xD3b\0\x17\x84V[b\0\x02\x89b\0\x18rV[b\0\x02pb\0\x19~V[b\0\x02\xC0b\0\x1AXV[`@Q\x90\x15\x15\x81R` \x01b\0\x01\xC0V[b\0\x01\xDFb\0\x1B0V[`\x1FTb\0\x02\xC0\x90`\xFF\x16\x81V[`\x1FTb\0\x02\xC0\x90a\x01\0\x90\x04`\xFF\x16\x81V[b\0\x01\xD3b\0\x1B\x9FV[a\xBA\xBE`\"\x81\x90U`@Q\x7F\xFF\xA1\x86I\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xFF\xA1\x86I\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x03yW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x03\x9F\x91\x90b\0,\x17V[`!\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U`@\x80Q\x80\x82\x01\x82Rs\xF3\x9F\xD6\xE5\x1A\xAD\x88\xF6\xF4\xCEj\xB8\x82ry\xCF\xFF\xB9\"f\x80\x82Rb\x98\x96\x80` \x92\x83\x01\x81\x90R`#\x80T\x90\x95\x16\x90\x91\x17\x90\x93U`$\x83\x90U\x81Q\x80\x83\x01\x90\x92Rsp\x99yp\xC5\x18\x12\xDC:\x01\x0C}\x01\xB5\x0E\r\x17\xDCy\xC8\x82R\x90\x91\x90\x82\x01\x90b\0\x04U\x90`\n\x90b\0,\x85V[\x90R\x80Q`%\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x92\x83\x16\x17\x90U` \x91\x82\x01Q`&U`@\x80Q\x80\x82\x01\x82Rs=`\0\xFD[PPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3;`\0\x03\x90Pb\0\x05\x80Wb\0\x05~b\0\x1C\x8EV[P[n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`\0`@Qb\0\x05\xA0\x90b\0'\xFBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x81R\x91\x16` \x82\x01R`@\x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15b\0\x05\xE1W=`\0\x80>=`\0\xFD[P`)\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16\x17\x90U`\x1FT`!T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x83\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01Rb\x01\0\0\x90\x91\x04\x90\x91\x16\x90ca\xF4\x9E\xD6\x90`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x06\xC6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x06\xEC\x91\x90b\0,\xC1V[P`\x1FT`!Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x92\x04\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x07.g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x07\x9AW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x07\xAFW=`\0\x80>=`\0\xFD[PP` T`#T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\x08YW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x08\x7F\x91\x90b\0,\xC1V[P` T`#Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\x08\xBBg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\t'W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\t=`\0\xFD[PP` T`%T`)T`@Q\x7Fa\xF4\x9E\xD6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`D\x82\x01R\x91\x16\x92Pca\xF4\x9E\xD6\x91P`d\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15b\0\t\xE6W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\n\x0C\x91\x90b\0,\xC1V[P` T`%Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91c@\xC1\x0F\x19\x91\x16b\0\nHg\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[`@Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x85\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x16`\x04\x83\x01R`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\n\xB4W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\n\xC9W=`\0\x80>=`\0\xFD[PP`\x1FT`!T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3`$\x82\x01Rb\0\x0B\xAE\x94Pb\x01\0\0\x90\x92\x04\x16\x91Pc\xDDb\xED>\x90`D\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0BaW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0B\x87\x91\x90b\0,\xFFV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\0\x1D^V[` T`#T`)T`@Q\x7F\xDDb\xED>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x16`\x04\x82\x01R\x90\x82\x16`$\x82\x01Rb\0\x0C\x1B\x92\x91\x90\x91\x16\x90c\xDDb\xED>\x90`D\x01b\0\x0BCV[`\x1FT`!T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\x0C\xDC\x92b\x01\0\0\x90\x04\x90\x91\x16\x90cp\xA0\x821\x90`$\x01[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x0C\x9BW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x0C\xC1\x91\x90b\0,\xFFV[b\0\x0C\xD6g\r\xE0\xB6\xB3\xA7d\0\0`db\0,\xE5V[b\0\x1D^V[` T`#T`@Q\x7Fp\xA0\x821\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01Rb\0\r>\x92\x91\x90\x91\x16\x90cp\xA0\x821\x90`$\x01b\0\x0C}V[g\r\xE0\xB6\xB3\xA7d\0\0\x80`\0`\x01\x81b\0\r[Ba\x03\xE8b\0-\x19V[`@\x80Q``\x81\x01\x82R`\x1FTs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFb\x01\0\0\x90\x91\x04\x81\x16\x82R` \x80\x83\x01\x8A\x90R\x92\x82\x01\x87\x90R\x91T`!T\x93\x94P\x90\x92`\0\x92b\0\r\xB6\x92\x81\x16\x91\x89\x91\x88\x91\x16b\0\x1D\xE7V[`@\x80Q`\x80\x81\x01\x90\x91R`!T`)T\x92\x93P`\0\x92\x82\x91b\0\x0E\x0E\x91\x88\x91b\0\x0E\x07\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91b\0\x0E\0\x91\x16b\0\x1E\xCEV[\x90b\0\x1F\xC5V[\x90b\0 fV[\x81R` \x01C\x81R` \x01\x84\x81R` \x01\x83\x81RP\x90P`@Q\x80`@\x01`@R\x80\x82`@Q` \x01b\0\x0EC\x91\x90b\0-\x9BV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x81R` \x01b\0\x0Eu`\"Tn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x85b\0 \xEBV[\x90R\x80Q`*\x90\x81\x90b\0\x0E\x8A\x90\x82b\0/{V[P` \x82\x01Q`\x01\x82\x01\x90b\0\x0E\xA1\x90\x82b\0/{V[P\x90PP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x0F\x11W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x0F&W=`\0\x80>=`\0\xFD[PPPPPPPPPPPPV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoW[PPPPP\x90P\x90V[```\x1E\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x80\x82 `@\x80Q\x80\x82\x01\x82R`\x02\x87\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x95\x91\x94\x86\x81\x01\x94\x91\x92\x90\x84\x01[\x82\x82\x10\x15b\0\x10\xDFW\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x10K\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x10y\x90b\0.\xD5V[\x80\x15b\0\x10\xCAW\x80`\x1F\x10b\0\x10\x9EWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x10\xCAV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x10\xACW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x10)V[PPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x0F\xC9V[PPPP\x90P\x90V[`%T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x11\x80W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x11\x95W=`\0\x80>=`\0\xFD[PP`&T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x05W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\x1AW=`\0\x80>=`\0\xFD[PP`)T`@Q\x7F?b\x19.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x92Pc?b\x19.\x91Pb\0\x12w\x90`*\x90`\x04\x01b\x001EV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x12\x92W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x12\xA7W=`\0\x80>=`\0\xFD[PPPP\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x13\x17W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x13,W=`\0\x80>=`\0\xFD[PPPPV[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[```\x1B\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x90`\x02\x02\x01`@Q\x80`@\x01`@R\x90\x81`\0\x82\x01\x80Tb\0\x14j\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x14\x98\x90b\0.\xD5V[\x80\x15b\0\x14\xE9W\x80`\x1F\x10b\0\x14\xBDWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x14\xE9V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x14\xCBW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01`\x01\x82\x01\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x15\x85W` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x151W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x144V[```\x1A\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x15\xE4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x16\x12\x90b\0.\xD5V[\x80\x15b\0\x16cW\x80`\x1F\x10b\0\x167Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x16cV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x16EW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x15\xC2V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x17kW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x17\x17W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x16\x9CV[`#T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x18\x04W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x18\x19W=`\0\x80>=`\0\xFD[PP`$\x80T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x93PcH\xF5\x0C\x0F\x92P\x01b\0\x11\xEAV[```\x1C\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W`\0\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15b\0\x19eW` \x02\x82\x01\x91\x90`\0R` `\0 \x90`\0\x90[\x82\x82\x90T\x90a\x01\0\n\x90\x04`\xE0\x1B{\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11b\0\x19\x11W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90b\0\x18\x96V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\0\x90[\x82\x82\x10\x15b\0\x10\xF7W\x83\x82\x90`\0R` `\0 \x01\x80Tb\0\x19\xC4\x90b\0.\xD5V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Tb\0\x19\xF2\x90b\0.\xD5V[\x80\x15b\0\x1ACW\x80`\x1F\x10b\0\x1A\x17Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91b\0\x1ACV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11b\0\x1A%W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90b\0\x19\xA2V[`\x08T`\0\x90`\xFF\x16\x15b\0\x1AqWP`\x08T`\xFF\x16\x90V[`@Q\x7Ff\x7F\x9Dp\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\x04\x82\x01\x81\x90R\x7Ffailed\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`$\x83\x01R`\0\x91cf\x7F\x9Dp\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0\x1B\x03W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0\x1B)\x91\x90b\0,\xFFV[\x14\x15\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15b\0\x0F\x9BW` \x02\x82\x01\x91\x90`\0R` `\0 \x90\x81Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11b\0\x0FoWPPPPP\x90P\x90V[`'T`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1C\x1FW`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1C4W=`\0\x80>=`\0\xFD[PP`(T`@Q\x7FH\xF5\x0C\x0F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x91\x90\x91Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x92PcH\xF5\x0C\x0F\x91P`$\x01b\0\x11\xEAV[`\0\x80`@Q\x80a#\xE0\x01`@R\x80a#\xC0\x81R` \x01b\0a\xA1a#\xC0\x919`@Q\x7F\xB4\xD6\xC7\x82\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xB4\xD6\xC7\x82\x90b\0\x1D\x14\x90n\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x90\x85\x90`\x04\x01b\x001\x9AV[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15b\0\x1D/W`\0\x80\xFD[PZ\xF1\x15\x80\x15b\0\x1DDW=`\0\x80>=`\0\xFD[PPPPn\"\xD4s\x03\x0F\x11m\xDE\xE9\xF6\xB4:\xC7\x8B\xA3\x91PP\x90V[`@Q\x7F\x98)lT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x83\x90R`$\x81\x01\x82\x90Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x98)lT\x90`D\x01`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15b\0\x1D\xCAW`\0\x80\xFD[PZ\xFA\x15\x80\x15b\0\x1D\xDFW=`\0\x80>=`\0\xFD[PPPPPPV[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R``\x91`\0\x91\x90\x81` \x01[`@\x80Q`\x80\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01\x81\x90R``\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81b\0\x1E\x02W\x90PP\x90P`@Q\x80`\x80\x01`@R\x80\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01\x86\x81R` \x01\x85\x81R` \x01\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x81`\0\x81Q\x81\x10b\0\x1E\xBAWb\0\x1E\xBAb\x001\xCBV[` \x90\x81\x02\x91\x90\x91\x01\x01R\x95\x94PPPPPV[b\0\x1FJ`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[`@Q\x80`\xC0\x01`@R\x80\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01B`db\0\x1F\xA4\x91\x90b\0-\x19V[\x81R`\0` \x80\x83\x01\x82\x90R`@\x80Q\x91\x82\x01\x81R\x91\x81R\x91\x01R\x92\x91PPV[b\0 A`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16` \x83\x01R\x81[\x92\x91PPV[b\0 \xE2`@Q\x80`\xC0\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01``\x81RP\x90V[P``\x82\x01R\x90V[``b\0\"&\x84\x84\x84`\0\x01Q\x85`@\x01Q`\0\x01Q\x86`@\x01Q` \x01Q`@Q\x80`\xA0\x01`@R\x80`d\x81R` \x01b\0\x85\x8F`d\x919`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0!k\x92\x91\x90b\x001\xFAV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90b\0\x85a` \x83\x019`@Q` \x01b\0!\xC1\x92\x91\x90b\x003cV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90Rb\0!\xFF\x92\x91` \x01b\x003\xC2V[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\" \x89b\0\".V[b\0#,V[\x94\x93PPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919`@Q` \x01b\0\"w\x92\x91\x90b\x001\xFAV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 b\0\"\x9C\x83`\0\x01Qb\0#\x95V[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92b\0\"\xC4\x90b\0$1V[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`@\x80Q`\xA0\x81\x01\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16``\x82\x81\x01\x91\x82R`\x80\x83\x01\x87\x90R\x90\x82R\x87\x83\x01Q` \x83\x01R\x87\x81\x01Q\x92\x82\x01\x92\x90\x92R\x86Qb\0#\x88\x90\x8A\x90\x8A\x90\x84\x90\x88\x88b\0$\xDAV[\x99\x98PPPPPPPPPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01b\0\x85\xF3`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qb\0#\x0F\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0$TWb\0$Tb\0.\xA6V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15b\0$\x7FW` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15b\0$\xCBW`\0b\0$\xB8\x85\x83\x81Q\x81\x10b\0$\xAAWb\0$\xAAb\x001\xCBV[` \x02` \x01\x01Qb\0&\xA0V[` \x83\x81\x02\x85\x01\x01RP`\x01\x01b\0$\x85V[P\x80Q` \x90\x91\x01 \x92\x91PPV[```\0b\0%\x9Eb\0$\xED\x88b\0'\x19V[\x85b\0$\xFD\x89`\0\x01Qb\0'\x99V[` \x80\x8B\x01Q`@\x80\x8D\x01Q\x81Q\x93\x84\x01\x95\x90\x95R\x82\x01\x92\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x91\x90\x91R`\xC0\x81\x01\x86\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x90 \x90V[`@Q\x7F\xE3A\xEA\xA4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x81\x01\x8A\x90R`$\x81\x01\x82\x90R\x90\x91P`\0\x90\x81\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\xE3A\xEA\xA4\x90`D\x01```@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15b\0&\x19W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90b\0&?\x91\x90b\x003\xF5V[`@\x80Q` \x81\x01\x93\x90\x93R\x82\x81\x01\x91\x90\x91R`\xF8\x92\x90\x92\x1B\x7F\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16``\x82\x01R\x81Q`A\x81\x83\x03\x01\x81R`a\x90\x91\x01\x90\x91R\x9B\x9APPPPPPPPPPPV[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01b\0\x86\x80`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qb\0#\x0F\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`@\x80Q\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f` \x82\x01R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j\x91\x81\x01\x91\x90\x91RF``\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16`\x80\x82\x01R`\0\x90`\xA0\x01b\0#\x0FV[`\0\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x82`@Q` \x01b\0#\x0F\x92\x91\x90\x91\x82R\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16` \x80\x84\x01\x91\x90\x91R\x01Q`@\x82\x01R``\x01\x90V[a-l\x80b\x0045\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15b\0(YW\x83Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01b\0(%V[P\x90\x96\x95PPPPPPV[`\0[\x83\x81\x10\x15b\0(\x82W\x81\x81\x01Q\x83\x82\x01R` \x01b\0(hV[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Rb\0(\xA5\x81` \x86\x01` \x86\x01b\0(eV[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90`@\x90\x81\x85\x01\x90`\x05\x81\x81\x1B\x87\x01\x84\x01\x88\x86\x01\x87\x80[\x85\x81\x10\x15b\0)\xD6W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x8B\x85\x03\x01\x87R\x82Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x85R\x89\x01Q\x89\x85\x01\x89\x90R\x80Q\x89\x86\x01\x81\x90R\x90\x8A\x01\x90``\x81\x88\x1B\x87\x01\x81\x01\x91\x90\x87\x01\x90\x85[\x81\x81\x10\x15b\0)\xBFW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x89\x85\x03\x01\x83Rb\0)\xAC\x84\x86Qb\0(\x8BV[\x94\x8E\x01\x94\x93P\x91\x8D\x01\x91`\x01\x01b\0)oV[PPP\x97\x8A\x01\x97\x94PP\x91\x88\x01\x91`\x01\x01b\0(\xFEV[P\x91\x9A\x99PPPPPPPPPPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x87R\x95\x82\x01\x95\x90\x82\x01\x90`\x01\x01b\0)\xFBV[P\x94\x95\x94PPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x89\x84\x03\x01\x85R\x81Q\x80Q\x87\x85Rb\0*\xB4\x88\x86\x01\x82b\0(\x8BV[\x91\x89\x01Q\x85\x83\x03\x86\x8B\x01R\x91\x90Pb\0*\xCE\x81\x83b\0)\xE6V[\x96\x89\x01\x96\x94PPP\x90\x86\x01\x90`\x01\x01b\0*oV[P\x90\x98\x97PPPPPPPPV[`\0` \x80\x83\x01` \x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x92P` \x87\x01`\0[\x82\x81\x10\x15b\0+jW\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x88\x86\x03\x01\x84Rb\0+W\x85\x83Qb\0(\x8BV[\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01b\0+\x1AV[P\x92\x97\x96PPPPPPPV[`\0` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P`@\x86\x01\x91P`@\x81`\x05\x1B\x87\x01\x01\x84\x88\x01`\0[\x83\x81\x10\x15b\0*\xE3W\x88\x83\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC0\x01\x85R\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x84R\x87\x01Q\x87\x84\x01\x87\x90Rb\0,\x03\x87\x85\x01\x82b\0)\xE6V[\x95\x88\x01\x95\x93PP\x90\x86\x01\x90`\x01\x01b\0+\xA0V[`\0` \x82\x84\x03\x12\x15b\0,*W`\0\x80\xFD[\x81Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0,OW`\0\x80\xFD[\x93\x92PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x82b\0,\xBCW\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[`\0` \x82\x84\x03\x12\x15b\0,\xD4W`\0\x80\xFD[\x81Q\x80\x15\x15\x81\x14b\0,OW`\0\x80\xFD[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17b\0 `Wb\0 `b\0,VV[`\0` \x82\x84\x03\x12\x15b\0-\x12W`\0\x80\xFD[PQ\x91\x90PV[\x80\x82\x01\x80\x82\x11\x15b\0 `Wb\0 `b\0,VV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15b\0*;W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x80\x83\x01Q\x90\x8A\x01R``\x91\x82\x01Q\x16\x90\x88\x01R`\x80\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01b\0-DV[` \x81R`\0\x82Q`\xC0` \x84\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x85\x01R\x80` \x83\x01Q\x16a\x01\0\x85\x01R`@\x82\x01Qa\x01 \x85\x01R``\x82\x01Qa\x01@\x85\x01R\x80`\x80\x83\x01Q\x16a\x01`\x85\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x84\x01Rb\0.\x18a\x01\xA0\x84\x01\x82b\0(\x8BV[\x90P` \x84\x01Q`@\x84\x01R`@\x84\x01Qb\0.a``\x85\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P``\x84\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x84\x83\x03\x01`\xC0\x85\x01Rb\0.\x9D\x82\x82b\0-/V[\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0.\xEAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0/$W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0/vW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0/UWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x1D\xDFW\x82\x81U`\x01\x01b\0/aV[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15b\0/\x98Wb\0/\x98b\0.\xA6V[b\0/\xB0\x81b\0/\xA9\x84Tb\0.\xD5V[\x84b\0/*V[` \x80`\x1F\x83\x11`\x01\x81\x14b\x000\x06W`\0\x84\x15b\0/\xCFWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x1D\xDFV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15b\x000UW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\x0004V[P\x85\x82\x10\x15b\x000\x92W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x81Tb\x000\xB1\x81b\0.\xD5V[\x80\x85R` `\x01\x83\x81\x16\x80\x15b\x000\xD1W`\x01\x81\x14b\x001\nWb\x001:V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x85\x16\x83\x89\x01R\x82\x84\x15\x15`\x05\x1B\x89\x01\x01\x95Pb\x001:V[\x86`\0R\x82`\0 `\0[\x85\x81\x10\x15b\x0012W\x81T\x8A\x82\x01\x86\x01R\x90\x83\x01\x90\x84\x01b\x001\x15V[\x89\x01\x84\x01\x96PP[PPPPP\x92\x91PPV[` \x81R`@` \x82\x01R`\0b\x001a``\x83\x01\x84b\x000\xA2V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x83\x82\x03\x01`@\x84\x01Rb\0\"&\x81`\x01\x86\x01b\x000\xA2V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0b\0\"&`@\x83\x01\x84b\0(\x8BV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qb\x003>\x81`\x92\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003W\x81`\x92\x84\x01` \x88\x01b\0(eV[\x01`\x92\x01\x94\x93PPPPV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qb\x003\x9D\x81`\x16\x85\x01` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xB6\x81`\x16\x84\x01` \x88\x01b\0(eV[\x01`\x16\x01\x94\x93PPPPV[`\0\x83Qb\x003\xD6\x81\x84` \x88\x01b\0(eV[\x83Q\x90\x83\x01\x90b\x003\xEC\x81\x83` \x88\x01b\0(eV[\x01\x94\x93PPPPV[`\0\x80`\0``\x84\x86\x03\x12\x15b\x004\x0BW`\0\x80\xFD[\x83Q`\xFF\x81\x16\x81\x14b\x004\x1DW`\0\x80\xFD[` \x85\x01Q`@\x90\x95\x01Q\x90\x96\x94\x95P\x93\x92PPPV\xFE`\xA0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0-l8\x03\x80b\0-l\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\0\xB8V[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x82U`@Q\x84\x92\x84\x92\x83\x92\x83\x92\x90\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x90\x82\x90\xA3PP`\x01`\x02UP`\x01`\x01`\xA0\x1B\x03\x16`\x80RPb\0\0\xF7\x90PV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\0\xB5W`\0\x80\xFD[PV[`\0\x80`@\x83\x85\x03\x12\x15b\0\0\xCCW`\0\x80\xFD[\x82Qb\0\0\xD9\x81b\0\0\x9FV[` \x84\x01Q\x90\x92Pb\0\0\xEC\x81b\0\0\x9FV[\x80\x91PP\x92P\x92\x90PV[`\x80Qa,Sb\0\x01\x19`\09`\0\x81\x81`\xE0\x01Ra\x16\xB3\x01Ra,S`\0\xF3\xFE`\x80`@R`\x046\x10a\0\x9AW`\x005`\xE0\x1C\x80c-w\x13\x89\x11a\0iW\x80ci\x99\xB3w\x11a\0NW\x80ci\x99\xB3w\x14a\x01qW\x80c\x8D\xA5\xCB[\x14a\x01\x9EW\x80c\xF2\xFD\xE3\x8B\x14a\x01\xCBW`\0\x80\xFD[\x80c-w\x13\x89\x14a\x01>W\x80c?b\x19.\x14a\x01^W`\0\x80\xFD[\x80c\r3X\x84\x14a\0\xA6W\x80c\rz\x16\xC3\x14a\0\xBBW\x80c\x12&\x1E\xE7\x14a\0\xCEW\x80c\x13\xFBr\xC7\x14a\x01+W`\0\x80\xFD[6a\0\xA1W\0[`\0\x80\xFD[a\0\xB9a\0\xB46`\x04a\x1D\xF5V[a\x01\xEBV[\0[a\0\xB9a\0\xC96`\x04a\x1E\xA3V[a\x03dV[4\x80\x15a\0\xDAW`\0\x80\xFD[Pa\x01\x02\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\xB9a\x0196`\x04a\x1E\xE5V[a\x04\xC5V[4\x80\x15a\x01JW`\0\x80\xFD[Pa\0\xB9a\x01Y6`\x04a\x1FsV[a\x06\x83V[a\0\xB9a\x01l6`\x04a\x1F\x97V[a\x07\x8FV[4\x80\x15a\x01}W`\0\x80\xFD[P`\x01Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xAAW`\0\x80\xFD[P`\0Ta\x01\x02\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[4\x80\x15a\x01\xD7W`\0\x80\xFD[Pa\0\xB9a\x01\xE66`\x04a\x1FsV[a\x08\x94V[a\x01\xF3a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x02\nW\x90PP\x90Pa\x02\xB2\x84a\t\xF6V[\x81`\0\x81Q\x81\x10a\x02\xC5Wa\x02\xC5a \x03V[` \x02` \x01\x01\x81\x90RPa\x02\xD9\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x03\x19\x90\x84\x90\x87\x90\x87\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x033W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x03GW=`\0\x80>=`\0\xFD[PPPPa\x03T\x81a\x0B\x90V[Pa\x03_`\x01`\x02UV[PPPV[a\x03la\t\x85V[\x80`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x03\x88Wa\x03\x88a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x04CW\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x03\xA6W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x04\xA2Wa\x04}\x85\x85\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x90P` \x02\x81\x01\x90a\x04x\x91\x90a\"\xCCV[a\t\xF6V[\x82\x82\x81Q\x81\x10a\x04\x8FWa\x04\x8Fa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x04IV[Pa\x04\xAC\x81a\x0B?V[a\x04\xB5\x81a\x0B\x90V[PPa\x04\xC1`\x01`\x02UV[PPV[a\x04\xCDa\t\x85V[\x82`\0\x81g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x04\xE9Wa\x04\xE9a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x05\xA4W\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x05\x07W\x90P[P\x90P`\0[\x82\x81\x10\x15a\x05\xECWa\x05\xC7\x87\x87\x83\x81\x81\x10a\x04fWa\x04fa \x03V[\x82\x82\x81Q\x81\x10a\x05\xD9Wa\x05\xD9a \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x05\xAAV[Pa\x05\xF6\x81a\x0B?V[`@Q\x7FX]\xA6(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3\x90cX]\xA6(\x90a\x066\x90\x84\x90\x88\x90\x88\x90`\x04\x01a\"\x06V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x06PW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x06dW=`\0\x80>=`\0\xFD[PPPPa\x06q\x81a\x0B\x90V[PPa\x06}`\x01`\x02UV[PPPPV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x07\tW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\x01\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x90\x93U`@\x80Q\x91\x90\x92\x16\x80\x82R` \x82\x01\x93\x90\x93R\x7F\xB9\x04\xAE\x95)\xE3s\xE4\x8B\xC8-\xF42l\xCE\xAF\x1BLG+\xAB\xF3\x7F[}\xECF\xFE\xCCkS\xE0\x91\x01`@Q\x80\x91\x03\x90\xA1PPV[a\x07\x97a\t\x85V[`@\x80Q`\x01\x80\x82R\x81\x83\x01\x90\x92R`\0\x91\x81` \x01[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x80\x85\x01\x91\x90\x91R\x93\x83\x01\x81\x90R\x80\x83\x01R`\x80\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x07\xAEW\x90PP\x90Pa\x08V\x82a\t\xF6V[\x81`\0\x81Q\x81\x10a\x08iWa\x08ia \x03V[` \x02` \x01\x01\x81\x90RPa\x08}\x81a\x0B?V[a\x08\x86\x81a\x0B\x90V[Pa\x08\x91`\x01`\x02UV[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\t\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FUNAUTHORIZED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[`\0\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x90\x81\x17\x82U`@Q\x90\x913\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PV[`\x02\x80T\x03a\t\xF0W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1F`$\x82\x01R\x7FReentrancyGuard: reentrant call\0`D\x82\x01R`d\x01a\x07\0V[`\x02\x80UV[`@\x80Qa\x01`\x81\x01\x82R`\0`\xA0\x82\x01\x81\x81R`\xC0\x83\x01\x82\x90R`\xE0\x83\x01\x82\x90Ra\x01\0\x83\x01\x82\x90Ra\x01 \x83\x01\x82\x90R``a\x01@\x84\x01\x81\x90R\x90\x83R\x83Q\x80\x82\x01\x85R\x82\x81R` \x80\x82\x01\x84\x90R\x81\x86\x01\x84\x90R\x84\x01R\x92\x82\x01\x83\x90R\x82\x82\x01\x92\x90\x92R`\x80\x81\x01\x82\x90R\x90a\no\x83\x80a#\nV[\x81\x01\x90a\n|\x91\x90a%\xD9V[\x90Pa\n\x87\x81a\x0C\xE3V[`\0a\n\x93H:a'0V[\x90P`@Q\x80`\xA0\x01`@R\x80\x83`\0\x01Q\x81R` \x01a\n\xC1\x83\x85`@\x01Qa\r\xE1\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01a\n\xDD\x83\x85``\x01Qa\x0E\xE5\x90\x91\x90c\xFF\xFF\xFF\xFF\x16V[\x81R` \x01\x85\x80` \x01\x90a\n\xF2\x91\x90a#\nV[\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847`\0\x92\x01\x91\x90\x91RPPP\x90\x82RP` \x01a\x0B5\x84a\x0F\xCAV[\x90R\x94\x93PPPPV[\x80Q`\0[\x81\x81\x10\x15a\x03_W`\0\x83\x82\x81Q\x81\x10a\x0B`Wa\x0B`a \x03V[` \x02` \x01\x01Q\x90Pa\x0Bs\x81a\x10\xC0V[a\x0B}\x813a\x15\xB0V[a\x0B\x87\x813a\x16\xB1V[P`\x01\x01a\x0BDV[\x80Q`\0[\x81\x81\x10\x15a\x0C\xD2W`\0\x83\x82\x81Q\x81\x10a\x0B\xB1Wa\x0B\xB1a \x03V[` \x02` \x01\x01Q\x90P`\0\x81`@\x01QQ\x90P`\0[\x81\x81\x10\x15a\x0C2W`\0\x83`@\x01Q\x82\x81Q\x81\x10a\x0B\xE8Wa\x0B\xE8a \x03V[` \x02` \x01\x01Q\x90Pa\x0C)\x81`@\x01Q\x82` \x01Q\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x18\xF0\x90\x92\x91\x90c\xFF\xFF\xFF\xFF\x16V[P`\x01\x01a\x0B\xC8V[P\x81`\0\x01Q` \x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x86\x85\x81Q\x81\x10a\x0C{Wa\x0C{a \x03V[` \x02` \x01\x01Q`\x80\x01Q\x7Fx\xAD~\xC0\xE9\xF8\x9Et\x01*\xFAXs\x8Bkf\x1C\x02L\xB0\xFD\x18^\xE2\xF6\x16\xC0\xA2\x89$\xBDf\x85`\0\x01Q`@\x01Q`@Qa\x0C\xC0\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA4PP`\x01\x01a\x0B\x95V[PG\x15a\x04\xC1Wa\x04\xC13Ga\x197V[\x80Q``\x01QB\x11\x15a\r\"W`@Q\x7Fv\x9D\x11\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[C\x81` \x01Q\x11\x15a\r`W`@Q\x7F\xC6\x03U \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80\x82\x01Q\x01Q\x15a\x08\x91W`\0[\x81``\x01QQ\x81\x10\x15a\x04\xC1W`\0\x82``\x01Q\x82\x81Q\x81\x10a\r\x95Wa\r\x95a \x03V[` \x02` \x01\x01Q`@\x01Q\x11\x15a\r\xD9W`@Q\x7F\xA6\xB8D\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01\x01a\rpV[a\x0E\x1B`@Q\x80``\x01`@R\x80`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[b\x98\x96\x80\x83`@\x01Q\x83a\x0E/\x91\x90a'CV[\x10a\x0EuW`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01`\0\x81R` \x01\x84` \x01Q\x81RP\x90Pa\x0E\xDFV[`\0a\x0E\xA6\x84`@\x01Q\x84a\x0E\x8A\x91\x90a'CV[a\x0E\x97\x90b\x98\x96\x80a'0V[` \x86\x01Q\x90b\x98\x96\x80a\x19\xD1V[`@\x80Q``\x81\x01\x82R\x86Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x80\x82\x01\x93\x90\x93R\x91\x86\x01Q\x90\x82\x01R\x91PP[\x92\x91PPV[\x81Q``\x90\x80g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0F\x03Wa\x0F\x03a\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0FlW\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x0F!W\x90P[P\x91P`\0[\x81\x81\x10\x15a\x0F\xC2Wa\x0F\x9D\x85\x82\x81Q\x81\x10a\x0F\x8FWa\x0F\x8Fa \x03V[` \x02` \x01\x01Q\x85a\x1A\rV[\x83\x82\x81Q\x81\x10a\x0F\xAFWa\x0F\xAFa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x0FrV[PP\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x10\x0F\x92\x91\x90a'ZV[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 a\x102\x83`\0\x01Qa\x1A\xAFV[` \x80\x85\x01Q`@\x80\x87\x01Q\x80Q\x93\x81\x01Q\x91\x01Q``\x88\x01Q\x92\x93\x92a\x10X\x90a\x1BIV[`@\x80Q` \x81\x01\x98\x90\x98R\x87\x01\x95\x90\x95R``\x86\x01\x93\x90\x93Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x80\x85\x01R`\xA0\x84\x01R`\xC0\x83\x01R`\xE0\x82\x01Ra\x01\0\x01[`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x91\x90PV[`\x01Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16a\x10\xE0WPV[`\x01T`@Q\x7F\x8A\xA6\xCF\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90c\x8A\xA6\xCF\x03\x90a\x117\x90\x85\x90`\x04\x01a(\xBFV[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x11TW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x82\x01`@Ra\x11\x9A\x91\x90\x81\x01\x90a(\xD2V[`@\x83\x01QQ\x81Q\x91\x92P\x90`\0a\x11\xB2\x82\x84a)\xA2V[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11\xCAWa\x11\xCAa\x1F\xD4V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x123W\x81` \x01[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x80\x83\x01\x82\x90R\x92\x82\x01R\x82R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x92\x01\x91\x01\x81a\x11\xE8W\x90P[P\x90P`\0[\x83\x81\x10\x15a\x12\x84W\x85`@\x01Q\x81\x81Q\x81\x10a\x12WWa\x12Wa \x03V[` \x02` \x01\x01Q\x82\x82\x81Q\x81\x10a\x12qWa\x12qa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01R`\x01\x01a\x129V[P`\0\x80`\0[\x84\x81\x10\x15a\x15\x9FW`\0\x87\x82\x81Q\x81\x10a\x12\xA7Wa\x12\xA7a \x03V[` \x02` \x01\x01Q\x90P`\0[\x82\x81\x10\x15a\x13eW\x88\x81\x81Q\x81\x10a\x12\xCEWa\x12\xCEa \x03V[` \x02` \x01\x01Q`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x13]W\x81Q`@Q\x7F\xFF\xF0\x83\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[`\x01\x01a\x12\xB4V[P`\0\x80[\x88\x81\x10\x15a\x14&W`\0\x8B`@\x01Q\x82\x81Q\x81\x10a\x13\x8AWa\x13\x8Aa \x03V[` \x02` \x01\x01Q\x90P\x83`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x03a\x14\x1DW\x85\x15a\x14\x07W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x81\x01Qa\x14\x16\x90\x84a)\xA2V[\x92P`\x01\x96P[P`\x01\x01a\x13jV[P\x81Q` \x8B\x01QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16\x91\x16\x03a\x14\x9FW\x84\x15a\x14\x86W`@Q\x7F\xED\xC7\xE2\xE4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[` \x80\x8B\x01Q\x01Qa\x14\x98\x90\x82a)\xA2V[\x90P`\x01\x93P[\x80`\0\x03a\x14\xF4W\x81Q`@Q\x7F\xED\xDF\x07\xF5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16`\x04\x82\x01R`$\x01a\x07\0V[a\x15\x02\x81`\x05a'\x10a\x19\xD1V[\x82` \x01Q\x11\x15a\x15uW\x81Q` \x83\x01Q`@\x80\x85\x01Q\x90Q\x7F\x82\xE7VV\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R`$\x81\x01\x92\x90\x92R\x91\x90\x91\x16`D\x82\x01R`d\x01a\x07\0V[\x81\x86\x84\x8A\x01\x81Q\x81\x10a\x15\x8AWa\x15\x8Aa \x03V[` \x90\x81\x02\x91\x90\x91\x01\x01RPP`\x01\x01a\x12\x8BV[PPP`@\x90\x94\x01\x93\x90\x93RPPPV[\x81QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x160\x14a\x16\x01W`@Q\x7FM\xDFJd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81Q`\x80\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x15a\x04\xC1W\x81Q`\x80\x01Q`@Q\x7Fn\x84\xBA+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x90cn\x84\xBA+\x90a\x16}\x90\x84\x90\x86\x90`\x04\x01a)\xB5V[`\0`@Q\x80\x83\x03\x81\x86\x80;\x15\x80\x15a\x16\x95W`\0\x80\xFD[PZ\xFA\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[PPPPPPV[\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x13|)\xFEa\x17q\x84`@\x80Q`\xA0\x81\x01\x82R`\0``\x82\x01\x81\x81R`\x80\x83\x01\x82\x90R\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91RP`@\x80Q`\xA0\x81\x01\x82R` \x80\x84\x01\x80QQs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16``\x80\x85\x01\x91\x82R\x91Q\x85\x01Q`\x80\x85\x01R\x83R\x84Q\x84\x01Q\x91\x83\x01\x91\x90\x91R\x92Q\x90\x92\x01Q\x90\x82\x01R\x90V[`@\x80Q\x80\x82\x01\x82R`\0\x80\x82R` \x91\x82\x01R\x81Q\x80\x83\x01\x90\x92Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x82R\x80\x87\x01Q\x81\x01Q\x90\x82\x01R\x85`\0\x01Q` \x01Q\x86`\x80\x01Q`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919`@Q` \x01a\x18\x02\x92\x91\x90a'ZV[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R``\x83\x01\x90\x91R`.\x80\x83R\x90\x91\x90a+\x08` \x83\x019`@Q` \x01a\x18U\x92\x91\x90a)\xE4V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x90\x82\x90R``\x8A\x01Q\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\xE0\x89\x90\x1B\x16\x83Ra\x18\xC2\x96\x95\x94\x93\x92`\x04\x01a*?V[`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x18\xDCW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x16\xA9W=`\0\x80>=`\0\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16a\x19\x15Wa\x03_\x82\x82a\x197V[a\x03_s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x163\x84\x84a\x1B\xE7V[`\0\x82s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82`@Q`\0`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x19\x91W`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x19\x96V[``\x91P[PP\x90P\x80a\x03_W`@Q\x7F\xF4\xB3\xB1\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1A\x06W`\0\x80\xFD[P\x91\x02\x04\x90V[`@\x80Q``\x81\x01\x82R`\0\x80\x82R` \x82\x01\x81\x90R\x91\x81\x01\x91\x90\x91R`@Q\x80``\x01`@R\x80\x84`\0\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81R` \x01a\x1A\x84\x85`@\x01Q\x85a\x1Ah\x91\x90a'CV[a\x1Au\x90b\x98\x96\x80a)\xA2V[` \x87\x01Q\x90b\x98\x96\x80a\x1C\xD9V[\x81R` \x01\x84``\x01Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81RP\x90P\x92\x91PPV[`\0`@Q\x80`\xC0\x01`@R\x80`\x8D\x81R` \x01a+6`\x8D\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q`\x80\x89\x01Q`\xA0\x8A\x01Q\x80Q\x90\x89\x01 \x93Qa\x10\xA3\x98\x93\x94\x92\x93\x91\x92\x91\x01\x96\x87Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x95\x86\x16` \x88\x01R\x93\x85\x16`@\x87\x01R``\x86\x01\x92\x90\x92R`\x80\x85\x01R\x90\x91\x16`\xA0\x83\x01R`\xC0\x82\x01R`\xE0\x01\x90V[`\0\x80\x82Q` \x02g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1BiWa\x1Bia\x1F\xD4V[`@Q\x90\x80\x82R\x80`\x1F\x01`\x1F\x19\x16` \x01\x82\x01`@R\x80\x15a\x1B\x93W` \x82\x01\x81\x806\x837\x01\x90P[P\x90P`\0[\x83Q\x81\x10\x15a\x1B\xD8W`\0a\x1B\xC6\x85\x83\x81Q\x81\x10a\x1B\xB9Wa\x1B\xB9a \x03V[` \x02` \x01\x01Qa\x1D\x1DV[` \x83\x81\x02\x85\x01\x01RP`\x01\x01a\x1B\x99V[P\x80Q` \x90\x91\x01 \x92\x91PPV[`\0`@Q\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\x04\x82\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`$\x82\x01R\x82`D\x82\x01R` `\0`d\x83`\0\x8AZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x91PP\x80a\x1C\xD2W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x07\0V[PPPPPV[`\0\x82\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04\x84\x11\x83\x02\x15\x82\x02a\x1D\x0EW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0`@Q\x80`\x80\x01`@R\x80`[\x81R` \x01a+\xC3`[\x919\x80Q` \x91\x82\x01 \x83Q\x84\x83\x01Q`@\x80\x87\x01Q``\x88\x01Q\x91Qa\x10\xA3\x96\x91\x92\x91\x01\x94\x85Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16` \x86\x01R`@\x85\x01\x92\x90\x92R``\x84\x01R\x16`\x80\x82\x01R`\xA0\x01\x90V[`\0`@\x82\x84\x03\x12\x15a\x1D\xA6W`\0\x80\xFD[P\x91\x90PV[`\0\x80\x83`\x1F\x84\x01\x12a\x1D\xBEW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1D\xD6W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0`@\x84\x86\x03\x12\x15a\x1E\nW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1E\"W`\0\x80\xFD[a\x1E.\x87\x83\x88\x01a\x1D\x94V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\x1EDW`\0\x80\xFD[Pa\x1EQ\x86\x82\x87\x01a\x1D\xACV[\x94\x97\x90\x96P\x93\x94PPPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x1EpW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\x88W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82`\x05\x1B\x85\x01\x01\x11\x15a\x1D\xEEW`\0\x80\xFD[`\0\x80` \x83\x85\x03\x12\x15a\x1E\xB6W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1E\xCDW`\0\x80\xFD[a\x1E\xD9\x85\x82\x86\x01a\x1E^V[\x90\x96\x90\x95P\x93PPPPV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x1E\xFBW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x1F\x13W`\0\x80\xFD[a\x1F\x1F\x88\x83\x89\x01a\x1E^V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x1F8W`\0\x80\xFD[Pa\x1FE\x87\x82\x88\x01a\x1D\xACV[\x95\x98\x94\x97P\x95PPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08\x91W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a\x1F\x85W`\0\x80\xFD[\x815a\x1F\x90\x81a\x1FQV[\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\x1F\xA9W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x1F\xC0W`\0\x80\xFD[a\x1F\xCC\x84\x82\x85\x01a\x1D\x94V[\x94\x93PPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[`\0[\x83\x81\x10\x15a MW\x81\x81\x01Q\x83\x82\x01R` \x01a 5V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra n\x81` \x86\x01` \x86\x01a 2V[`\x1F\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`\0\x81Q\x80\x84R` \x80\x85\x01\x94P` \x84\x01`\0[\x83\x81\x10\x15a!\0W\x81Q\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x16\x89R\x84\x82\x01Q\x85\x8A\x01R`@\x91\x82\x01Q\x16\x90\x88\x01R``\x90\x96\x01\x95\x90\x82\x01\x90`\x01\x01a \xB5V[P\x94\x95\x94PPPPPV[`\0\x81Q`\xE0\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`\xE0\x86\x01R\x80` \x83\x01Q\x16a\x01\0\x86\x01R`@\x82\x01Qa\x01 \x86\x01R``\x82\x01Qa\x01@\x86\x01R\x80`\x80\x83\x01Q\x16a\x01`\x86\x01RP`\xA0\x81\x01Q\x90P`\xC0a\x01\x80\x85\x01Ra!\x7Fa\x01\xA0\x85\x01\x82a VV[\x90P` \x83\x01Qa!\xBD` \x86\x01\x82\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x80\x82\x01Q\x90\x83\x01R`@\x90\x81\x01Q\x91\x01RV[P`@\x83\x01Q\x84\x82\x03`\x80\x86\x01Ra!\xD5\x82\x82a \xA0V[\x91PP``\x83\x01Q\x84\x82\x03`\xA0\x86\x01Ra!\xEF\x82\x82a VV[\x91PP`\x80\x83\x01Q`\xC0\x85\x01R\x80\x91PP\x92\x91PPV[`\0`@\x82\x01`@\x83R\x80\x86Q\x80\x83R``\x85\x01\x91P``\x81`\x05\x1B\x86\x01\x01\x92P` \x80\x89\x01`\0[\x83\x81\x10\x15a\"{W\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xA0\x88\x87\x03\x01\x85Ra\"i\x86\x83Qa!\x0BV[\x95P\x93\x82\x01\x93\x90\x82\x01\x90`\x01\x01a\"/V[PP\x85\x84\x03\x81\x87\x01R\x86\x84R\x86\x88\x82\x86\x017`\0\x84\x88\x01\x82\x01R`\x1F\x90\x96\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x90\x92\x01\x90\x94\x01\x96\x95PPPPPPV[`\0\x825\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC1\x836\x03\x01\x81\x12a#\0W`\0\x80\xFD[\x91\x90\x91\x01\x92\x91PPV[`\0\x80\x835\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE1\x846\x03\x01\x81\x12a#?W`\0\x80\xFD[\x83\x01\x805\x91Pg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a#ZW`\0\x80\xFD[` \x01\x91P6\x81\x90\x03\x82\x13\x15a\x1D\xEEW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@R\x90V[`@Q`\x80\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\xC0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a#\x92Wa#\x92a\x1F\xD4V[`@Q`\x1F\x82\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x16\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a$%Wa$%a\x1F\xD4V[`@R\x91\x90PV[`\0\x82`\x1F\x83\x01\x12a$>W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$XWa$Xa\x1F\xD4V[a$\x89` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x84\x01\x16\x01a#\xDEV[\x81\x81R\x84` \x83\x86\x01\x01\x11\x15a$\x9EW`\0\x80\xFD[\x81` \x85\x01` \x83\x017`\0\x91\x81\x01` \x01\x91\x90\x91R\x93\x92PPPV[`\0``\x82\x84\x03\x12\x15a$\xCDW`\0\x80\xFD[a$\xD5a#oV[\x90P\x815a$\xE2\x81a\x1FQV[\x80\x82RP` \x82\x015` \x82\x01R`@\x82\x015`@\x82\x01R\x92\x91PPV[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x15a%\x1AWa%\x1Aa\x1F\xD4V[P`\x05\x1B` \x01\x90V[`\0\x82`\x1F\x83\x01\x12a%5W`\0\x80\xFD[\x815` a%Ja%E\x83a%\0V[a#\xDEV[\x82\x81R`\x07\x92\x90\x92\x1B\x84\x01\x81\x01\x91\x81\x81\x01\x90\x86\x84\x11\x15a%iW`\0\x80\xFD[\x82\x86\x01[\x84\x81\x10\x15a%\xCEW`\x80\x81\x89\x03\x12\x15a%\x86W`\0\x80\x81\xFD[a%\x8Ea#\x98V[\x815a%\x99\x81a\x1FQV[\x81R\x81\x85\x015\x85\x82\x01R`@\x80\x83\x015\x90\x82\x01R``\x80\x83\x015a%\xBC\x81a\x1FQV[\x90\x82\x01R\x83R\x91\x83\x01\x91`\x80\x01a%mV[P\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a%\xEBW`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a&\x03W`\0\x80\xFD[\x90\x83\x01\x90`\xC0\x82\x86\x03\x12\x15a&\x17W`\0\x80\xFD[a&\x1Fa#\x98V[\x825\x82\x81\x11\x15a&.W`\0\x80\xFD[\x83\x01`\xC0\x81\x88\x03\x12\x15a&@W`\0\x80\xFD[a&Ha#\xBBV[\x815a&S\x81a\x1FQV[\x81R` \x82\x015a&c\x81a\x1FQV[\x80` \x83\x01RP`@\x82\x015`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015a&\x8C\x81a\x1FQV[`\x80\x82\x01R`\xA0\x82\x015\x84\x81\x11\x15a&\xA3W`\0\x80\xFD[a&\xAF\x89\x82\x85\x01a$-V[`\xA0\x83\x01RP\x82RP` \x83\x81\x015\x90\x82\x01Ra&\xCF\x86`@\x85\x01a$\xBBV[`@\x82\x01R`\xA0\x83\x015\x82\x81\x11\x15a&\xE6W`\0\x80\xFD[a&\xF2\x87\x82\x86\x01a%$V[``\x83\x01RP\x95\x94PPPPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0E\xDFWa\x0E\xDFa'\x01V[\x7FPriorityOrder(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\x7FOrderInfo info,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x0E\x82\x01R\x7Fuint256 startBlock,\0\0\0\0\0\0\0\0\0\0\0\0\0`\x1D\x82\x01R\x7Faddress inputToken,\0\0\0\0\0\0\0\0\0\0\0\0\0`0\x82\x01R\x7Fuint256 inputAmount,\0\0\0\0\0\0\0\0\0\0\0\0`C\x82\x01R\x7Fuint256 inputMpsPerPriorityFeeWe`W\x82\x01R\x7Fi,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`w\x82\x01R\x7FPriorityOutput[] outputs)\0\0\0\0\0\0\0`y\x82\x01R`\0\x83Qa(\x9C\x81`\x92\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a(\xB3\x81`\x92\x84\x01` \x88\x01a 2V[\x01`\x92\x01\x94\x93PPPPV[` \x81R`\0a\x1F\x90` \x83\x01\x84a!\x0BV[`\0` \x80\x83\x85\x03\x12\x15a(\xE5W`\0\x80\xFD[\x82Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a(\xFCW`\0\x80\xFD[\x83\x01`\x1F\x81\x01\x85\x13a)\rW`\0\x80\xFD[\x80Qa)\x1Ba%E\x82a%\0V[\x81\x81R``\x91\x82\x02\x83\x01\x84\x01\x91\x84\x82\x01\x91\x90\x88\x84\x11\x15a):W`\0\x80\xFD[\x93\x85\x01\x93[\x83\x85\x10\x15a)\x96W\x80\x85\x8A\x03\x12\x15a)WW`\0\x80\x81\xFD[a)_a#oV[\x85Qa)j\x81a\x1FQV[\x81R\x85\x87\x01Q\x87\x82\x01R`@\x80\x87\x01Qa)\x83\x81a\x1FQV[\x90\x82\x01R\x83R\x93\x84\x01\x93\x91\x85\x01\x91a)?V[P\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x0E\xDFWa\x0E\xDFa'\x01V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x81R`@` \x82\x01R`\0a\x1F\xCC`@\x83\x01\x84a!\x0BV[\x7FPriorityOrder witness)\0\0\0\0\0\0\0\0\0\0\x81R`\0\x83Qa*\x1C\x81`\x16\x85\x01` \x88\x01a 2V[\x83Q\x90\x83\x01\x90a*3\x81`\x16\x84\x01` \x88\x01a 2V[\x01`\x16\x01\x94\x93PPPPV[`\0a\x01@a*o\x83\x8AQ\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[` \x89\x01Q`@\x84\x01R`@\x89\x01Q``\x84\x01Ra*\xB0`\x80\x84\x01\x89\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x82R` \x90\x81\x01Q\x91\x01RV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16`\xC0\x84\x01R\x85`\xE0\x84\x01R\x80a\x01\0\x84\x01Ra*\xE5\x81\x84\x01\x86a VV[\x90P\x82\x81\x03a\x01 \x84\x01Ra*\xFA\x81\x85a VV[\x99\x98PPPPPPPPPV\xFETokenPermissions(address token,uint256 amount)OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 }\xD3h\xB7\xA2@\xA8\xC6\xADAv\xCE\xEB\x89\x0CQw$\x16x7~\xE4\xAFc\xD2;\xD2\xE5~O/dsolcC\0\x08\x18\x003`@`\x80\x81R`\x04\x90\x816\x10\x15a\0\x15W`\0\x80\xFD[`\0\x90\x815`\xE0\x1C\x80c\rX\xB1\xDB\x14a\x12lW\x80c\x13|)\xFE\x14a\x10uW\x80c*-\x80\xD1\x14a\r\xB7W\x80c+g\xB5p\x14a\x0B\xDEW\x80c0\xF2\x8Bz\x14a\n\xDEW\x80c6D\xE5\x15\x14a\n\x9DW\x80c6\xC7\x85\x16\x14a\n(W\x80c?\xF9\xDC\xB1\x14a\t\xA8W\x80cO\xE0+D\x14a\t?W\x80ce\xD9r<\x14a\x07\xACW\x80c\x87Q|E\x14a\x06zW\x80c\x92}\xA1\x05\x14a\x05\xC3W\x80c\xCCS(\x7F\x14a\x04\xA3W\x80c\xED\xD9DK\x14a\x03:Wc\xFE\x8E\xC1\xA7\x14a\0\xC6W`\0\x80\xFD[4a\x036W`\xC0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x835\x81\x81\x11a\x032Wa\x01\x14\x906\x90\x86\x01a\x16KV[`$5\x82\x81\x11a\x03.Wa\x01+\x906\x90\x87\x01a\x16\x1AV[a\x013a\x14\xE6V[\x91`\x845\x85\x81\x11a\x03*Wa\x01K\x906\x90\x8A\x01a\x15\xC1V[\x98\x90\x95`\xA45\x90\x81\x11a\x03&Wa\x01d\x916\x91\x01a\x15\xC1V[\x96\x90\x95\x81Q\x90a\x01s\x82a\x13\xFFV[`k\x82R\x7FPermitBatchWitnessTransferFrom(T` \x83\x01R\x7FokenPermissions[] permitted,addr\x83\x83\x01R\x7Fess spender,uint256 nonce,uint25``\x83\x01R\x7F6 deadline,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x82Q\x9A\x8B\x91\x81a\x02\"` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8A\x81R\x03\x99a\x02[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x9B\x8C\x81\x01\x83R\x82a\x147V[Q\x90 \x90\x85QQa\x02k\x81a\x1E\xBBV[\x90\x8A[\x81\x81\x10a\x02\xF9WPPa\x02\xF6\x99\x9Aa\x02\xED\x91\x83Qa\x02\xA0\x81a\x02\x94` \x82\x01\x80\x95a\x1FfV[\x03\x84\x81\x01\x83R\x82a\x147V[Q\x90 ` \x89\x81\x01Q\x85\x8B\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`d5`\xC0\x84\x01R\x82`\xE0\x81\x01[\x03\x90\x81\x01\x83R\x82a\x147V[Q\x90 \x93a\x1C\xF7V[\x80\xF3[\x80a\x03\x11a\x03\x0Ba\x03!\x93\x8CQa\x17^V[Qa TV[a\x03\x1B\x82\x86a\x17^V[Ra\x1F\nV[a\x02nV[\x88\x80\xFD[\x87\x80\xFD[\x84\x80\xFD[\x83\x80\xFD[P\x80\xFD[P\x914a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x805\x82\x81\x11a\x032Wa\x03\x8B\x906\x90\x83\x01a\x16KV[`$5\x83\x81\x11a\x03.Wa\x03\xA2\x906\x90\x84\x01a\x16\x1AV[\x93\x90\x92a\x03\xADa\x14\xE6V[\x91`d5\x90\x81\x11a\x04\x9FWa\x03\xC4\x916\x91\x01a\x15\xC1V[\x94\x90\x93\x83QQ\x97a\x03\xD4\x89a\x1E\xBBV[\x98\x88[\x81\x81\x10a\x04}WPPa\x02\xF6\x97\x98\x81Qa\x04%\x81a\x03\xF9` \x82\x01\x80\x95a\x1FfV[\x03\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x01\x83R\x82a\x147V[Q\x90 ` \x86\x01Q\x82\x87\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\xFC\xF3_Z\xC6\xA2\xC2\x88h\xDCD\xC3\x02\x16dp&b9\x19_\x02\xB0\xEE@\x834\x82\x933\xB7f\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x02\xED\x81a\x14\x1BV[\x80\x8Ba\x03\x1B\x82a\x04\x94a\x03\x0Ba\x04\x9A\x96\x8DQa\x17^V[\x92a\x17^V[a\x03\xD7V[\x86\x80\xFD[P\x824a\x05\xBFW` \x90\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x805\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11a\x03.Wa\x04\xF4\x916\x91\x01a\x16\x1AV[\x92\x90\x91\x84[\x84\x81\x10a\x05\x04W\x85\x80\xF3[\x80a\x05\x1Aa\x05\x15`\x01\x93\x88\x88a\x19lV[a\x19|V[a\x05/\x84a\x05)\x84\x8A\x8Aa\x19lV[\x01a\x19|V[3\x89R\x83\x85R\x85\x89 \x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x92\x83\x8BR\x86R\x86\x8A \x91\x16\x90\x81\x8AR\x85R\x85\x89 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81T\x16\x90U\x85Q\x91\x82R\x84\x82\x01R\x7F\x89\xB1\xAD\xD1^\xFFV\xB3\xDF\xE2\x99\xAD\x94\xE0\x1F+R\xFB\xCB\x80\xAE\x1A;\xAE\xA6\xAE\x8C\x04\xCB+\x98\xA4\x853\x92\xA2\x01a\x04\xF9V[\x82\x80\xFD[P4a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06v\x81a\x05\xFFa\x14\xA0V[\x93a\x06\x08a\x14\xC3V[a\x06\x10a\x14\xE6V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x96\x87\x16\x83R`\x01` \x90\x81R\x84\x84 \x92\x88\x16\x84R\x91\x82R\x83\x83 \x90\x87\x16\x83R\x81R\x91\x90 T\x92Q\x93\x83\x16\x84R`\xA0\x83\x90\x1Ce\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x84\x01R`\xD0\x91\x90\x91\x1C`@\x83\x01R\x81\x90``\x82\x01\x90V[\x03\x90\xF3[P4a\x036W`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x06\xB2a\x14\xA0V[\x90a\x06\xBBa\x14\xC3V[\x91a\x06\xC4a\x14\xE6V[e\xFF\xFF\xFF\xFF\xFF\xFF\x92`d5\x84\x81\x16\x90\x81\x81\x03a\x03*Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\x7F\xDA\x9F\xA7\xC1\xB0\x04\x02\xC1}\x01a\xB2I\xB1\xAB\x8B\xBE\xC0G\xC5\xA5\"\x07\xB9\xC1\x12\xDE\xFF\xD8\x17\x03k\x943\x8AR`\x01` R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x85\x8B \x98s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x94\x16\x99\x8A\x8DR` R\x83\x87\x8D \x9B\x16\x9A\x8B\x8DR` R\x86\x8C \x94\x86\x15`\0\x14a\x07\xA4WPB\x16\x92[\x84T\x92\x16\x97\x88\x93`\xA0\x1B\x16\x91\x16\x17\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA4\x80\xF3[\x90P\x92a\x07\x83V[P\x824a\x05\xBFW``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x07\xE5a\x14\xA0V[\x90a\x07\xEEa\x14\xC3V[\x92e\xFF\xFF\xFF\xFF\xFF\xFF`D5\x81\x81\x16\x93\x90\x84\x81\x03a\x03*W3\x88R` \x91`\x01\x83R\x84\x89 \x96s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91\x16\x97\x88\x8BR\x84R\x85\x8A \x98\x16\x97\x88\x8AR\x83R\x84\x89 T`\xD0\x1C\x93\x84\x87\x11\x15a\t\x17Wa\xFF\xFF\x90\x85\x84\x03\x16\x11a\x08\xF0WP\x90\x7FU\xEB\x90\xD8\x10\xE1p\x0B5\xA8\xE7\xE2S\x95\xFF\x7F+\"Y\xAB\xD7A\\\xA2(M\xFB\x1C$d\x18\xF3\x93\x92\x913\x89R`\x01\x82R\x83\x89 \x87\x8AR\x82R\x83\x89 \x88\x8AR\x82R\x83\x89 \x90y\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83T\x92`\xD0\x1B\x16\x91\x16\x17\x90U\x82Q\x94\x85R\x84\x01R3\x92\xA4\x80\xF3[\x84Q\x7F$\xD3Z&\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[P4a\x036W\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W\x80` \x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\t\x8Fa\x14\xA0V[\x16\x81R\x80\x84R\x81\x81 `$5\x82R\x84R T\x90Q\x90\x81R\xF3[P\x824a\x05\xBFW\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFW\x7F7\x04\x90/\x967f\xA4\xE5a\xBB\xAA\xB6\xE6\xCD\xC1\xB1\xDD\x12\xF6\xE9\xE9\x96H\xDA\x88C\xB3\xF4k\x91\x8D\x905\x91`$53\x85R\x84` R\x81\x85 \x84\x86R` R\x81\x85 \x81\x81T\x17\x90U\x81Q\x93\x84R` \x84\x01R3\x92\xA2\x80\xF3[\x824a\n\x9AW`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\n\x9AWa\n`a\x14\xA0V[a\nha\x14\xC3V[a\npa\x14\xE6V[`d5\x91s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16\x83\x03a\x03.Wa\x02\xF6\x93a\x17\xA1V[\x80\xFD[P4a\x036W\x81\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036W` \x90a\n\xD7a\x1B\x1EV[\x90Q\x90\x81R\xF3[P\x82\x904a\x05\xBFWa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x0B\x1A6a\x15*V[\x90\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x0BLa\x14xV[\x91`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x0B\xDAWa\x02\xF6\x94a\x0Bo\x916\x91\x01a\x15\xC1V[\x93\x90\x92a\x0B|\x83Qa TV[` \x84\x01Q\x82\x85\x01Q\x90\x83Q\x92` \x84\x01\x94\x7F\x93\x9C!\xA4\x8A\x8D\xBE:\x9A$\x04\xA1\xD4f\x91\xE4\xD3\x9Fe\x83\xD6\xECk5qF\x04\xC9\x86\xD8\x01\x06\x86R\x84\x01R3``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xA0\x81Ra\x0B\xD1\x81a\x14\x1BV[Q\x90 \x91a\x1C%V[\x85\x80\xFD[P\x914a\x036Wa\x01\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x036Wa\x0C\x18a\x14\xA0V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC6\x01`\xC0\x81\x12a\x032W`\x80\x85Q\x91a\x0CQ\x83a\x13\xE3V[\x12a\x032W\x84Q\x90a\x0Cb\x82a\x13\x98V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91`$5\x83\x81\x16\x81\x03a\x04\x9FW\x81R`D5\x83\x81\x16\x81\x03a\x04\x9FW` \x82\x01Re\xFF\xFF\xFF\xFF\xFF\xFF`d5\x81\x81\x16\x81\x03a\x03*W\x88\x83\x01R`\x845\x90\x81\x16\x81\x03a\x04\x9FW``\x82\x01R\x81R`\xA45\x93\x82\x85\x16\x85\x03a\x0B\xDAW` \x82\x01\x94\x85R`\xC45\x90\x87\x83\x01\x82\x81R`\xE45g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x03&Wa\x0C\xFE\x906\x90\x84\x01a\x15\xC1V[\x92\x90\x93\x80B\x11a\r\x88WPP\x91\x85\x91a\rxa\x02\xF6\x99\x9Aa\r~\x95a\r#\x88Qa\x1F\xBEV[\x90\x89\x8CQ\x16\x90Q\x90\x83Q\x92` \x84\x01\x94\x7F\xF3\x84\x1C\xD1\xFF\0\x85\x02jc'\xB6 \xB6y\x97\xCE@\xF2\x82\xC8\x8A\x8E\x90ZzV&\xE3\x10\xF3\xD0\x86R\x84\x01R``\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x90 a\x1B\xD9V[\x91a \xC7V[Q\x92Q\x16\x91a\x19\x9DV[`$\x92P\x8AQ\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[P\x914a\x036W``\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x93\x81\x856\x01\x12a\x032Wa\r\xF3a\x14\xA0V[\x92`$\x90\x815\x92g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x97\x88\x85\x11a\x03*W\x85\x90\x856\x03\x01\x12a\x04\x9FW\x80Q\x97\x85\x89\x01\x89\x81\x10\x82\x82\x11\x17a\x10JW\x82R\x84\x83\x015\x81\x81\x11a\x03&W\x85\x01\x906`#\x83\x01\x12\x15a\x03&W\x83\x82\x015\x91a\x0EP\x83a\x15\xEFV[\x90a\x0E]\x85Q\x92\x83a\x147V[\x83\x82R` \x93\x87\x85\x84\x01\x91`\x07\x1B\x83\x01\x01\x916\x83\x11a\x10FW\x88\x01\x90[\x82\x82\x10a\x0F\xE9WPPP\x8AR`Da\x0E\x93\x86\x88\x01a\x15\tV[\x96\x83\x8C\x01\x97\x88R\x015\x94\x83\x8B\x01\x91\x86\x83R`D5\x90\x81\x11a\x0F\xE5Wa\x0E\xBB\x906\x90\x87\x01a\x15\xC1V[\x95\x90\x96\x80B\x11a\x0F\xBAWPPP\x89\x98\x99QQa\x0E\xD6\x81a\x1E\xBBV[\x90\x8B[\x81\x81\x10a\x0F\x97WPP\x92\x88\x94\x92a\rx\x92a\x0Fd\x97\x95\x83Qa\x0F\x02\x81a\x03\xF9\x86\x82\x01\x80\x95a\x1FfV[Q\x90 \x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x9A\x8B\x8BQ\x16\x91Q\x92\x85Q\x94\x85\x01\x95\x7F\xAF\x1B\r0\xD2\xCA\xB08\x0Eh\xF0h\x90\x07\xE3%I\x93\xC5\x96\xF2\xFD\xD0\xAA\xA7\xF4\xD0OyD\x08c\x87R\x85\x01R\x83\x01R`\x80\x82\x01R`\x80\x81Ra\rp\x81a\x13\xFFV[Q\x16\x90\x82QQ\x92\x84[\x84\x81\x10a\x0FxW\x85\x80\xF3[\x80a\x0F\x91\x85\x85a\x0F\x8B`\x01\x95\x87Qa\x17^V[Qa\x19\x9DV[\x01a\x0FmV[\x80a\x03\x11a\x0F\xAC\x8E\x9F\x9E\x93a\x0F\xB2\x94Qa\x17^V[Qa\x1F\xBEV[\x9B\x9A\x9Ba\x0E\xD9V[\x85Q\x91\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83R\x82\x01R\xFD[\x8A\x80\xFD[`\x80\x826\x03\x12a\x10FW\x85`\x80\x91\x88Qa\x10\x02\x81a\x13\x98V[a\x10\x0B\x85a\x15\tV[\x81Ra\x10\x18\x83\x86\x01a\x15\tV[\x83\x82\x01Ra\x10'\x8A\x86\x01a\x16\x07V[\x8A\x82\x01R\x8Da\x107\x81\x87\x01a\x16\x07V[\x90\x82\x01R\x81R\x01\x91\x01\x90a\x0EzV[\x8C\x80\xFD[\x84\x89`A\x86\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83RR\xFD[P\x824a\x05\xBFWa\x01@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x05\xBFWa\x10\xB06a\x15*V[\x91\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF|6\x01\x12a\x032Wa\x10\xE2a\x14xV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x90a\x01\x045\x85\x81\x11a\x04\x9FWa\x11\x05\x906\x90\x86\x01a\x15\xC1V[\x90\x93a\x01$5\x96\x87\x11a\x03*Wa\x11%a\x0B\xD1\x96a\x02\xF6\x986\x91\x01a\x15\xC1V[\x96\x90\x95\x82Q\x90a\x114\x82a\x13\xFFV[`d\x82R\x7FPermitWitnessTransferFrom(TokenP` \x83\x01R\x7Fermissions permitted,address spe\x84\x83\x01R\x7Fnder,uint256 nonce,uint256 deadl``\x83\x01R\x7Fine,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x80\x83\x01R\x83Q\x94\x85\x91\x81a\x11\xE3` \x85\x01\x80\x96a\x1F\x93V[\x91\x827\x01\x8B\x81R\x03\x93a\x12\x1C\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x95\x86\x81\x01\x83R\x82a\x147V[Q\x90 \x92a\x12*\x86Qa TV[` \x87\x81\x01Q\x85\x89\x01Q\x95Q\x91\x82\x01\x96\x87R`@\x82\x01\x92\x90\x92R3``\x82\x01R`\x80\x81\x01\x91\x90\x91R`\xA0\x81\x01\x93\x90\x93R`\xE45`\xC0\x84\x01R\x82`\xE0\x81\x01a\x02\xE1V[P\x824a\x05\xBFW` \x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC6\x01\x12a\x032W\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x92\x83\x82\x11a\x0B\xDAW6`#\x83\x01\x12\x15a\x0B\xDAW\x81\x015\x92\x83\x11a\x03.W`$\x90`\x076\x83\x86\x83\x1B\x84\x01\x01\x11a\x04\x9FW\x86[\x85\x81\x10a\x12\xE5W\x87\x80\xF3[\x80\x82\x1B\x83\x01\x90`\x80\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xDC\x836\x03\x01\x12a\x03&Wa\x13\x92\x88\x87`\x01\x94``\x83Qa\x13,\x81a\x13\x98V[a\x13h`\x84a\x13<\x8D\x86\x01a\x15\tV[\x94\x85\x84Ra\x13L`D\x82\x01a\x15\tV[\x80\x97\x85\x01Ra\x13]`d\x82\x01a\x15\tV[\x80\x98\x85\x01R\x01a\x15\tV[\x91\x82\x91\x01Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x80\x80\x93\x16\x95\x16\x93\x16\x91\x16a\x17\xA1V[\x01a\x12\xDAV[`\x80\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[``\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xA0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC0\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[\x90`\x1F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x91\x01\x16\x81\x01\x90\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RV[`\xC45\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`\0\x80\xFD[`\x045\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`$5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[`D5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[5\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x01\x90`\x80\x82\x12a\x14\x9BW`@\x80Q\x90a\x15c\x82a\x13\xE3V[\x80\x82\x94\x12a\x14\x9BW\x80Q\x81\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W\x82R`\x045s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x81R`$5` \x82\x01R\x82R`D5` \x83\x01R`d5\x91\x01RV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x83\x81\x86\x01\x95\x01\x01\x11a\x14\x9BWV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11a\x13\xB4W`\x05\x1B` \x01\x90V[5\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16\x82\x03a\x14\x9BWV[\x91\x81`\x1F\x84\x01\x12\x15a\x14\x9BW\x825\x91g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x11a\x14\x9BW` \x80\x85\x01\x94\x84`\x06\x1B\x01\x01\x11a\x14\x9BWV[\x91\x90\x91``\x81\x84\x03\x12a\x14\x9BW`@\x80Q\x91a\x16f\x83a\x13\xE3V[\x82\x94\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x81\x11a\x14\x9BW\x83\x01\x82`\x1F\x82\x01\x12\x15a\x14\x9BW\x805a\x16\x93\x81a\x15\xEFV[\x92a\x16\xA0\x87Q\x94\x85a\x147V[\x81\x84R` \x94\x85\x80\x86\x01\x93`\x06\x1B\x85\x01\x01\x93\x81\x85\x11a\x14\x9BW\x90\x86\x89\x98\x97\x96\x95\x94\x93\x92\x01\x92[\x84\x84\x10a\x16\xE3WPPPPP\x85R\x80\x82\x015\x90\x85\x01R\x015\x91\x01RV[\x90\x91\x92\x93\x94\x95\x96\x97\x84\x83\x03\x12a\x14\x9BW\x88Q\x90\x89\x82\x01\x90\x82\x82\x10\x85\x83\x11\x17a\x170W\x8A\x92\x89\x92\x84Ra\x17\x14\x87a\x15\tV[\x81R\x82\x87\x015\x83\x82\x01R\x81R\x01\x93\x01\x91\x90\x88\x97\x96\x95\x94\x93a\x16\xC6V[`$`\0\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`A`\x04R\xFD[\x80Q\x82\x10\x15a\x17rW` \x91`\x05\x1B\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`2`\x04R`$`\0\xFD[\x92\x91\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`@`\0\x82\x84\x16\x81R`\x01` R\x82\x82\x82 \x96\x16\x95\x86\x82R` R\x81\x81 3\x82R` R \x94\x85T\x95e\xFF\xFF\xFF\xFF\xFF\xFF\x87`\xA0\x1C\x16\x80B\x11a\x18\x84WP\x82\x87\x16\x96\x83\x88\x03a\x18\x12W[PPa\x18\x10\x95P\x16\x92a\x18\xB5V[V[\x87\x84\x84\x16\x11`\0\x14a\x18OW`$\x88`@Q\x90\x7F\xF9o\xB0q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84\x84a\x18\x10\x9A\x03\x16\x91\x16\x17\x90U8\x80a\x18\x02V[`$\x90`@Q\x90\x7F\xD8\x1B/.\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90`\0`d\x92` \x95\x82\x95`@Q\x94\x7F#\xB8r\xDD\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86R`\x04\x86\x01R`$\x85\x01R`D\x84\x01RZ\xF1=\x15`\x1F=\x11`\x01`\0Q\x14\x16\x17\x16\x15a\x19\x0EWV[`d`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x14`$\x82\x01R\x7FTRANSFER_FROM_FAILED\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R\xFD[\x91\x90\x81\x10\x15a\x17rW`\x06\x1B\x01\x90V[5s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x03a\x14\x9BW\x90V[\x90e\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81``\x84\x01Q\x16s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x81\x85Q\x16\x94\x82` \x82\x01Q\x16\x92\x80\x86`@\x80\x94\x01Q\x16\x95\x16\x95`\0\x91\x87\x83R`\x01` R\x83\x83 \x89\x84R` R\x83\x83 \x99\x16\x98\x89\x83R` R\x82\x82 \x91\x84\x83T`\xD0\x1C\x03a\x1A\xF5W\x91\x85a\x1A\xCE\x94\x92\x7F\xC6\xA3w\xBF\xC4\xEB\x12\0$\xA8\xAC\x08\xEE\xF2\x05\xBE\x16\xB8\x17\x02\x08\x12\xC72#\xE8\x1D\x1B\xDB\x97\x08\xEC\x98\x97\x96\x94P\x87\x15`\0\x14a\x1A\xD3Wy\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90B\x16[`\xA0\x1B\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\x01\x86\x01`\xD0\x1B\x16\x17\x17\x90UQ\x93\x84\x93\x84\x91`@\x91\x94\x93s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF``\x85\x01\x96\x16\x84Re\xFF\xFF\xFF\xFF\xFF\xFF\x80\x92\x16` \x85\x01R\x16\x91\x01RV[\x03\x90\xA4V[Py\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x87a\x1A`V[`\x04\x84Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03a\x1BiW\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x90V[`@Q` \x81\x01\x90\x7F\x8C\xAD\x95h{\xA8,,\xE5\x0Et\xF7\xB7Td^Q\x17\xC3\xA5\xBE\xC8\x15\x1C\x07&\xD5\x85y\x80\xA8f\x82R\x7F\x9A\xC9\x97An\x8F\xF9\xD2\xFFk\xEB\xEBqI\xF6\\\xDA\xE5\xE3.+\x90D\x0BVk\xB3\x04@A\xD3j`@\x82\x01RF``\x82\x01R0`\x80\x82\x01R`\x80\x81Ra\x1B\xD3\x81a\x13\xFFV[Q\x90 \x90V[a\x1B\xE1a\x1B\x1EV[\x90`@Q\x90` \x82\x01\x92\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x84R`\"\x83\x01R`B\x82\x01R`B\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x92\x90\x93`\xA45\x93`@\x84\x01Q\x80B\x11a\x1C\xC6WP` \x84Q\x01Q\x80\x86\x11a\x1C\x95WP\x91\x85\x91a\rxa\x1Ce\x94a\x1C`` \x88\x01Q\x86a\x1EGV[a\x1B\xD9V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x91QQ\x16\x92`\x845\x91\x82\x16\x82\x03a\x14\x9BWa\x18\x10\x93a\x18\xB5V[`$\x90`@Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`$\x90`@Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x95\x90\x93\x95\x80QQ\x95`@\x92\x83\x83\x01Q\x80B\x11a\x1E\x17WP\x84\x88\x03a\x1D\xEEWa\x1D.\x91\x86\x91a\rx` \x9Ba\x1C`\x8D\x88\x01Q\x86a\x1EGV[`\0[\x86\x81\x10a\x1DBWPPPPPPPPV[a\x1DM\x81\x83Qa\x17^V[Q\x88a\x1DZ\x83\x87\x8Aa\x19lV[\x015\x90\x89\x81\x01Q\x80\x83\x11a\x1D\xBEWP\x91\x81\x88\x88\x88`\x01\x96\x85\x96a\x1D\x84W[PPPPPP\x01a\x1D1V[a\x1D\xB3\x95a\x1D\xAD\x92s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFFa\x05\x15\x93Q\x16\x95a\x19lV[\x91a\x18\xB5V[\x808\x88\x88\x88\x83a\x1DxV[`$\x90\x86Q\x90\x7F7(\xB8=\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[`\x04\x84Q\x7F\xFFc:8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`$\x90\x85Q\x90\x7F\xCD!\xDBO\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82R`\x04\x82\x01R\xFD[\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x01`\xFF\x83\x16\x1B\x92\x16`\0R`\0` R`@`\0 \x90`\x08\x1C`\0R` R`@`\0 \x81\x81T\x18\x80\x91U\x16\x15a\x1E\x91WV[`\x04`@Q\x7Fuf\x88\xFE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90a\x1E\xC5\x82a\x15\xEFV[a\x1E\xD2`@Q\x91\x82a\x147V[\x82\x81R\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0a\x1F\0\x82\x94a\x15\xEFV[\x01\x90` 6\x91\x017V[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x1F7W`\x01\x01\x90V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[\x80Q` \x80\x92\x01\x91`\0[\x82\x81\x10a\x1F\x7FWPPPP\x90V[\x83Q\x85R\x93\x81\x01\x93\x92\x81\x01\x92`\x01\x01a\x1FqV[\x90\x81Q\x91`\0[\x83\x81\x10a\x1F\xABWPP\x01`\0\x81R\x90V[\x80` \x80\x92\x84\x01\x01Q\x81\x85\x01R\x01a\x1F\x9AV[`@Q` \x81\x01\x91\x7Febl\xADl\xB9d\x93\xBFo^\xBE\xA2\x87V\xC9f\xF0#\xAB\x9E\x8A\x83\xA7\x10\x18I\xD5W;6x\x83Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82Q\x16`@\x84\x01R` \x82\x01Q\x16``\x83\x01R``e\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82`@\x82\x01Q\x16`\x80\x85\x01R\x01Q\x16`\xA0\x82\x01R`\xA0\x81R`\xC0\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17a\x13\xB4W`@RQ\x90 \x90V[`@Q` \x80\x82\x01\x92\x7Fa\x83X\xAC=\xB8\xDC'O\x0C\xD8\x82\x9D\xA7\xE24\xBDH\xCDs\xC4\xA7@\xAE\xDE\x1A\xDE\xC9\x84m\x06\xA1\x84Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81Q\x16`@\x84\x01R\x01Q``\x82\x01R``\x81Ra\x1B\xD3\x81a\x13\x98V[\x91\x90\x82`@\x91\x03\x12a\x14\x9BW` \x825\x92\x015\x90V[`\0\x84;a\".WP`A\x82\x03a!\xACWa \xE4\x82\x82\x01\x82a \xB1V[\x93\x90\x92`@\x10\x15a\x17rW` \x93`\0\x93`\xFF`@`\x80\x95\x015`\xF8\x1C[`@Q\x94\x85R\x16\x86\x84\x01R`@\x83\x01R``\x82\x01R\x82\x80R`\x01Z\xFA\x15a!\xA0Ws\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80`\0Q\x16\x91\x82\x15a!vW\x16\x03a!LWV[`\x04`@Q\x7F\x81^\x1Dd\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`\x04`@Q\x7F\x8B\xAAW\x9F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[`@Q=`\0\x82>=\x90\xFD[`@\x82\x03a\"\x04Wa!\xC0\x91\x81\x01\x90a \xB1V[\x91`\x1B\x7F\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16\x93`\xFF\x1C\x01\x90`\xFF\x82\x11a\x1F7W` \x93`\0\x93`\xFF`\x80\x94a!\x02V[`\x04`@Q\x7FK\xE62\x1B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x92\x93\x91`\x1F\x92\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`d` \x95\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`@Q\x98\x89\x97\x88\x96\x87\x94\x7F\x16&\xBA~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9E\x8F\x87R`\x04\x87\x01R`@`$\x87\x01R\x81`D\x87\x01R\x86\x86\x017\x8B\x85\x82\x86\x01\x01R\x01\x16\x81\x01\x03\x01\x92\x16Z\xFA\x90\x81\x15a#\xA8W\x82\x91a#*W[P\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x91P\x16\x03a#\0WV[`\x04`@Q\x7F\xB0f\x9C\xBC\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R\xFD[\x90P` \x81=\x82\x11a#\xA0W[\x81a#D` \x93\x83a\x147V[\x81\x01\x03\x12a\x036WQ\x90\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\x16\x82\x03a\n\x9AWP\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x908a\"\xD4V[=\x91Pa#7V[`@Q=\x84\x82>=\x90\xFD\xFE\xA1dsolcC\0\x08\x11\0\nTokenPermissions(address token,uint256 amount)PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,OrderInfo(address reactor,address swapper,uint256 nonce,uint256 deadline,address additionalValidationContract,bytes additionalValidationData)PriorityOutput(address token,uint256 amount,uint256 mpsPerPriorityFeeWei,address recipient)\xA2dipfsX\"\x12 4GN\x15\xC1\xF6\xD6$\0\xE5\xFD\xD9F\x06\xA1\xBB\x1A|\x19\x0B\xD4\xE3y\x1Dk\xD8\x16\xDDg\xB37OdsolcC\0\x08\x18\x003"; - /// The deployed bytecode of the contract. - pub static PRIORITYORDERREACTORINTEGRATION_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); - pub struct PriorityOrderReactorIntegration(::ethers::contract::Contract); - impl ::core::clone::Clone for PriorityOrderReactorIntegration { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for PriorityOrderReactorIntegration { - type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for PriorityOrderReactorIntegration { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for PriorityOrderReactorIntegration { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(PriorityOrderReactorIntegration)) - .field(&self.address()) - .finish() - } - } - impl PriorityOrderReactorIntegration { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - PRIORITYORDERREACTORINTEGRATION_ABI.clone(), - client, - ), - ) - } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction - /// - /// Notes: - /// - If there are no constructor arguments, you should pass `()` as the argument. - /// - The default poll duration is 7 seconds. - /// - The default number of confirmations is 1 block. - /// - /// - /// # Example - /// - /// Generate contract bindings with `abigen!` and deploy a new contract instance. - /// - /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. - /// - /// ```ignore - /// # async fn deploy(client: ::std::sync::Arc) { - /// abigen!(Greeter, "../greeter.json"); - /// - /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); - /// let msg = greeter_contract.greet().call().await.unwrap(); - /// # } - /// ``` - pub fn deploy( - client: ::std::sync::Arc, - constructor_args: T, - ) -> ::core::result::Result< - ::ethers::contract::builders::ContractDeployer, - ::ethers::contract::ContractError, - > { - let factory = ::ethers::contract::ContractFactory::new( - PRIORITYORDERREACTORINTEGRATION_ABI.clone(), - PRIORITYORDERREACTORINTEGRATION_BYTECODE.clone().into(), - client, - ); - let deployer = factory.deploy(constructor_args)?; - let deployer = ::ethers::contract::ContractDeployer::new(deployer); - Ok(deployer) - } - ///Calls the contract's `IS_SCRIPT` (0xf8ccbf47) function - pub fn is_script(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([248, 204, 191, 71], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `IS_TEST` (0xfa7626d4) function - pub fn is_test(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([250, 118, 38, 212], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `NAME_HASH` (0x04622c2e) function - pub fn name_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([4, 98, 44, 46], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `TYPE_HASH` (0x64d4c819) function - pub fn type_hash( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([100, 212, 200, 25], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeArtifacts` (0xb5508aa9) function - pub fn exclude_artifacts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::std::string::String>, - > { - self.0 - .method_hash([181, 80, 138, 169], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeContracts` (0xe20c9f71) function - pub fn exclude_contracts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([226, 12, 159, 113], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeSelectors` (0xb0464fdc) function - pub fn exclude_selectors( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec, - > { - self.0 - .method_hash([176, 70, 79, 220], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `excludeSenders` (0x1ed7831c) function - pub fn exclude_senders( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([30, 215, 131, 28], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `failed` (0xba414fa6) function - pub fn failed(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([186, 65, 79, 166], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `run` (0xc0406226) function - pub fn run(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([192, 64, 98, 38], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `setUp` (0x0a9254e4) function - pub fn set_up(&self) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([10, 146, 84, 228], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `submitLoserExecution` (0xfb73ba23) function - pub fn submit_loser_execution( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([251, 115, 186, 35], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `submitRunnerUpExecution` (0x3094dff0) function - pub fn submit_runner_up_execution( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([48, 148, 223, 240], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `submitWinnerExecution` (0xa63920cc) function - pub fn submit_winner_execution( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([166, 57, 32, 204], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetArtifactSelectors` (0x66d9a9a0) function - pub fn target_artifact_selectors( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec, - > { - self.0 - .method_hash([102, 217, 169, 160], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetArtifacts` (0x85226c81) function - pub fn target_artifacts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::std::string::String>, - > { - self.0 - .method_hash([133, 34, 108, 129], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetContracts` (0x3f7286f4) function - pub fn target_contracts( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([63, 114, 134, 244], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetInterfaces` (0x2ade3880) function - pub fn target_interfaces( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec, - > { - self.0 - .method_hash([42, 222, 56, 128], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetSelectors` (0x916a17c6) function - pub fn target_selectors( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec, - > { - self.0 - .method_hash([145, 106, 23, 198], ()) - .expect("method not found (this should never happen)") - } - ///Calls the contract's `targetSenders` (0x3e5e3c23) function - pub fn target_senders( - &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::std::vec::Vec<::ethers::core::types::Address>, - > { - self.0 - .method_hash([62, 94, 60, 35], ()) - .expect("method not found (this should never happen)") - } - ///Gets the contract's `log` event - pub fn log_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogFilter> { - self.0.event() - } - ///Gets the contract's `log_address` event - pub fn log_address_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogAddressFilter, - > { - self.0.event() - } - ///Gets the contract's `log_array` event - pub fn log_array_1_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogArray1Filter, - > { - self.0.event() - } - ///Gets the contract's `log_array` event - pub fn log_array_2_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogArray2Filter, - > { - self.0.event() - } - ///Gets the contract's `log_array` event - pub fn log_array_3_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogArray3Filter, - > { - self.0.event() - } - ///Gets the contract's `log_bytes` event - pub fn log_bytes_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogBytesFilter, - > { - self.0.event() - } - ///Gets the contract's `log_bytes32` event - pub fn log_bytes_32_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogBytes32Filter, - > { - self.0.event() - } - ///Gets the contract's `log_int` event - pub fn log_int_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogIntFilter> { - self.0.event() - } - ///Gets the contract's `log_named_address` event - pub fn log_named_address_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedAddressFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_array` event - pub fn log_named_array_1_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedArray1Filter, - > { - self.0.event() - } - ///Gets the contract's `log_named_array` event - pub fn log_named_array_2_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedArray2Filter, - > { - self.0.event() - } - ///Gets the contract's `log_named_array` event - pub fn log_named_array_3_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedArray3Filter, - > { - self.0.event() - } - ///Gets the contract's `log_named_bytes` event - pub fn log_named_bytes_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedBytesFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_bytes32` event - pub fn log_named_bytes_32_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedBytes32Filter, - > { - self.0.event() - } - ///Gets the contract's `log_named_decimal_int` event - pub fn log_named_decimal_int_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedDecimalIntFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_decimal_uint` event - pub fn log_named_decimal_uint_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedDecimalUintFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_int` event - pub fn log_named_int_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedIntFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_string` event - pub fn log_named_string_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedStringFilter, - > { - self.0.event() - } - ///Gets the contract's `log_named_uint` event - pub fn log_named_uint_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogNamedUintFilter, - > { - self.0.event() - } - ///Gets the contract's `log_string` event - pub fn log_string_filter( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - LogStringFilter, - > { - self.0.event() - } - ///Gets the contract's `log_uint` event - pub fn log_uint_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogUintFilter> { - self.0.event() - } - ///Gets the contract's `logs` event - pub fn logs_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, LogsFilter> { - self.0.event() - } - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - PriorityOrderReactorIntegrationEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for PriorityOrderReactorIntegration { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log", abi = "log(string)")] - pub struct LogFilter(pub ::std::string::String); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_address", abi = "log_address(address)")] - pub struct LogAddressFilter(pub ::ethers::core::types::Address); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_array", abi = "log_array(uint256[])")] - pub struct LogArray1Filter { - pub val: ::std::vec::Vec<::ethers::core::types::U256>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_array", abi = "log_array(int256[])")] - pub struct LogArray2Filter { - pub val: ::std::vec::Vec<::ethers::core::types::I256>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_array", abi = "log_array(address[])")] - pub struct LogArray3Filter { - pub val: ::std::vec::Vec<::ethers::core::types::Address>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_bytes", abi = "log_bytes(bytes)")] - pub struct LogBytesFilter(pub ::ethers::core::types::Bytes); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_bytes32", abi = "log_bytes32(bytes32)")] - pub struct LogBytes32Filter(pub [u8; 32]); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_int", abi = "log_int(int256)")] - pub struct LogIntFilter(pub ::ethers::core::types::I256); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_address", abi = "log_named_address(string,address)")] - pub struct LogNamedAddressFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::Address, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_array", abi = "log_named_array(string,uint256[])")] - pub struct LogNamedArray1Filter { - pub key: ::std::string::String, - pub val: ::std::vec::Vec<::ethers::core::types::U256>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_array", abi = "log_named_array(string,int256[])")] - pub struct LogNamedArray2Filter { - pub key: ::std::string::String, - pub val: ::std::vec::Vec<::ethers::core::types::I256>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_array", abi = "log_named_array(string,address[])")] - pub struct LogNamedArray3Filter { - pub key: ::std::string::String, - pub val: ::std::vec::Vec<::ethers::core::types::Address>, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_bytes", abi = "log_named_bytes(string,bytes)")] - pub struct LogNamedBytesFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::Bytes, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_bytes32", abi = "log_named_bytes32(string,bytes32)")] - pub struct LogNamedBytes32Filter { - pub key: ::std::string::String, - pub val: [u8; 32], - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent( - name = "log_named_decimal_int", - abi = "log_named_decimal_int(string,int256,uint256)" - )] - pub struct LogNamedDecimalIntFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::I256, - pub decimals: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent( - name = "log_named_decimal_uint", - abi = "log_named_decimal_uint(string,uint256,uint256)" - )] - pub struct LogNamedDecimalUintFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::U256, - pub decimals: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_int", abi = "log_named_int(string,int256)")] - pub struct LogNamedIntFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::I256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_string", abi = "log_named_string(string,string)")] - pub struct LogNamedStringFilter { - pub key: ::std::string::String, - pub val: ::std::string::String, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_named_uint", abi = "log_named_uint(string,uint256)")] - pub struct LogNamedUintFilter { - pub key: ::std::string::String, - pub val: ::ethers::core::types::U256, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_string", abi = "log_string(string)")] - pub struct LogStringFilter(pub ::std::string::String); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "log_uint", abi = "log_uint(uint256)")] - pub struct LogUintFilter(pub ::ethers::core::types::U256); - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethevent(name = "logs", abi = "logs(bytes)")] - pub struct LogsFilter(pub ::ethers::core::types::Bytes); - ///Container type for all of the contract's events - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash - )] - pub enum PriorityOrderReactorIntegrationEvents { - LogFilter(LogFilter), - LogAddressFilter(LogAddressFilter), - LogArray1Filter(LogArray1Filter), - LogArray2Filter(LogArray2Filter), - LogArray3Filter(LogArray3Filter), - LogBytesFilter(LogBytesFilter), - LogBytes32Filter(LogBytes32Filter), - LogIntFilter(LogIntFilter), - LogNamedAddressFilter(LogNamedAddressFilter), - LogNamedArray1Filter(LogNamedArray1Filter), - LogNamedArray2Filter(LogNamedArray2Filter), - LogNamedArray3Filter(LogNamedArray3Filter), - LogNamedBytesFilter(LogNamedBytesFilter), - LogNamedBytes32Filter(LogNamedBytes32Filter), - LogNamedDecimalIntFilter(LogNamedDecimalIntFilter), - LogNamedDecimalUintFilter(LogNamedDecimalUintFilter), - LogNamedIntFilter(LogNamedIntFilter), - LogNamedStringFilter(LogNamedStringFilter), - LogNamedUintFilter(LogNamedUintFilter), - LogStringFilter(LogStringFilter), - LogUintFilter(LogUintFilter), - LogsFilter(LogsFilter), - } - impl ::ethers::contract::EthLogDecode for PriorityOrderReactorIntegrationEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = LogFilter::decode_log(log) { - return Ok(PriorityOrderReactorIntegrationEvents::LogFilter(decoded)); - } - if let Ok(decoded) = LogAddressFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogAddressFilter(decoded), - ); - } - if let Ok(decoded) = LogArray1Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogArray1Filter(decoded), - ); - } - if let Ok(decoded) = LogArray2Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogArray2Filter(decoded), - ); - } - if let Ok(decoded) = LogArray3Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogArray3Filter(decoded), - ); - } - if let Ok(decoded) = LogBytesFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogBytesFilter(decoded), - ); - } - if let Ok(decoded) = LogBytes32Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogBytes32Filter(decoded), - ); - } - if let Ok(decoded) = LogIntFilter::decode_log(log) { - return Ok(PriorityOrderReactorIntegrationEvents::LogIntFilter(decoded)); - } - if let Ok(decoded) = LogNamedAddressFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedAddressFilter(decoded), - ); - } - if let Ok(decoded) = LogNamedArray1Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedArray1Filter(decoded), - ); - } - if let Ok(decoded) = LogNamedArray2Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedArray2Filter(decoded), - ); - } - if let Ok(decoded) = LogNamedArray3Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedArray3Filter(decoded), - ); - } - if let Ok(decoded) = LogNamedBytesFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedBytesFilter(decoded), - ); - } - if let Ok(decoded) = LogNamedBytes32Filter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedBytes32Filter(decoded), - ); - } - if let Ok(decoded) = LogNamedDecimalIntFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedDecimalIntFilter( - decoded, - ), - ); - } - if let Ok(decoded) = LogNamedDecimalUintFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedDecimalUintFilter( - decoded, - ), - ); - } - if let Ok(decoded) = LogNamedIntFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedIntFilter(decoded), - ); - } - if let Ok(decoded) = LogNamedStringFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedStringFilter(decoded), - ); - } - if let Ok(decoded) = LogNamedUintFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogNamedUintFilter(decoded), - ); - } - if let Ok(decoded) = LogStringFilter::decode_log(log) { - return Ok( - PriorityOrderReactorIntegrationEvents::LogStringFilter(decoded), - ); - } - if let Ok(decoded) = LogUintFilter::decode_log(log) { - return Ok(PriorityOrderReactorIntegrationEvents::LogUintFilter(decoded)); - } - if let Ok(decoded) = LogsFilter::decode_log(log) { - return Ok(PriorityOrderReactorIntegrationEvents::LogsFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for PriorityOrderReactorIntegrationEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::LogFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogAddressFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogArray1Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogArray2Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogArray3Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogBytesFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogBytes32Filter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogIntFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedAddressFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedArray1Filter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedArray2Filter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedArray3Filter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedBytesFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedBytes32Filter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedDecimalIntFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedDecimalUintFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedIntFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogNamedStringFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogNamedUintFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::LogStringFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogUintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::LogsFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { - fn from(value: LogFilter) -> Self { - Self::LogFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogAddressFilter) -> Self { - Self::LogAddressFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogArray1Filter) -> Self { - Self::LogArray1Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogArray2Filter) -> Self { - Self::LogArray2Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogArray3Filter) -> Self { - Self::LogArray3Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogBytesFilter) -> Self { - Self::LogBytesFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogBytes32Filter) -> Self { - Self::LogBytes32Filter(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { - fn from(value: LogIntFilter) -> Self { - Self::LogIntFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedAddressFilter) -> Self { - Self::LogNamedAddressFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedArray1Filter) -> Self { - Self::LogNamedArray1Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedArray2Filter) -> Self { - Self::LogNamedArray2Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedArray3Filter) -> Self { - Self::LogNamedArray3Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedBytesFilter) -> Self { - Self::LogNamedBytesFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedBytes32Filter) -> Self { - Self::LogNamedBytes32Filter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedDecimalIntFilter) -> Self { - Self::LogNamedDecimalIntFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedDecimalUintFilter) -> Self { - Self::LogNamedDecimalUintFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedIntFilter) -> Self { - Self::LogNamedIntFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedStringFilter) -> Self { - Self::LogNamedStringFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogNamedUintFilter) -> Self { - Self::LogNamedUintFilter(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationEvents { - fn from(value: LogStringFilter) -> Self { - Self::LogStringFilter(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { - fn from(value: LogUintFilter) -> Self { - Self::LogUintFilter(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationEvents { - fn from(value: LogsFilter) -> Self { - Self::LogsFilter(value) - } - } - ///Container type for all input parameters for the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "IS_SCRIPT", abi = "IS_SCRIPT()")] - pub struct IsScriptCall; - ///Container type for all input parameters for the `IS_TEST` function with signature `IS_TEST()` and selector `0xfa7626d4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "IS_TEST", abi = "IS_TEST()")] - pub struct IsTestCall; - ///Container type for all input parameters for the `NAME_HASH` function with signature `NAME_HASH()` and selector `0x04622c2e` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "NAME_HASH", abi = "NAME_HASH()")] - pub struct NameHashCall; - ///Container type for all input parameters for the `TYPE_HASH` function with signature `TYPE_HASH()` and selector `0x64d4c819` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "TYPE_HASH", abi = "TYPE_HASH()")] - pub struct TypeHashCall; - ///Container type for all input parameters for the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "excludeArtifacts", abi = "excludeArtifacts()")] - pub struct ExcludeArtifactsCall; - ///Container type for all input parameters for the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "excludeContracts", abi = "excludeContracts()")] - pub struct ExcludeContractsCall; - ///Container type for all input parameters for the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "excludeSelectors", abi = "excludeSelectors()")] - pub struct ExcludeSelectorsCall; - ///Container type for all input parameters for the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "excludeSenders", abi = "excludeSenders()")] - pub struct ExcludeSendersCall; - ///Container type for all input parameters for the `failed` function with signature `failed()` and selector `0xba414fa6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "failed", abi = "failed()")] - pub struct FailedCall; - ///Container type for all input parameters for the `run` function with signature `run()` and selector `0xc0406226` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "run", abi = "run()")] - pub struct RunCall; - ///Container type for all input parameters for the `setUp` function with signature `setUp()` and selector `0x0a9254e4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "setUp", abi = "setUp()")] - pub struct SetUpCall; - ///Container type for all input parameters for the `submitLoserExecution` function with signature `submitLoserExecution()` and selector `0xfb73ba23` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "submitLoserExecution", abi = "submitLoserExecution()")] - pub struct SubmitLoserExecutionCall; - ///Container type for all input parameters for the `submitRunnerUpExecution` function with signature `submitRunnerUpExecution()` and selector `0x3094dff0` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "submitRunnerUpExecution", abi = "submitRunnerUpExecution()")] - pub struct SubmitRunnerUpExecutionCall; - ///Container type for all input parameters for the `submitWinnerExecution` function with signature `submitWinnerExecution()` and selector `0xa63920cc` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "submitWinnerExecution", abi = "submitWinnerExecution()")] - pub struct SubmitWinnerExecutionCall; - ///Container type for all input parameters for the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetArtifactSelectors", abi = "targetArtifactSelectors()")] - pub struct TargetArtifactSelectorsCall; - ///Container type for all input parameters for the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetArtifacts", abi = "targetArtifacts()")] - pub struct TargetArtifactsCall; - ///Container type for all input parameters for the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetContracts", abi = "targetContracts()")] - pub struct TargetContractsCall; - ///Container type for all input parameters for the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetInterfaces", abi = "targetInterfaces()")] - pub struct TargetInterfacesCall; - ///Container type for all input parameters for the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetSelectors", abi = "targetSelectors()")] - pub struct TargetSelectorsCall; - ///Container type for all input parameters for the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - #[ethcall(name = "targetSenders", abi = "targetSenders()")] - pub struct TargetSendersCall; - ///Container type for all of the contract's call - #[derive( - Clone, - ::ethers::contract::EthAbiType, - serde::Serialize, - serde::Deserialize, - Debug, - PartialEq, - Eq, - Hash - )] - pub enum PriorityOrderReactorIntegrationCalls { - IsScript(IsScriptCall), - IsTest(IsTestCall), - NameHash(NameHashCall), - TypeHash(TypeHashCall), - ExcludeArtifacts(ExcludeArtifactsCall), - ExcludeContracts(ExcludeContractsCall), - ExcludeSelectors(ExcludeSelectorsCall), - ExcludeSenders(ExcludeSendersCall), - Failed(FailedCall), - Run(RunCall), - SetUp(SetUpCall), - SubmitLoserExecution(SubmitLoserExecutionCall), - SubmitRunnerUpExecution(SubmitRunnerUpExecutionCall), - SubmitWinnerExecution(SubmitWinnerExecutionCall), - TargetArtifactSelectors(TargetArtifactSelectorsCall), - TargetArtifacts(TargetArtifactsCall), - TargetContracts(TargetContractsCall), - TargetInterfaces(TargetInterfacesCall), - TargetSelectors(TargetSelectorsCall), - TargetSenders(TargetSendersCall), - } - impl ::ethers::core::abi::AbiDecode for PriorityOrderReactorIntegrationCalls { - fn decode( - data: impl AsRef<[u8]>, - ) -> ::core::result::Result { - let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::IsScript(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::IsTest(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::NameHash(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TypeHash(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::ExcludeArtifacts(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::ExcludeContracts(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::ExcludeSelectors(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::ExcludeSenders(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::Failed(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::Run(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::SetUp(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::SubmitLoserExecution(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::SubmitRunnerUpExecution(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::SubmitWinnerExecution(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetArtifactSelectors(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetArtifacts(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetContracts(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetInterfaces(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetSelectors(decoded)); - } - if let Ok(decoded) = ::decode( - data, - ) { - return Ok(Self::TargetSenders(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData.into()) - } - } - impl ::ethers::core::abi::AbiEncode for PriorityOrderReactorIntegrationCalls { - fn encode(self) -> Vec { - match self { - Self::IsScript(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::IsTest(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::NameHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TypeHash(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ExcludeArtifacts(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ExcludeContracts(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ExcludeSelectors(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::ExcludeSenders(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Failed(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Run(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SetUp(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::SubmitLoserExecution(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::SubmitRunnerUpExecution(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::SubmitWinnerExecution(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetArtifactSelectors(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetArtifacts(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetContracts(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetInterfaces(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetSelectors(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TargetSenders(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - } - } - } - impl ::core::fmt::Display for PriorityOrderReactorIntegrationCalls { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::IsScript(element) => ::core::fmt::Display::fmt(element, f), - Self::IsTest(element) => ::core::fmt::Display::fmt(element, f), - Self::NameHash(element) => ::core::fmt::Display::fmt(element, f), - Self::TypeHash(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeArtifacts(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeContracts(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeSelectors(element) => ::core::fmt::Display::fmt(element, f), - Self::ExcludeSenders(element) => ::core::fmt::Display::fmt(element, f), - Self::Failed(element) => ::core::fmt::Display::fmt(element, f), - Self::Run(element) => ::core::fmt::Display::fmt(element, f), - Self::SetUp(element) => ::core::fmt::Display::fmt(element, f), - Self::SubmitLoserExecution(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SubmitRunnerUpExecution(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SubmitWinnerExecution(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::TargetArtifactSelectors(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::TargetArtifacts(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetContracts(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetInterfaces(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetSelectors(element) => ::core::fmt::Display::fmt(element, f), - Self::TargetSenders(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: IsScriptCall) -> Self { - Self::IsScript(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: IsTestCall) -> Self { - Self::IsTest(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: NameHashCall) -> Self { - Self::NameHash(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: TypeHashCall) -> Self { - Self::TypeHash(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: ExcludeArtifactsCall) -> Self { - Self::ExcludeArtifacts(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: ExcludeContractsCall) -> Self { - Self::ExcludeContracts(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: ExcludeSelectorsCall) -> Self { - Self::ExcludeSelectors(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: ExcludeSendersCall) -> Self { - Self::ExcludeSenders(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: FailedCall) -> Self { - Self::Failed(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: RunCall) -> Self { - Self::Run(value) - } - } - impl ::core::convert::From for PriorityOrderReactorIntegrationCalls { - fn from(value: SetUpCall) -> Self { - Self::SetUp(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: SubmitLoserExecutionCall) -> Self { - Self::SubmitLoserExecution(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: SubmitRunnerUpExecutionCall) -> Self { - Self::SubmitRunnerUpExecution(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: SubmitWinnerExecutionCall) -> Self { - Self::SubmitWinnerExecution(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetArtifactSelectorsCall) -> Self { - Self::TargetArtifactSelectors(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetArtifactsCall) -> Self { - Self::TargetArtifacts(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetContractsCall) -> Self { - Self::TargetContracts(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetInterfacesCall) -> Self { - Self::TargetInterfaces(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetSelectorsCall) -> Self { - Self::TargetSelectors(value) - } - } - impl ::core::convert::From - for PriorityOrderReactorIntegrationCalls { - fn from(value: TargetSendersCall) -> Self { - Self::TargetSenders(value) - } - } - ///Container type for all return fields from the `IS_SCRIPT` function with signature `IS_SCRIPT()` and selector `0xf8ccbf47` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct IsScriptReturn(pub bool); - ///Container type for all return fields from the `IS_TEST` function with signature `IS_TEST()` and selector `0xfa7626d4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct IsTestReturn(pub bool); - ///Container type for all return fields from the `NAME_HASH` function with signature `NAME_HASH()` and selector `0x04622c2e` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct NameHashReturn(pub [u8; 32]); - ///Container type for all return fields from the `TYPE_HASH` function with signature `TYPE_HASH()` and selector `0x64d4c819` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TypeHashReturn(pub [u8; 32]); - ///Container type for all return fields from the `excludeArtifacts` function with signature `excludeArtifacts()` and selector `0xb5508aa9` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct ExcludeArtifactsReturn { - pub excluded_artifacts: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all return fields from the `excludeContracts` function with signature `excludeContracts()` and selector `0xe20c9f71` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct ExcludeContractsReturn { - pub excluded_contracts: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `excludeSelectors` function with signature `excludeSelectors()` and selector `0xb0464fdc` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct ExcludeSelectorsReturn { - pub excluded_selectors: ::std::vec::Vec, - } - ///Container type for all return fields from the `excludeSenders` function with signature `excludeSenders()` and selector `0x1ed7831c` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct ExcludeSendersReturn { - pub excluded_senders: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `failed` function with signature `failed()` and selector `0xba414fa6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct FailedReturn(pub bool); - ///Container type for all return fields from the `targetArtifactSelectors` function with signature `targetArtifactSelectors()` and selector `0x66d9a9a0` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetArtifactSelectorsReturn { - pub targeted_artifact_selectors: ::std::vec::Vec, - } - ///Container type for all return fields from the `targetArtifacts` function with signature `targetArtifacts()` and selector `0x85226c81` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetArtifactsReturn { - pub targeted_artifacts: ::std::vec::Vec<::std::string::String>, - } - ///Container type for all return fields from the `targetContracts` function with signature `targetContracts()` and selector `0x3f7286f4` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetContractsReturn { - pub targeted_contracts: ::std::vec::Vec<::ethers::core::types::Address>, - } - ///Container type for all return fields from the `targetInterfaces` function with signature `targetInterfaces()` and selector `0x2ade3880` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetInterfacesReturn { - pub targeted_interfaces: ::std::vec::Vec, - } - ///Container type for all return fields from the `targetSelectors` function with signature `targetSelectors()` and selector `0x916a17c6` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetSelectorsReturn { - pub targeted_selectors: ::std::vec::Vec, - } - ///Container type for all return fields from the `targetSenders` function with signature `targetSenders()` and selector `0x3e5e3c23` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash - )] - pub struct TargetSendersReturn { - pub targeted_senders: ::std::vec::Vec<::ethers::core::types::Address>, - } -} diff --git a/crates/bindings-uniswapx/src/shared_types.rs b/crates/bindings-uniswapx/src/shared_types.rs index 87f8822..b928875 100644 --- a/crates/bindings-uniswapx/src/shared_types.rs +++ b/crates/bindings-uniswapx/src/shared_types.rs @@ -272,54 +272,3 @@ pub struct SignedOrder { pub order: ::ethers::core::types::Bytes, pub sig: ::ethers::core::types::Bytes, } -///`FuzzArtifactSelector(string,bytes4[])` -#[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash -)] -pub struct FuzzArtifactSelector { - pub artifact: ::std::string::String, - pub selectors: ::std::vec::Vec<[u8; 4]>, -} -///`FuzzInterface(address,string[])` -#[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash -)] -pub struct FuzzInterface { - pub addr: ::ethers::core::types::Address, - pub artifacts: ::std::vec::Vec<::std::string::String>, -} -///`FuzzSelector(address,bytes4[])` -#[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - serde::Serialize, - serde::Deserialize, - Default, - Debug, - PartialEq, - Eq, - Hash -)] -pub struct FuzzSelector { - pub addr: ::ethers::core::types::Address, - pub selectors: ::std::vec::Vec<[u8; 4]>, -}