@aztec/protocol-contracts 0.47.0 → 0.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"transpiled":true,"noir_version":"0.32.0+92ff2fa2e944722e5c3fa43fb3363f093b8f1d12","name":"ContractClassRegisterer","functions":[{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZftasIwFIbvJb9FkvOVxFsZY1StoyBVtA6GeO9rt6bqDIhnmwz8JbHvk+Y0T0/bvZmX093rS1UvVlszedqb5WpWNNWqbkd74/jzv+26qLvhtik2jZnYkSnreft7GJlFtSzNBG08jC5yIOj7KAjHIe3AZ9LofejTGIivpCNb7tORhYY0UMimpQ87a0/C/vA8Mk4eoUj/CEWG+xVJYFOaQPwdi4w/KRID2GFvWIZ0jN3cYP9wbpebGwFcYgDp7AwdBFkoDIKdXfsEYQ4i8MOG4YmV+VpEXOzTIuSuqcNElNxh8vi9dvp3K+LfWJEkT8WzvdgGN87fkEiYtlyO60JnExU1VN7dq5RTUXA7BWPK9uAwdIb29jlpDJSooKKihmKropyKAhWFKopUFKsoUVEqN1jlBqvcEJUbonJDVG6Iyg1RuSEqN0TlhqjcEJUbonLDq9zwKjd81g0fcKBcjsLbKR67fJ/HkJ7ESBKOr37Ydvp29FZsqmK6LLtPqO7grp6lL6p22Lyvv4602Q8="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b0W7aMBSGHRq6tGlTSAiBQgt0baXdpazt6N1eZnvuXU/aOwwHH/HXdZDRjmcsEQnFie3zf/6PbdIqRGJzJOtPpMpddT4VHw9q812d6387nhhj1S45o0A4O4FwngTCGTNyRgZOeY5VWa47ueY+ic16/FCJnWWiT6Be7AqkqyaqkGh1bKNd1W+nIIDwQsHHqo7Okfqkqh4BUzXYph3cowF34B5pncA92slIK1HmOBj3S7LF5o29no1yLGcqFvGnUMa6KVgYOxxr181Yn53laO2jwxw1q5zy0FWxE7imnJyDPuO3yxPqU+xzbX7EUJ5AW2pHbTrAK49LsV1L5zv6xVq/DNqcQr9E60fXlHfpV1+V5bmbbNtSfEc+1jJ26ib2uxzFmocpjC0Dfb45ulxJjQvx/oi0a/xiyYDp0gnTZk26Ge8ml1cQm+8p6eVZxutpvl1ovmXQ5gq87DnyMgJtYqLrXos+nyevKxmvb+FJ38DU9+BJv0Wf0ZM3GS+38CQ3MOUePMlb9Pk8+fZVxissPCkMTIUHT4oWfT5Pls3zw8DCk4GBaeDBk0GLPuPaaeZJaeFJaWAqPXhStugzevJTxhtaeDI0MA09eDJs0Wf05IeMV1l4UhmYKg+eVC36jHts83wysvBkZGAaefBk1KLP6MlSxhtbeDI2MI09eDJu0WdcO43+tYUn1wamaw+eoOY+3INAuatAuYsD4db1GddOs8dOLDyZGJgmHjxBzX24ywPh1vUZc/ki400tPJkamKYePEHNfbjzQLmLQLmHgXKXgXJXgXIfyvzW9Rmfv5s99sbCkxsD040HT1BzH+48UO5JoNzFgXDr+oxrp/n/4K2FJ7cGplsPnqDmPtyjQLn7B8Kt6zPOwVcZb2bhyczANPPgCWruwz0OlLsKlHsSKHcRKPcwUO4yUO7juvy/3PmBcMt79L7PH+dMy7dUYyINoXEKjTOFcgacc4jRZeOsa8zVHPQWTnzZ5EqfP3S9cK6/XMnYnx2NTca+dxO7+ZvjQcWidxrvDb49gn7EnLcHLTZpPUAuqfwb2lI7akP7BfHL99nuVPlxR7+Z1i+DNnfQ717rR9eUd+nfL1V2Odds5npPbNf5F2BytFc+4/vLAjSExknHDJjmbpieHI63xncaheBdjwvNszPNswza4F7uc289ch+5bbjxOeQM7lH9HO51tPHgb0UWEOMv7Ab1lOo2AAA=","debug_symbols":"ndpBattQGIXRvWgciu9v6T0pWymlOIlTDMYOsVMoJnuv3NIF9Mz0JN3ZNzq82/Cyf/r48f1wej1fhsevt+F4ft5dD+fTeroNmy81/3l7edud7i8u1937dXjctv4w7E8v61Ovz4fh9XDcr8+b5fPbw320wGi7kVFkVDLaymiU0SSjJqMuIyliK0WMUsQoRYxSxChFjFLEKEWMUsQoRYxSxChFTFLEJEVMUsQkRUxSxCRFTFLEJEVMUsQkRTQpokkRTYpoUkSTIpoU0aSIJkU0KaJJEV2K6FJElyK6FNGliC5FdCmiSxFdiuhSxCxFzFLELEXMUsQsRcxSxCxFzFLELEXMUsQiRSxSxCJFLFLEIkUsUsQiRSxSxCJFLFJENhtahVZFqy2tRlpNtGq06rSaaUVthNoItRFqI9RGqI1QG6E2Qm2E2gi1UdRGURtFbRS1UdRGURtFbRS1QaAZEs0QaYZMM4SaIdUMsWbINUOwGZLNEG2GbDOEmyHdDPFmyDdDwBkSzhBxhowzhJwh5QwxZ8g5Q9AZks4QdYasM4SdIe0McWfIO0PgGRLPEHmGzDOEniH1DLFnyD1D8BmSzxB9huwzhJ8h/QzxZ8g/QwAaEtAQgYYMNISgIQUNMWjIQUMQGpLQEIWGLDSEoSENDXFoyENDIBoS0RCJhkw0hKIhFQ2xaMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRcsuepKLFrlokYsWuWiRixa5aJGL1n+76Hr6uXs/7J6O+/vd3vvHj9Pzv6u+6/H66+3vl/Xf3w=="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZftasIwFIbvJb+L5ON8JN7KGKNqHQWponUwxHtf6prqZqB4tsnAXyXt+6Q5zdO0OahFNdu/vtTNcr1T06eDWq3nZVuvm9g6KIOnc7tN2XTNXVtuWzXVhaqaRTweC7WsV5WaOh2OxVXOkuM+agnDkDaWM2nH7Pu084Aj6YAa+3RAgiFtwWfT1IeN1hdhPj4XytAjFMn3KxKsTmmwxHcs0v+kSOetHuYGaUiHcOo7/F3fVuf6Bo8hPUbP9ssdOsjkIIzd9xCyC1eQzUIM6U7oDY/UQmRSmgjMmDoIAMkdBHbfa3f/bkTwGyOi5Ckx6qtp0JO8qw5c0oTO43JGJypIqLxfo5QRUfZ2ykwwa4EfVob4+lwsDJAoEFEookhEsYjyIipIKNIiyogoK6JEbpDIDRK5QSI3SOQGidwgkRsscoNFbrDIDRa5wSI3WOQGi9xgkRucdYO9GyiTo8LtFExMfp13Pn0lHZA///q5uNLH1lu5rcvZqup2F93FfTNPm43YbN83n1di9gM="},{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"target","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_private","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::function_data::FunctionData"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"caller_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::caller_context::CallerContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_stack_hashes","type":{"kind":"array","length":16,"type":{"kind":"field"}}},{"name":"public_teardown_function_hash","type":{"kind":"field"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZfvTsIwFMXfpZ8J6f3bllcxxkxFQ0KGETQxhHe36DonNFm4KiHxE5SdX3fP7WnZtu5+fvvyeLNoH1ZrN7vauuXqrtksVm0ebR3wx2/rp6bdD9eb5nnjZn7i5u19/txN3MNiOXcz8mk3OdKhUuikqJJ6NWCoqCmE2Kkpsoyok3jp1EmUezVyrKq1E4P3A3HYXU8cyH8wqeczyeiLmlHDGU2Gn5ikiL5fG9FendLH3PEP5061uUESF6/qw7c7ZAh9FQpYuglRcaSsxFjEMBDjvsLTWo9QqwaBim2EKCPVSPLQqSWhHzapEklhLu3J3wMd9BTx0gqiakFZ2kNIR4tcPYBRiPrt6GHEhSqkTq3KY+pRG3JxFelvVKQl3BrEHy4DpGl9/xOXm5AOFg98oZKFqm/tUQpMFJ5MIU2p6iv2J3kc7BZk7ij2JgpMFJooMlFsosREqYkKJiqaKFM2xJQNMWVDTNkQUzbElA0xZUNM2RBTNsSUDTFlQ03ZUFM21JQNNWVDq9kIkXoKapScTukU6uc8xfJPTKzx61Gd8kmfR6/N86K5Xc73b4P7iy/tXXk5zMPN29Pnlax9Bw=="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"}]}},"file_map":{"127":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"130":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"244":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"248":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"256":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constraint the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::from_slice(domain_generators.as_slice());\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n crate::assert_constant(starting_index);\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = crate::field::bn254::decompose_hint(scalar);\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"309":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"310":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"},"99":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{\n enqueue_public_function_call_internal, set_public_teardown_function_call_internal,\n parse_public_call_stack_item_from_oracle\n}\n}\n};\nuse dep::protocol_types::{\n abis::{\n caller_context::CallerContext, function_selector::FunctionSelector,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, read_request::ReadRequest, note_hash::NoteHash,\n nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_function_hash: Field,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n public_teardown_function_hash: self.public_teardown_function_hash,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let item = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n assert_eq(item.public_inputs.start_side_effect_counter, start_side_effect_counter);\n let end_side_effect_counter = item.public_inputs.end_side_effect_counter;\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n\n let mut caller_context = CallerContext::empty();\n caller_context.is_static_call = self.inputs.call_context.is_static_call;\n if is_delegate_call {\n caller_context.msg_sender = self.inputs.call_context.msg_sender;\n caller_context.storage_contract_address = self.inputs.call_context.storage_contract_address;\n }\n self.private_call_requests.push(\n PrivateCallRequest {\n target: item.contract_address,\n call_context: item.public_inputs.call_context,\n function_data: item.function_data,\n args_hash: item.public_inputs.args_hash,\n returns_hash: item.public_inputs.returns_hash,\n caller_context,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_call_stack_hashes.push(item.get_compressed().hash());\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let fields = set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n self.side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n let item = parse_public_call_stack_item_from_oracle(fields);\n self.validate_call_stack_item_from_oracle(\n item,\n contract_address,\n function_selector,\n args_hash,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = self.side_effect_counter + 1;\n self.public_teardown_function_hash = item.get_compressed().hash();\n }\n\n fn validate_call_stack_item_from_oracle(\n self,\n item: PublicCallStackItem,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n assert(contract_address.eq(item.contract_address));\n assert(function_selector.eq(item.function_data.selector));\n\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n\n assert(args_hash == item.public_inputs.args_hash);\n\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\n assert(item.public_inputs.call_context.is_delegate_call == is_delegate_call);\n assert(item.public_inputs.call_context.is_static_call == is_static_call);\n\n if (is_delegate_call) {\n // For delegate calls, we also constrain the execution context address for the nested call to be equal to our address.\n assert(\n item.public_inputs.call_context.storage_contract_address.eq(self.inputs.call_context.storage_contract_address)\n );\n assert(item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.msg_sender));\n } else {\n // For non-delegate calls, we also constrain the execution context address for the nested call to be equal to the address we called.\n assert(item.public_inputs.call_context.storage_contract_address.eq(contract_address));\n assert(\n item.public_inputs.call_context.msg_sender.eq(self.inputs.call_context.storage_contract_address)\n );\n }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n public_teardown_function_hash: 0,\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}
1
+ {"transpiled":true,"noir_version":"0.32.0+92ff2fa2e944722e5c3fa43fb3363f093b8f1d12","name":"ContractClassRegisterer","functions":[{"name":"register","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"artifact_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_root","type":{"kind":"field"},"visibility":"private"},{"name":"public_bytecode_commitment","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/8z9Y6w08b/wa97/27Zt27Zt27Zt27Zt27Zt277n2rOfmXnOyX4xyTkvTiVX6pdvenWqK/VJOmut7vpPgP/erpQPEGB+wP9e/4dA/2v/X6P4/6fZ/2f/v68D/w+zoP/Dz4b+H2Zh/4dZ+P9hFvF/mEUl//9pFvd/eFy8/2EW/3+YJfgfZkn+1+x/3/7zv/b5/9c+U/qsmTM3yZaxSYZMGRqkz5ijYfYs6TNnaZg1e4bsGbJkz9I4Y/ZMmZpkz5w9W46GObKlz5Ehc6YmGZpmyZGpafr/3tYG/P89V/r/i9t/HVuI/3UO/z/HmpS//2ud7H9bJ//f1v91DP9PXKdmXcD/nv2fX9e6/4ce8/+/r2t9wAD/hy3g/+m6Sv9/bcuQ5P/Ga3TD/33XaIb/va//et749kH+j6fi/9vY/7vVsv+93uixm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNn/+6zvgX8L9P9n8ISCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7/847/eoP2HgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLv8D//ebqPwQkEIEJQlCCEZwQhCQUoQlDWMIRnghEJBKRiUJUohGdGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSkJBWpSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFKUJRilGcEpSkFKUpQ1nKUZ4KVKQSlalCVapRnRrUpBa1qUNd6lGfBjSkEY1pQlOa0ZwWtKQVrWlDW9rRng50pBOd6UJXutGdHvSkF73pQ1/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDX/7xX7+M+Q8BCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd/BAimfwISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi970oS/96M8ABjKIwQxhKMMYzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIWsojFLGEpy1jOClayitWsYS3rWM8GNrKJzWxhK9vYzg52sovd7GEv+9jPAQ5yiMMc4SjHOM4JTnKK05zhLOc4zwUuconLXOEq17jODW5yi9vc4S73uM8DHvKIxzzhKc94zgte8orXvOEt73jPBz7yic984Svf+M4PfvKL3/zhL/8IEFz/BCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/gX/7z+c/YeABCIwQQhKMIITgpCEIjRhCEs4whOBiEQiMlGISjSiE4OYxCI2cYhLPOKTgIQkIjFJSEoykpOClKQiNWlISzrSk4GMZCIzWchKNrKTg5zkIjd5yEs+8lOAghSiMEUoSjGKU4KSlKI0ZShLOcpTgYpUojJVqEo1qlODmtSiNnWoSz3q04CGNKIxTWhKM5rTgpa0ojVtaEs72tOBjnSiM13oSje604Oe9KI3fehLP/ozgIEMYjBDGMowhjOCkYxiNGMYyzjGM4GJTGIyU5jKNKYzg5nMYjZzmMs85rOAhSxiMUtYyjKWs4KVrGI1a1jLOtazgY1sYjNb2Mo2trODnexiN3vYyz72c4CDHOIwRzjKMY5zgpOc4jRnOMs5znOBi1ziMle4yjWuc4Ob3OI2d7jLPe7zgIc84jFPeMoznvOCl7ziNW94yzve84GPfOIzX/jKN77zg5/84jd/+Ms/AoTUPwEJRGCCEJRgBCcEIQlFaMIQlnCEJwIRiURkohCVaEQnBjGJRWziEJd4xCcBCUlEYpKQlGQkJwUpSUVq0pCWdKQnAxnJRGaykJVsZCcHOclFbvKQl3zkpwAFKURhilCUYhSnBCUpRWnKUJZylKcCFalEZapQlWpUpwY1qUVt6lCXetSnAQ1pRGOa0JRmNKcFLWlFa9rQlna0pwMd6URnutCVbnSnBz3pRW/60Jd+9GcAAxnEYIYwlGEMZwQjGcVoxjCWcYxnAhOZxGSmMJVpTGcGM5nFbOYwl3nMZwELWcRilrCUZSxnBStZxWrWsJZ1rGcDG9nEZrawlW1sZwc72cVu9rCXfeznAAc5xGGOcJRjHOcEJznFac5wlnOc5wIXucRlrnCVa1znBje5xW3ucJd73OcBD3nEY57wlGc85wUvecVr3vCWd7znAx/5xGe+8JVvfOcHP/nFb/7wl38ECKV/AhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zg9+8ovf/OEv//ivf7z8DwEJRGCCEJRgBCcEIQlFaMIQlnCEJwIRiURkohCVaEQnBjGJRWziEJd4xCcBCUlEYpKQlGQkJwUpSUVq0pCWdKQnAxnJRGaykJVsZCcHOclFbvKQl3zkpwAFKURhilCUYhSnBCUpRWnKUJZylKcCFalEZapQlWpUpwY1qUVt6lCXetSnAQ1pRGOa0JRmNKcFLWlFa9rQlna0pwMd6URnutCVbnSnBz3pRW/60Jd+9GcAAxnEYIYwlGEMZwQjGcVoxjCWcYxnAhOZxGSmMJVpTGcGM5nFbOYwl3nMZwELWcRilrCUZSxnBStZxWrWsJZ1rGcDG9nEZrawlW1sZwc72cVu9rCXfeznAAc5xGGOcJRjHOcEJznFac5wlnOc5wIXucRlrnCVa1znBje5xW3ucJd73OcBD3nEY57wlGc85wUvecVr3vCWd7znAx/5xGe+8JVvfOcHP/nFb/7wl38ECKN/AhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zg9+8ovf/OEv//ivD1n8h4AEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz8ChNM/AQlEYIIQlGAEJwQhCUVowhCWcIQnAhGJRGSiEJVoRCcGMYlFbOIQl3jEJwEJSURikpCUZCQnBSlJRWrSkJZ0pCcDGclEZrKQlWxkJwc5yUVu8pCXfOSnAAUpRGGKUJRiFKcEJSlFacpQlnKUpwIVqURlqlCValSnBjWpRW3qUJd61KcBDWlEY5rQlGY0pwUtaUVr2tCWdrSnAx3pRGe60JVudKcHPelFb/rQl370ZwADGcRghjCUYQxnBCMZxWjGMJZxjGcCE5nEZKYwlWlMZwYzmcVs5jCXecxnAQtZxGKWsJRlLGcFK1nFatawlnWsZwMb2cRmtrCVbWxnBzvZxW72sJd97OcABznEYY5wlGMc5wQnOcVpznCWc5znAhe5xGWucJVrXOcGN7nFbe5wl3vc5wEPecRjnvCUZzznBS95xWve8JZ3vOcDH/nEZ77wlW985wc/+cVv/vCXf+H++0Nz/yEggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/vKPABH0T0ACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+9KUf/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rGUd69nARjaxmS1sZRvb2cFOdrGbPexlH/s5wEEOcZgjHOUYxznBSU5xmjOc5RznucBFLnGZK1zlGte5wU1ucZs73OUe93nAQx7xmCc85RnPecFLXvGaN7zlHe/5wEc+8ZkvfOUb3/nBT37xmz/85R//9eUJ/yEggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/vKPAJH0T0ACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+9KUf/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rGUd69nARjaxmS1sZRvb2cFOdrGbPexlH/s5wEEOcZgjHOUYxznBSU5xmjOc5RznucBFLnGZK1zlGte5wU1ucZs73OUe93nAQx7xmCc85RnPecFLXvGaN7zlHe/5wEc+8ZkvfOUb3/nBT37xmz/85R8BIuufgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLPwJE0T8BCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd//NcXJf6HgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLPwJE0z8BCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd/BIiufwISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi970oS/96M8ABjKIwQxhKMMYzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIWsojFLGEpy1jOClayitWsYS3rWM8GNrKJzWxhK9vYzg52sovd7GEv+9jPAQ5yiMMc4SjHOM4JTnKK05zhLOc4zwUuconLXOEq17jODW5yi9vc4S73uM8DHvKIxzzhKc94zgte8orXvOEt73jPBz7yic984Svf+M4PfvKL3/zhL/8IEEP/BCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/hEgpv4JSCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7/8I0As/ROQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/lHgNj6JyCBCEwQghKM4IQgJKEITRjCEo7wRCAikYhMFKISjejEICaxiE0c4hKP+CQgIYlITBKSkozkpCAlqUhNGtKSjvRkICOZyEwWspKN7OQgJ7nITR7yko/8FKAghShMEYpSjOKUoCSlKE0ZylKO8lSgIpWoTBWqUo3q1KAmtahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f+tKP/gxgIIMYzBCGMozhjGAkoxjNGMYyjvFMYCKTmMwUpjKN6cxgJrOYzRzmMo/5LGAhi1jMEpayjOWsYCWrWM0a1rKO9WxgI5vYzBa2so3t7GAnu9jNHvayj/0c4CCHOMwRjnKM45zgJKc4zRnOco7zXOAil7jMFa5yjevc4Ca3uM0d7nKP+zzgIY94zBOe8oznvOAlr3jNG97yjvd84COf+MwXvvKN7/zgJ7/4zR/+8o8AcfRPQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zlH/91U8T/EJBABCYIQQlGcEIQklCEJgxhCUd4IhCRSEQmClGJRnRiEJNYxCYOcYlHfBKQkEQkJglJSUZyUpCSVKQmDWlJR3oykJFMZCYLWclGdnKQk1zkJg95yUd+ClCQQhSmCEUpRnFKUJJSlKYMZSlHeSpQkUpUpgpVqUZ1alCTWtSmDnWpR30a0JBGNKYJTWlGc1rQkla0pg1taUd7OtCRTnSmC13pRnd60JNe9KYPfelHfwYwkEEMZghDGcZwRjCSUYxmDGMZx3gmMJFJTGYKU5nGdGYwk1nMZg5zmcd8FrCQRSxmCUtZxnJWsJJVrGYNa1nHejawkU1sZgtb2cZ2drCTXexmD3vZx34OcJBDHOYIRznGcU5wklOc5gxnOcd5LnCRS1zmCle5xnVucJNb3OYOd7nHfR7wkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/85g9/+cd/3QD1PwQkEIEJQlCCEZwQhCQUoQlDWMIRnghEJBKRiUJUohGdGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSkJBWpSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFKUJRilGcEpSkFKUpQ1nKUZ4KVKQSlalCVapRnRrUpBa1qUNd6lGfBjSkEY1pQlOa0ZwWtKQVrWlDW9rRng50pBOd6UJXutGdHvSkF73pQ1/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDX/7FC/D/vsHqfwhIIAIThKAEIzghCEkoQhOGsIQjPBGISCQiE4WoRCM6MYhJLGITh7jEIz4JSEgiEpOEpCQjOSlISSpSk4a0pCM9GchIJjKThaxkIzs5yEkucpOHvOQjPwUoSCEKU4SiFKM4JShJKUpThrKUozwVqEglKlOFqlSjOjWoSS1qU4e61KM+DWhIIxrThKY0ozktaEkrWtOGtrSjPR3oSCc604WudKM7PehJL3rTh770oz8DGMggBjOEoQxjOCMYyShGM4axjGM8E5jIJCYzhalMYzozmMksZjOHucxjPgtYyCIWs4SlLGM5K1jJKlazhrWsYz0b2MgmNrOFrWxjOzvYyS52s4e97GM/BzjIIQ5zhKMc4zgnOMkpTnOGs5zjPBe4yCUuc4WrXOM6N7jJLW5zh7vc4z4PeMgjHvOEpzzjOS94ySte84a3vOM9H/jIJz7zha984zs/+MkvfvOHv/zjv25s/h8CEojABCEowQhOCEISitCEISzhCE8EIhKJyEQhKtGITgxiEovYxCEu8YhPAhKSiMQkISnJSE4KUpKK1KQhLelITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S//CJBQ/wQkEIEJQlCCEZwQhCQUoQlDWMIRnghEJBKRiUJUohGdGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSkJBWpSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFKUJRilGcEpSkFKUpQ1nKUZ4KVKQSlalCVapRnRrUpBa1qUNd6lGfBjSkEY1pQlOa0ZwWtKQVrWlDW9rRng50pBOd6UJXutGdHvSkF73pQ1/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDX/4RIJH+CUggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84e//CNAYv0TkEAEJghBCUZwQhCSUIQmDGEJR3giEJFIRCYKUYlGdGIQk1jEJg5xiUd8EpCQRCQmCUlJRnJSkJJUpCYNaUlHejKQkUxkJgtZyUZ2cpCTXOQmD3nJR34KUJBCFKYIRSlGcUpQklKUpgxlKUd5KlCRSlSmClWpRnVqUJNa1KYOdalHfRrQkEY0pglNaUZzWtCSVrSmDW1pR3s60JFOdKYLXelGd3rQk170pg996Ud/BjCQQQxmCEMZxnBGMJJRjGYMYxnHeCYwkUlMZgpTmcZ0ZjCTWcxmDnOZx3wWsJBFLGYJS1nGclawklWsZg1rWcd6NrCRTWxmC1vZxnZ2sJNd7GYPe9nHfg5wkEMc5ghHOcZxTnCSU5zmDGc5x3kucJFLXOYKV7nGdW5wk1vc5g53ucd9HvCQRzzmCU95xnNe8JJXvOYNb3nHez7wkU985gtf+cZ3fvCTX/zmD3/5R4Ak+icggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/vKPAEn1T0ACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+9KUf/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rGUd69nARjaxmS1sZRvb2cFOdrGbPexlH/s5wEEOcZgjHOUYxznBSU5xmjOc5RznucBFLnGZK1zlGte5wU1ucZs73OUe93nAQx7xmCc85RnPecFLXvGaN7zlHe/5wEc+8ZkvfOUb3/nBT37xmz/85R8BkumfgAQiMEEISjCCE4KQhCI0YQhLOMITgYhEIjJRiEo0ohODmMQiNnGISzzik4CEJCIxSUhKMpKTgpSkIjVpSEs60pOBjGQiM1nISjayk4Oc5CI3echLPvJTgIIUojBFKEoxilOCkpSiNGUoSznKU4GKVKIyVahKNapTg5rUojZ1qEs96tOAhjSiMU1oSjOa04KWtKI1bWhLO9rTgY50ojNd6Eo3utODnvSiN33oSz/6M4CBDGIwQxjKMIYzgpGMYjRjGMs4xjOBiUxiMlOYyjSmM4OZzGI2c5jLPOazgIUsYjFLWMoylrOClaxiNWtYyzrWs4GNbGIzW9jKNrazg53sYjd72Ms+9nOAgxziMEc4yjGOc4KTnOI0ZzjLOc5zgYtc4jJXuMo1rnODm9ziNne4yz3u84CHPOIxT3jKM57zgpe84jVveMs73vOBj3ziM1/4yje+84Of/OI3f/jLPwIk1z8BCURgghCUYAQnBCEJRWjCEJZwhCcCEYlEZKIQlWhEJwYxiUVs4hCXeMQnAQlJRGKSkJRkJCcFKUlFatKQlnSkJwMZyURmspCVbGQnBznJRW7ykJd85KcABSlEYYpQlGIUpwQlKUVpylCWcpSnAhWpRGWqUJVqVKcGNalFbepQl3rUpwENaURjmtCUZjSnBS1pRWva0JZ2tKcDHelEZ7rQlW50pwc96UVv+tCXfvRnAAMZxGCGMJRhDGcEIxnFaMYwlnGMZwITmcRkpjCVaUxnBjOZxWzmMJd5zGcBC1nEYpawlGUsZwUrWcVq1rCWdaxnAxvZxGa2sJVtbGcHO9nFbvawl33s5wAHOcRhjnCUYxznBCc5xWnOcJZznOcCF7nEZa5wlWtc5wY3ucVt7nCXe9znAQ95xGOe8JRnPOcFL3nFa97wlne85wMf+cRnvvCVb3znBz/5xW/+8Jd/BEihfwISiMAEISjBCE4IQhKK0IQhLOEITwQiEonIRCEq0YhODGISi9jEIS7xiE8CEpKIxCQhKclITgpSkorUpCEt6UhPBjKSicxkISvZyE4OcpKL3OQhL/nITwEKUojCFKEoxShOCUpSitKUoSzlKE8FKlKJylShKtWoTg1qUova1KEu9ahPAxrSiMY0oSnNaE4LWtKK1rShLe1oTwc60onOdKEr3ehOD3rSi970oS/96M8ABjKIwQxhKMMYzghGMorRjGEs4xjPBCYyiclMYSrTmM4MZjKL2cxhLvOYzwIWsojFLGEpy1jOClayitWsYS3rWM8GNrKJzWxhK9vYzg52sovd7GEv+9jPAQ5yiMMc4SjHOM4JTnKK05zhLOc4zwUuconLXOEq17jODW5yi9vc4S73uM8DHvKIxzzhKc94zgte8orXvOEt73jPBz7yic984Svf+M4PfvKL3/zhL/8IkFL/BCQQgQlCUIIRnBCEJBShCUNYwhGeCEQkEpGJQlSiEZ0YxCQWsYlDXOIRnwQkJBGJSUJSkpGcFKQkFalJQ1rSkZ4MZCQTmclCVrKRnRzkJBe5yUNe8pGfAhSkEIUpQlGKUZwSlKQUpSlDWcpRngpUpBKVqUJVqlGdGtSkFrWpQ13qUZ8GNKQRjWlCU5rRnBa0pBWtaUNb2tGeDnSkE53pQle60Z0e9KQXvelDX/rRnwEMZBCDGcJQhjGcEYxkFKMZw1jGMZ4JTGQSk5nCVKYxnRnMZBazmcNc5jGfBSxkEYtZwlKWsZwVrGQVq1nDWtaxng1sZBOb2cJWtrGdHexkF7vZw172sZ8DHOQQhznCUY5xnBOc5BSnOcNZznGeC1zkEpe5wlWucZ0b3OQWt7nDXe5xnwc85BGPecJTnvGcF7zkFa95w1ve8Z4PfOQTn/nCV77xnR/85Be/+cNf/hEglf4JSCACE4SgBCM4IQhJKEIThrCEIzwRiEgkIhOFqEQjOjGISSxiE4e4xCM+CUhIIhKThKQkIzkpSEkqUpOGtKQjPRnISCYyk4WsZCM7OchJLnKTh7zkIz8FKEghClOEohSjOCUoSSlKU4aylKM8FahIJSpThapUozo1qEktalOHutSjPg1oSCMa04SmNKM5LWhJK1rThra0oz0d6EgnOtOFrnSjOz3oSS9604e+9KM/AxjIIAYzhKEMYzgjGMkoRjOGsYxjPBOYyCQmM4WpTGM6M5jJLGYzh7nMYz4LWMgiFrOEpSxjOStYySpWs4a1rGM9G9jIJjazha1sYzs72MkudrOHvexjPwc4yCEOc4SjHOM4JzjJKU5zhrOc4zwXuMglLnOFq1zjOje4yS1uc4e73OM+D3jIIx7zhKc84zkveMkrXvOGt7zjPR/4yCc+84WvfOM7P/jJL37zh7/8I0Bq/ROQQAQmCEEJRnBCEJJQhCYMYQlHeCIQkUhEJgpRiUZ0YhCTWMQmDnGJR3wSkJBEJCYJSUlGclKQklSkJg1pSUd6MpCRTGQmC1nJRnZykJNc5CYPeclHfgpQkEIUpghFKUZxSlCSUpSmDGUpR3kqUJFKVKYKValGdWpQk1rUpg51qUd9GtCQRjSmCU1pRnNa0JJWtKYNbWlHezrQkU50pgtd6UZ3etCTXvSmD33pR38GMJBBDGYIQxnGcEYwklGMZgxjGcd4JjCRSUxmClOZxnRmMJNZzGYOc5nHfBawkEUsZglLWcZyVrCSVaxmDWtZx3o2sJFNbGYLW9nGdnawk13sZg972cd+DnCQQxzmCEc5xnFOcJJTnOYMZznHeS5wkUtc5gpXucZ1bnCTW9zmDne5x30e8JBHPOYJT3nGc17wkle85g1vecd7PvCRT3zmC1/5xnd+8JNf/OYPf/lHgDT6JyCBCEwQghKM4IQgJKEITRjCEo7wRCAikYhMFKISjejEICaxiE0c4hKP+CQgIYlITBKSkozkpCAlqUhNGtKSjvRkICOZyEwWspKN7OQgJ7nITR7yko/8FKAghShMEYpSjOKUoCSlKE0ZylKO8lSgIpWoTBWqUo3q1KAmtahNHepSj/o0oCGNaEwTmtKM5rSgJa1oTRva0o72dKAjnehMF7rSje70oCe96E0f+tKP/gxgIIMYzBCGMozhjGAkoxjNGMYyjvFMYCKTmMwUpjKN6cxgJrOYzRzmMo/5LGAhi1jMEpayjOWsYCWrWM0a1rKO9WxgI5vYzBa2so3t7GAnu9jNHvayj/0c4CCHOMwRjnKM45zgJKc4zRnOco7zXOAil7jMFa5yjevc4Ca3uM0d7nKP+zzgIY94zBOe8oznvOAlr3jNG97yjvd84COf+MwXvvKN7/zgJ7/4zR/+8o8AafVPQAIRmCAEJRjBCUFIQhGaMIQlHOGJQEQiEZkoRCUa0YlBTGIRmzjEJR7xSUBCEpGYJCQlGclJQUpSkZo0pCUd6clARjKRmSxkJRvZyUFOcpGbPOQlH/kpQEEKUZgiFKUYxSlBSUpRmjKUpRzlqUBFKlGZKlSlGtWpQU1qUZs61KUe9WlAQxrRmCY0pRnNaUFLWtGaNrSlHe3pQEc60ZkudKUb3elBT3rRmz70pR/9GcBABjGYIQxlGMMZwUhGMZoxjGUc45nARCYxmSlMZRrTmcFMZjGbOcxlHvNZwEIWsZglLGUZy1nBSlaxmjWsZR3r2cBGNrGZLWxlG9vZwU52sZs97GUf+znAQQ5xmCMc5RjHOcFJTnGaM5zlHOe5wEUucZkrXOUa17nBTW5xmzvc5R73ecBDHvGYJzzlGc95wUte8Zo3vOUd7/nARz7xmS985Rvf+cFPfvGbP/zlHwHS6Z+ABCIwQQhKMIITgpCEIjRhCEs4whOBiEQiMlGISjSiE4OYxCI2cYhLPOKTgIQkIjFJSEoykpOClKQiNWlISzrSk4GMZCIzWchKNrKTg5zkIjd5yEs+8lOAghSiMEUoSjGKU4KSlKI0ZShLOcpTgYpUojJVqEo1qlODmtSiNnWoSz3q04CGNKIxTWhKM5rTgpa0ojVtaEs72tOBjnSiM13oSje604Oe9KI3fehLP/ozgIEMYjBDGMowhjOCkYxiNGMYyzjGM4GJTGIyU5jKNKYzg5nMYjZzmMs85rOAhSxiMUtYyjKWs4KVrGI1a1jLOtazgY1sYjNb2Mo2trODnexiN3vYyz72c4CDHOIwRzjKMY5zgpOc4jRnOMs5znOBi1ziMle4yjWuc4Ob3OI2d7jLPe7zgIc84jFPeMoznvOCl7ziNW94yzve84GPfOIzX/jKN77zg5/84jd/+Ms/AqTXPwEJRGCCEJRgBCcEIQlFaMIQlnCEJwIRiURkohCVaEQnBjGJRWziEJd4xCcBCUlEYpKQlGQkJwUpSUVq0pCWdKQnAxnJRGaykJVsZCcHOclFbvKQl3zkpwAFKURhilCUYhSnBCUpRWnKUJZylKcCFalEZapQlWpUpwY1qUVt6lCXetSnAQ1pRGOa0JRmNKcFLWlFa9rQlna0pwMd6URnutCVbnSnBz3pRW/60Jd+9GcAAxnEYIYwlGEMZwQjGcVoxjCWcYxnAhOZxGSmMJVpTGcGM5nFbOYwl3nMZwELWcRilrCUZSxnBStZxWrWsJZ1rGcDG9nEZrawlW1sZwc72cVu9rCXfeznAAc5xGGOcJRjHOcEJznFac5wlnOc5wIXucRlrnCVa1znBje5xW3ucJd73OcBD3nEY57wlGc85wUvecVr3vCWd7znAx/5xGe+8JVvfOcHP/nFb/7wl38EyKB/AhKIwAQhKMEITghCEorQhCEs4QhPBCISichEISrRiE4MYhKL2MQhLvGITwISkojEJCEpyUhOClKSitSkIS3pSE8GMpKJzGQhK9nITg5ykovc5CEv+chPAQpSiMIUoSjFKE4JSlKK0pShLOUoTwUqUonKVKEq1ahODWpSi9rUoS71qE8DGtKIxjShKc1oTgta0orWtKEt7WhPBzrSic50oSvd6E4PetKL3vShL/3ozwAGMojBDGEowxjOCEYyitGMYSzjGM8EJjKJyUxhKtOYzgxmMovZzGEu85jPAhayiMUsYSnLWM4KVrKK1axhLetYzwY2sonNbGEr29jODnayi93sYS/72M8BDnKIwxzhKMc4zglOcorTnOEs5zjPBS5yictc4SrXuM4NbnKL29zhLve4zwMe8ojHPOEpz3jOC17yite84S3veM8HPvKJz3zhK9/4zg9+8ovf/OEv/wiQUf8EJBCBCUJQghGcEIQkFKEJQ1jCEZ4IRCQSkYlCVKIRnRjEJBaxiUNc4hGfBCQkEYlJQlKSkZwUpCQVqUlDWtKRngxkJBOZyUJWspGdHOQkF7nJQ17ykZ8CFKQQhSlCUYpRnBKUpBSlKUNZylGeClSkEpWpQlWqUZ0a1KQWtalDXepRnwY0pBGNaUJTmtGcFrSkFa1pQ1va0Z4OdKQTnelCV7rRnR70pBe96UNf+tGfAQxkEIMZwlCGMZwRjGQUoxnDWMYxnglMZBKTmcJUpjGdGcxkFrOZw1zmMZ8FLGQRi1nCUpaxnBWsZBWrWcNa1rGeDWxkE5vZwla2sZ0d7GQXu9nDXvaxnwMc5BCHOcJRjnGcE5zkFKc5w1nOcZ4LXOQSl7nCVa5xnRvc5Ba3ucNd7nGfBzzkEY95wlOe8ZwXvOQVr3nDW97xng985BOf+cJXvvGdH/zkF7/5w1/+ESCT/glIIAIThKAEIzghCEkoQhOGsIQjPBGISCQiE4WoRCM6MYhJLGITh7jEIz4JSEgiEpOEpCQjOSlISSpSk4a0pCM9GchIJjKThaxkIzs5yEkucpOHvOQjPwUoSCEKU4SiFKM4JShJKUpThrKUozwVqEglKlOFqlSjOjWoSS1qU4e61KM+DWhIIxrThKY0ozktaEkrWtOGtrSjPR3oSCc604WudKM7PehJL3rTh770oz8DGMggBjOEoQxjOCMYyShGM4axjGM8E5jIJCYzhalMYzozmMksZjOHucxjPgtYyCIWs4SlLGM5K1jJKlazhrWsYz0b2MgmNrOFrWxjOzvYyS52s4e97GM/BzjIIQ5zhKMc4zgnOMkpTnOGs5zjPBe4yCUuc4WrXOM6N7jJLW5zh7vc4z4PeMgjHvOEpzzjOS94ySte84a3vOM9H/jIJz7zha984zs/+MkvfvOHv/wjQGb9E5BABCYIQQlGcEIQklCEJgxhCUd4IhCRSEQmClGJRnRiEJNYxCYOcYlHfBKQkEQkJglJSUZyUpCSVKQmDWlJR3oykJFMZCYLWclGdnKQk1zkJg95yUd+ClCQQhSmCEUpRnFKUJJSlKYMZSlHeSpQkUpUpgpVqUZ1alCTWtSmDnWpR30a0JBGNKYJTWlGc1rQkla0pg1taUd7OtCRTnSmC13pRnd60JNe9KYPfelHfwYwkEEMZghDGcZwRjCSUYxmDGMZx3gmMJFJTGYKU5nGdGYwk1nMZg5zmcd8FrCQRSxmCUtZxnJWsJJVrGYNa1nHejawkU1sZgtb2cZ2drCTXexmD3vZx34OcJBDHOYIRznGcU5wklOc5gxnOcd5LnCRS1zmCle5xnVucJNb3OYOd7nHfR7wkEc85glPecZzXvCSV7zmDW95x3s+8JFPfOYLX/nGd37wk1/85g9/+UeALPonIIEITBCCEozghCAkoQhNGMISjvBEICKRiEwUohKN6MQgJrGITRziEo/4JCAhiUhMEpKSjOSkICWpSE0a0pKO9GQgI5nITBayko3s5CAnuchNHvKSj/wUoCCFKEwRilKM4pSgJKUoTRnKUo7yVKAilahMFapSjerUoCa1qE0d6lKP+jSgIY1oTBOa0ozmtKAlrWhNG9rSjvZ0oCOd6EwXutKN7vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIpOYzBSmMo3pzGAms5jNHOYyj/ksYCGLWMwSlrKM5axgJatYzRrWso71bGAjm9jMFrayje3sYCe72M0e9rKP/RzgIIc4zBGOcozjnOAkpzjNGc5yjvNc4CKXuMwVrnKN69zgJre4zR3uco/7POAhj3jME57yjOe84CWveM0b3vKO93zgI5/4zBe+8o3v/OAnv/jNH/7yjwBZ9U9AAhGYIAQlGMEJQUhCEZowhCUc4YlARCIRmShEJRrRiUFMYhGbOMQlHvFJQEISkZgkJCUZyUlBSlKRmjSkJR3pyUBGMpGZLGQlG9nJQU5ykZs85CUf+SlAQQpRmCIUpRjFKUFJSlGaMpSlHOWpQEUqUZkqVKUa1alBTWpRmzrUpR71aUBDGtGYJjSlGc1pQUta0Zo2tKUd7elARzrRmS50pRvd6UFPetGbPvSlH/0ZwEAGMZghDGUYwxnBSEYxmjGMZRzjmcBEJjGZKUxlGtOZwUxmMZs5zGUe81nAQhaxmCUsZRnLWcFKVrGaNaxlHevZwEY2sZktbGUb29nBTnaxmz3sZR/7OcBBDnGYIxzlGMc5wUlOcZoznOUc57nARS5xmStc5RrXucFNbnGbO9zlHvd5wEMe8ZgnPOUZz3nBS17xmje85R3v+cBHPvGZL3zlG9/5wU9+8Zs//OUfAbLpn4AEIjBBCEowghOCkIQiNGEISzjCE4GIRCIyUYhKNKITg5jEIjZxiEs84pOAhCQiMUlISjKSk4KUpCI1aUhLOtKTgYxkIjNZyEo2spODnOQiN3nISz7yU4CCFKIwRShKMYpTgpKUojRlKEs5ylOBilSiMlWoSjWqU4Oa1KI2dahLPerTgIY0ojFNaEozmtOClrSiNW1oSzva04GOdKIzXehKN7rTg570ojd96Es/+jOAgQxiMEMYyjCGM4KRjGI0YxjLOMYzgYlMYjJTmMo0pjODmcxiNnOYyzzms4CFLGIxS1jKMpazgpWsYjVrWMs61rOBjWxiM1vYyja2s4Od7GI3e9jLPvZzgIMc4jBHOMoxjnOCk5ziNGc4yznOc4GLXOIyV7jKNa5zg5vc4jZ3uMs97vOAhzziMU94yjOe84KXvOI1b3jLO97zgY984jNf+Mo3vvODn/ziN3/4yz8CZNc/AQlEYIIQlGAEJwQhCUVowhCWcIQnAhGJRGSiEJVoRCcGMYlFbOIQl3jEJwEJSURikpCUZCQnBSlJRWrSkJZ0pCcDGclEZrKQlWxkJwc5yUVu8pCXfOSnAAUpRGGKUJRiFKcEJSlFacpQlnKUpwIVqURlqlCValSnBjWpRW3qUJd61KcBDWlEY5rQlGY0pwUtaUVr2tCWdrSnAx3pRGe60JVudKcHPelFb/rQl370ZwADGcRghjCUYQxnBCMZxWjGMJZxjGcCE5nEZKYwlWlMZwYzmcVs5jCXecxnAQtZxGKWsJRlLGcFK1nFatawlnWsZwMb2cRmtrCVbWxnBzvZxW72sJd97OcABznEYY5wlGMc5wQnOcVpznCWc5znAhe5xGWucJVrXOcGN7nFbe5wl3vc5wEPecRjnvCUZzznBS95xWve8JZ3vOcDH/nEZ77wlW985wc/+cVv/vCXfwTIoX8CEojABCEowQhOCEISitCEISzhCE8EIhKJyEQhKtGITgxiEovYxCEu8YhPAhKSiMQkISnJSE4KUpKK1KQhLelITwYykonMZCEr2chODnKSi9zkIS/5yE8BClKIwhShKMUoTglKUorSlKEs5ShPBSpSicpUoSrVqE4NalKL2tShLvWoTwMa0ojGNKEpzWhOC1rSita0oS3taE8HOtKJznShK93oTg960ove9KEv/ejPAAYyiMEMYSjDGM4IRjKK0YxhLOMYzwQmMonJTGEq05jODGYyi9nMYS7zmM8CFrKIxSxhKctYzgpWsorVrGEt61jPBjayic1sYSvb2M4OdrKL3exhL/vYzwEOcojDHOEoxzjOCU5yitOc4SznOM8FLnKJy1zhKte4zg1ucovb3OEu97jPAx7yiMc84SnPeM4LXvKK17zhLe94zwc+8onPfOEr3/jOD37yi9/84S//CJBT/wQkEIEJQlCCEZwQhCQUoQlDWMIRnghEJBKRiUJUohGdGMQkFrGJQ1ziEZ8EJCQRiUlCUpKRnBSkJBWpSUNa0pGeDGQkE5nJQlaykZ0c5CQXuclDXvKRnwIUpBCFKUJRilGcEpSkFKUpQ1nKUZ4KVKQSlalCVapRnRrUpBa1qUNd6lGfBjSkEY1pQlOa0ZwWtKQVrWlDW9rRng50pBOd6UJXutGdHvSkF73pQ1/60Z8BDGQQgxnCUIYxnBGMZBSjGcNYxjGeCUxkEpOZwlSmMZ0ZzGQWs5nDXOYxnwUsZBGLWcJSlrGcFaxkFatZw1rWsZ4NbGQTm9nCVraxnR3sZBe72cNe9rGfAxzkEIc5wlGOcZwTnOQUpznDWc5xngtc5BKXucJVrnGdG9zkFre5w13ucZ8HPOQRj3nCU57xnBe85BWvecNb3vGeD3zkE5/5wle+8Z0f/OQXv/nDX/4RIJf+CUggAhOEoAQjOCEISShCE4awhCM8EYhIJCIThahEIzoxiEksYhOHuMQjPglISCISk4SkJCM5KUhJKlKThrSkIz0ZyEgmMpOFrGQjOznISS5yk4e85CM/BShIIQpThKIUozglKEkpSlOGspSjPBWoSCUqU4WqVKM6NahJLWpTh7rUoz4NaEgjGtOEpjSjOS1oSSta04a2tKM9HehIJzrTha50ozs96EkvetOHvvSjPwMYyCAGM4ShDGM4IxjJKEYzhrGMYzwTmMgkJjOFqUxjOjOYySxmM4e5zGM+C1jIIhazhKUsYzkrWMkqVrOGtaxjPRvYyCY2s4WtbGM7O9jJLnazh73sYz8HOMghDnOEoxzjOCc4ySlOc4aznOM8F7jIJS5zhatc4zo3uMktbnOHu9zjPg94yCMe84SnPOM5L3jJK17zhre84z0f+MgnPvOFr3zjOz/4yS9+84e//CNAbv0TkEAEJghBCUZwQhCSUIQmDGEJR3giEJFIRCYKUYlGdGIQk1jEJg5xiUd8EpCQRCQmCUlJRnJSkJJUpCYNaUlHejKQkUxkJgtZyUZ2cpCTXOQmD3nJR34KUJBCFKYIRSlGcUpQklKUpgxlKUd5KlCRSlSmClWpRnVqUJNa1KYOdalHfRrQkEY0pglNaUZzWtCSVrSmDW1pR3s60JFOdKYLXelGd3rQk170pg996Ud/BjCQQQxmCEMZxnBGMJJRjGYMYxnHeCYwkUlMZgpTmcZ0ZjCTWcxmDnOZx3wWsJBFLGYJS1nGclawklWsZg1rWcd6NrCRTWxmC1vZxnZ2sJNd7GYPe9nHfg5wkEMc5ghHOcZxTnCSU5zmDGc5x3kucJFLXOYKV7nGdW5wk1vc5g53ucd9HvCQRzzmCU95xnNe8JJXvOYNb3nHez7wkU985gtf+cZ3fvCTX/zmD3/5R4A8+icggQhMEIISjOCEICShCE0YwhKO8EQgIpGITBSiEo3oxCAmsYhNHOISj/gkICGJSEwSkpKM5KQgJalITRrSko70ZCAjmchMFrKSjezkICe5yE0e8pKP/BSgIIUoTBGKUozilKAkpShNGcpSjvJUoCKVqEwVqlKN6tSgJrWoTR3qUo/6NKAhjWhME5rSjOa0oCWtaE0b2tKO9nSgI53oTBe60o3u9KAnvehNH/rSj/4MYCCDGMwQhjKM4YxgJKMYzRjGMo7xTGAik5jMFKYyjenMYCazmM0c5jKP+SxgIYtYzBKWsozlrGAlq1jNGtayjvVsYCOb2MwWtrKN7exgJ7vYzR72so/9HOAghzjMEY5yjOOc4CSnOM0ZznKO81zgIpe4zBWuco3r3OAmt7jNHe5yj/s84CGPeMwTnvKM57zgJa94zRve8o73fOAjn/jMF77yje/84Ce/+M0f/vKPAHn1T0ACEZggBCUYwQlBSEIRmjCEJRzhiUBEIhGZKEQlGtGJQUxiEZs4xCUe8UlAQhKRmCQkJRnJSUFKUpGaNKQlHenJQEYykZksZCUb2clBTnKRmzzkJR/5KUBBClGYIhSlGMUpQUlKUZoylKUc5alARSpRmSpUpRrVqUFNalGbOtSlHvVpQEMa0ZgmNKUZzWlBS1rRmja0pR3t6UBHOtGZLnSlG93pQU960Zs+9KUf/RnAQAYxmCEMZRjDGcFIRjGaMYxlHOOZwEQmMZkpTGUa05nBTGYxmznMZR7zWcBCFrGYJSxlGctZwUpWsZo1rOX/xd4/xcq2gA0X5j7btm3btu1ztm3btm3btm3btm31+NJ/0n93+q6/k5yR9ExGqtbNW8+aVW+lZlZWag2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzdJ4u0EW6RJfpCl2la3SdbtBNukW36Q7dpXt0nx7QQ3pEj+kJPaVn9Jxe0Et6Ra/pDb2ld/SePtBH+kSf6Qt9pW/0nX7QT/pFv+kPBcjH/lNACkSBKQgFpWAUnEJQSApFoSkMhaVwFJ4iUESKRJEpCkWlaBSdYlBMikWxKQ7FpXgUnxJQQkpEiSkJJaVklJxSUEpKRakpDaWldJSeMlBGykSZKQtlpWyUnXJQTspFuSkP5aV8lJ8KUEEqRIWpCBWlYlScSlBJKkWlqQyVpXJUnipQRapElakKVaW/6R+qRtWpBtWkWlSb6lBdqkf1qQE1pEbUmJpQU2pGzakFtaRW1JraUFtqR+2pA3WkTtSZulBX6kbdqQf1pF7Um/pQX+pH/WkADaRBNJiG0FAaRsNpBI2kUTSaxtBYGkfjaQJNpEk0mabQVJpG02kGzaRZNJvm0FyaR/NpAS2kRbSYltBSWkbLaQWtpFW0mtbQWlpH62kDbaRNtJm20FbaRttpB+2kXbSb9tBe2kf76QAdpEN0mI7QUTpGx+kEnaRTdJrO0Fk6R+fpAl2kS3SZrtBVukbX6QbdpFt0m+7QXbpH9+kBPaRH9Jie0FN6Rs/pBb2kV/Sa3tBbekfv6QN9pE/0mb7QV/pG3+kH/aRf9Jv+UID87D8FpEAUmIJQUApGwSkEhaRQFJrCUFgKR+EpAkWkSBSZolBUikbRKQbFpFgUm+JQXIpH8SkBJaRElJiSUFJKRskpBaWkVJSa0lBaSkfpKQNlpEyUmbJQVspG2SkH5aRclJvyUF7KR/mpABWkQlSYilBRKkbFqQSVpFJUmspQWSpH5akCVaRKVJmqUFX6m/6halSdalBNqkW1qQ7VpXpUnxpQQ2pEjakJNaVm1JxaUEtqRa2pDbWldtSeOlBH6kSdqQt1pW7UnXpQT+pFvakP9aV+1J8G0EAaRINpCA2lYTScRtBIGkWjaQyNpXE0nibQRJpEk2kKTaVpNJ1m0EyaRbNpDs2leTSfFtBCWkSLaQktpWW0nFbQSlpFq2kNraV1tJ420EbaRJtpC22lbbSddtBO2kW7aQ/tpX20nw7QQTpEh+kIHaVjdJxO0Ek6RafpDJ2lc3SeLtBFukSX6QpdpWt0nW7QTbpFt+kO3aV7dJ8e0EN6RI/pCT2lZ/ScXtBLekWv6Q29pXf0nj7QR/pEn+kLfaVv9J1+0E/6Rb/pDwUowP5TQApEgSkIBaVgFJxCUEgKRaEpDIWlcBSeIlBEikSRKQpFpWgUnWJQTIpFsSkOxaV4FJ8SUEJKRIkpCSWlZJScUlBKSkWpKQ2lpXSUnjJQRspEmSkLZaVslJ1yUE7KRbkpD+WlfJSfClBBKkSFqQgVpWJUnEpQSSpFpakMlaVyVJ4qUEWqRJWpClWlv+kfqkbVqQbVpFpUm+pQXapH9akBNaRG1JiaUFNqRs2pBbWkVtSa2lBbakftqQN1pE7UmbpQV+pG3akH9aRe1Jv6UF/qR/1pAA2kQTSYhtBQGkbDaQSNpFE0msbQWBpH42kCTaRJNJmm0FSaRtNpBs2kWTSb5tBcmkfzaQEtpEW0mJbQUlpGy2kFraRVtJrW0FpaR+tpA22kTbSZttBW2kbbaQftpF20m/bQXtpH++kAHaRDdJiO0FE6RsfpBJ2kU3SaztBZOkfn6QJdpEt0ma7QVbpG1+kG3aRbdJvu0F26R/fpAT2kR/SYntBTekbP6QW9pFf0mt7QW3pH7+kDfaRP9Jm+0Ff6Rt/pB/2kX/Sb/lCAguw/BaRAFJiCUFAKRsEpBIWkUBSawlBYCkfhKQJFpEgUmaJQVIpG0SkGxaRYFJviUFyKR/EpASWkRJSYklBSSkbJKQWlpFSUmtJQWkpH6SkDZaRMlJmyUFbKRtkpB+WkXJSb8lBeykf5qQAVpEJUmIpQUSpGxakElaRSVJrKUFkqR+WpAlWkSlSZqlBV+pv+oWpUnWpQTapFtakO1aV6VJ8aUENqRI2pCTWlZtScWlBLakWtqQ21pXbUnjpQR+pEnakLdaVu1J16UE/qRb2pD/WlftSfBtBAGkSDaQgNpWE0nEbQSBpFo2kMjaVxNJ4m0ESaRJNpCk2laTSdZtBMmkWzaQ7NpXk0nxbQQlpEi2kJLaVltJxW0EpaRatpDa2ldbSeNtBG2kSbaQttpW20nXbQTtpFu2kP7aV9tJ8O0EE6RIfpCB2lY3ScTtBJOkWn6QydpXN0ni7QRbpEl+kKXaVrdJ1u0E26RbfpDt2le3SfHtBDekSP6Qk9pWf0nF7QS3pFr+kNvaV39J4+0Ef6RJ/pC32lb/SdftBP+kW/6Q8FKMT+U0AKRIEpCAWlYBScQlBICkWhKQyFpXAUniJQRIpEkSkKRaVoFJ1iUEyKRbEpDsWleBSfElBCSkSJKQklpWSUnFJQSkpFqSkNpaV0lJ4yUEbKRJkpC2WlbJSdclBOykW5KQ/lpXyUnwpQQSpEhakIFaViVJxKUEkqRaWpDJWlclSeKlBFqkSVqQpVpb/pH6pG1akG1aRaVJvqUF2qR/WpATWkRtSYmlBTakbNqQW1pFbUmtpQW2pH7akDdaRO1Jm6UFfqRt2pB/WkXtSb+lBf6kf9aQANpEE0mIbQUBpGw2kEjaRRNJrG0FgaR+NpAk2kSTSZptBUmkbTaQbNpFk0m+bQXJpH82kBLaRFtJiW0FJaRstpBa2kVbSa1tBaWkfraQNtpE20mbbQVtpG22kH7aRdtJv20F7aR/vpAB2kQ3SYjtBROkbH6QSdpFN0ms7QWTpH5+kCXaRLdJmu0FW6RtfpBt2kW3Sb7tBdukf36QE9pEf0mJ7QU3pGz+kFvaRX9Jre0Ft6R+/pA32kT/SZvtBX+kbf6Qf9pF/0m/5QgMLsPwWkQBSYglBQCkbBKQSFpFAUmsJQWApH4SkCRaRIFJmiUFSKRtEpBsWkWBSb4lBcikfxKQElpESUmJJQUkpGySkFpaRUlJrSUFpKR+kpA2WkTJSZslBWykbZKQflpFyUm/JQXspH+akAFaRCVJiKUFEqRsWpBJWkUlSaylBZKkflqQJVpEpUmapQVfqb/qFqVJ1qUE2qRbWpDtWlelSfGlBDakSNqQk1pWbUnFpQS2pFrakNtaV21J46UEfqRJ2pC3WlbtSdelBP6kW9qQ/1pX7UnwbQQBpEg2kIDaVhNJxG0EgaRaNpDI2lcTSeJtBEmkSTaQpNpWk0nWbQTJpFs2kOzaV5NJ8W0EJaRItpCS2lZbScVtBKWkWraQ2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzdJ4u0EW6RJfpCl2la3SdbtBNukW36Q7dpXt0nx7QQ3pEj+kJPaVn9Jxe0Et6Ra/pDb2ld/SePtBH+kSf6Qt9pW/0nX7QT/pFv+kPBSjC/lNACkSBKQgFpWAUnEJQSApFoSkMhaVwFJ4iUESKRJEpCkWlaBSdYlBMikWxKQ7FpXgUnxJQQkpEiSkJJaVklJxSUEpKRakpDaWldJSeMlBGykSZKQtlpWyUnXJQTspFuSkP5aV8lJ8KUEEqRIWpCBWlYlScSlBJKkWlqQyVpXJUnipQRapElakKVaW/6R+qRtWpBtWkWlSb6lBdqkf1qQE1pEbUmJpQU2pGzakFtaRW1JraUFtqR+2pA3WkTtSZulBX6kbdqQf1pF7Um/pQX+pH/WkADaRBNJiG0FAaRsNpBI2kUTSaxtBYGkfjaQJNpEk0mabQVJpG02kGzaRZNJvm0FyaR/NpAS2kRbSYltBSWkbLaQWtpFW0mtbQWlpH62kDbaRNtJm20FbaRttpB+2kXbSb9tBe2kf76QAdpEN0mI7QUTpGx+kEnaRTdJrO0Fk6R+fpAl2kS3SZrtBVukbX6QbdpFt0m+7QXbpH9+kBPaRH9Jie0FN6Rs/pBb2kV/Sa3tBbekfv6QN9pE/0mb7QV/pG3+kH/aRf9Jv+UICi7D8FpEAUmIJQUApGwSkEhaRQFJrCUFgKR+EpAkWkSBSZolBUikbRKQbFpFgUm+JQXIpH8SkBJaRElJiSUFJKRskpBaWkVJSa0lBaSkfpKQNlpEyUmbJQVspG2SkH5aRclJvyUF7KR/mpABWkQlSYilBRKkbFqQSVpFJUmspQWSpH5akCVaRKVJmqUFX6m/6halSdalBNqkW1qQ7VpXpUnxpQQ2pEjakJNaVm1JxaUEtqRa2pDbWldtSeOlBH6kSdqQt1pW7UnXpQT+pFvakP9aV+1J8G0EAaRINpCA2lYTScRtBIGkWjaQyNpXE0nibQRJpEk2kKTaVpNJ1m0EyaRbNpDs2leTSfFtBCWkSLaQktpWW0nFbQSlpFq2kNraV1tJ420EbaRJtpC22lbbSddtBO2kW7aQ/tpX20nw7QQTpEh+kIHaVjdJxO0Ek6RafpDJ2lc3SeLtBFukSX6QpdpWt0nW7QTbpFt+kO3aV7dJ8e0EN6RI/pCT2lZ/ScXtBLekWv6Q29pXf0nj7QR/pEn+kLfaVv9J1+0E/6Rb/pDwUoxv5TQApEgSkIBaVgFJxCUEgKRaEpDIWlcBSeIlBEikSRKQpFpWgUnWJQTIpFsSkOxaV4FJ8SUEJKRIkpCSWlZJScUlBKSkWpKQ2lpXSUnjJQRspEmSkLZaVslJ1yUE7KRbkpD+WlfJSfClBBKkSFqQgVpWJUnEpQSSpFpakMlaVyVJ4qUEWqRJWpClWlv+kfqkbVqQbVpFpUm+pQXapH9akBNaRG1JiaUFNqRs2pBbWkVtSa2lBbakftqQN1pE7UmbpQV+pG3akH9aRe1Jv6UF/qR/1pAA2kQTSYhtBQGkbDaQSNpFE0msbQWBpH42kCTaRJNJmm0FSaRtNpBs2kWTSb5tBcmkfzaQEtpEW0mJbQUlpGy2kFraRVtJrW0FpaR+tpA22kTbSZttBW2kbbaQftpF20m/bQXtpH++kAHaRDdJiO0FE6RsfpBJ2kU3SaztBZOkfn6QJdpEt0ma7QVbpG1+kG3aRbdJvu0F26R/fpAT2kR/SYntBTekbP6QW9pFf0mt7QW3pH7+kDfaRP9Jm+0Ff6Rt/pB/2kX/Sb/lCA4uw/BaRAFJiCUFAKRsEpBIWkUBSawlBYCkfhKQJFpEgUmaJQVIpG0SkGxaRYFJviUFyKR/EpASWkRJSYklBSSkbJKQWlpFSUmtJQWkpH6SkDZaRMlJmyUFbKRtkpB+WkXJSb8lBeykf5qQAVpEJUmIpQUSpGxakElaRSVJrKUFkqR+WpAlWkSlSZqlBV+pv+oWpUnWpQTapFtakO1aV6VJ8aUENqRI2pCTWlZtScWlBLakWtqQ21pXbUnjpQR+pEnakLdaVu1J16UE/qRb2pD/WlftSfBtBAGkSDaQgNpWE0nEbQSBpFo2kMjaVxNJ4m0ESaRJNpCk2laTSdZtBMmkWzaQ7NpXk0nxbQQlpEi2kJLaVltJxW0EpaRatpDa2ldbSeNtBG2kSbaQttpW20nXbQTtpFu2kP7aV9tJ8O0EE6RIfpCB2lY3ScTtBJOkWn6QydpXN0ni7QRbpEl+kKXaVrdJ1u0E26RbfpDt2le3SfHtBDekSP6Qk9pWf0nF7QS3pFr+kNvaV39J4+0Ef6RJ/pC32lb/SdftBP+kW/6Q8FKMH+U0AKRIEpCAWlYBScQlBICkWhKQyFpXAUniJQRIpEkSkKRaVoFJ1iUEyKRbEpDsWleBSfElBCSkSJKQklpWSUnFJQSkpFqSkNpaV0lJ4yUEbKRJkpC2WlbJSdclBOykW5KQ/lpXyUnwpQQSpEhakIFaViVJxKUEkqRaWpDJWlclSeKlBFqkSVqQpVpb/pH6pG1akG1aRaVJvqUF2qR/WpATWkRtSYmlBTakbNqQW1pFbUmtpQW2pH7akDdaRO1Jm6UFfqRt2pB/WkXtSb+lBf6kf9aQANpEE0mIbQUBpGw2kEjaRRNJrG0FgaR+NpAk2kSTSZptBUmkbTaQbNpFk0m+bQXJpH82kBLaRFtJiW0FJaRstpBa2kVbSa1tBaWkfraQNtpE20mbbQVtpG22kH7aRdtJv20F7aR/vpAB2kQ3SYjtBROkbH6QSdpFN0ms7QWTpH5+kCXaRLdJmu0FW6RtfpBt2kW3Sb7tBdukf36QE9pEf0mJ7QU3pGz+kFvaRX9Jre0Ft6R+/pA32kT/SZvtBX+kbf6Qf9pF/0m/5QgJLsPwWkQBSYglBQCkbBKQSFpFAUmsJQWApH4SkCRaRIFJmiUFSKRtEpBsWkWBSb4lBcikfxKQElpESUmJJQUkpGySkFpaRUlJrSUFpKR+kpA2WkTJSZslBWykbZKQflpFyUm/JQXspH+akAFaRCVJiKUFEqRsWpBJWkUlSaylBZKkflqQJVpEpUmapQVfqb/qFqVJ1qUE2qRbWpDtWlelSfGlBDakSNqQk1pWbUnFpQS2pFrakNtaV21J46UEfqRJ2pC3WlbtSdelBP6kW9qQ/1pX7UnwbQQBpEg2kIDaVhNJxG0EgaRaNpDI2lcTSeJtBEmkSTaQpNpWk0nWbQTJpFs2kOzaV5NJ8W0EJaRItpCS2lZbScVtBKWkWraQ2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzdJ4u0EW6RJfpCl2la3SdbtBNukW36Q7dpXt0nx7QQ3pEj+kJPaVn9Jxe0Et6Ra/pDb2ld/SePtBH+kSf6Qt9pW/0nX7QT/pFv+kPBSjF/lNACkSBKQgFpWAUnEJQSApFoSkMhaVwFJ4iUESKRJEpCkWlaBSdYlBMikWxKQ7FpXgUnxJQQkpEiSkJJaVklJxSUEpKRakpDaWldJSeMlBGykSZKQtlpWyUnXJQTspFuSkP5aV8lJ8KUEEqRIWpCBWlYlScSlBJKkWlqQyVpXJUnipQRapElakKVaW/6R+qRtWpBtWkWlSb6lBdqkf1qQE1pEbUmJpQU2pGzakFtaRW1JraUFtqR+2pA3WkTtSZulBX6kbdqQf1pF7Um/pQX+pH/WkADaRBNJiG0FAaRsNpBI2kUTSaxtBYGkfjaQJNpEk0mabQVJpG02kGzaRZNJvm0FyaR/NpAS2kRbSYltBSWkbLaQWtpFW0mtbQWlpH62kDbaRNtJm20FbaRttpB+2kXbSb9tBe2kf76QAdpEN0mI7QUTpGx+kEnaRTdJrO0Fk6R+fpAl2kS3SZrtBVukbX6QbdpFt0m+7QXbpH9+kBPaRH9Jie0FN6Rs/pBb2kV/Sa3tBbekfv6QN9pE/0mb7QV/pG3+kH/aRf9Jv+UIDS7D8FpEAUmIJQUApGwSkEhaRQFJrCUFgKR+EpAkWkSBSZolBUikbRKQbFpFgUm+JQXIpH8SkBJaRElJiSUFJKRskpBaWkVJSa0lBaSkfpKQNlpEyUmbJQVspG2SkH5aRclJvyUF7KR/mpABWkQlSYilBRKkbFqQSVpFJUmspQWSpH5akCVaRKVJmqUFX6m/6halSdalBNqkW1qQ7VpXpUnxpQQ2pEjakJNaVm1JxaUEtqRa2pDbWldtSeOlBH6kSdqQt1pW7UnXpQT+pFvakP9aV+1J8G0EAaRINpCA2lYTScRtBIGkWjaQyNpXE0nibQRJpEk2kKTaVpNJ1m0EyaRbNpDs2leTSfFtBCWkSLaQktpWW0nFbQSlpFq2kNraV1tJ420EbaRJtpC22lbbSddtBO2kW7aQ/tpX20nw7QQTpEh+kIHaVjdJxO0Ek6RafpDJ2lc3SeLtBFukSX6QpdpWt0nW7QTbpFt+kO3aV7dJ8e0EN6RI/pCT2lZ/ScXtBLekWv6Q29pXf0nj7QR/pEn+kLfaVv9J1+0E/6Rb/pDwUow/5TQApEgSkIBaVgFJxCUEgKRaEpDIWlcBSeIlBEikSRKQpFpWgUnWJQTIpFsSkOxaV4FJ8SUEJKRIkpCSWlZJScUlBKSkWpKQ2lpXSUnjJQRspEmSkLZaVslJ1yUE7KRbkpD+WlfJSfClBBKkSFqQgVpWJUnEpQSSpFpakMlaVyVJ4qUEWqRJWpClWlv+kfqkbVqQbVpFpUm+pQXapH9akBNaRG1JiaUFNqRs2pBbWkVtSa2lBbakftqQN1pE7UmbpQV+pG3akH9aRe1Jv6UF/qR/1pAA2kQTSYhtBQGkbDaQSNpFE0msbQWBpH42kCTaRJNJmm0FSaRtNpBs2kWTSb5tBcmkfzaQEtpEW0mJbQUlpGy2kFraRVtJrW0FpaR+tpA22kTbSZttBW2kbbaQftpF20m/bQXtpH++kAHaRDdJiO0FE6RsfpBJ2kU3SaztBZOkfn6QJdpEt0ma7QVbpG1+kG3aRbdJvu0F26R/fpAT2kR/SYntBTekbP6QW9pFf0mt7QW3pH7+kDfaRP9Jm+0Ff6Rt/pB/2kX/Sb/lCAsuw/BaRAFJiCUFAKRsEpBIWkUBSawlBYCkfhKQJFpEgUmaJQVIpG0SkGxaRYFJviUFyKR/EpASWkRJSYklBSSkbJKQWlpFSUmtJQWkpH6SkDZaRMlJmyUFbKRtkpB+WkXJSb8lBeykf5qQAVpEJUmIpQUSpGxakElaRSVJrKUFkqR+WpAlWkSlSZqlBV+pv+oWpUnWpQTapFtakO1aV6VJ8aUENqRI2pCTWlZtScWlBLakWtqQ21pXbUnjpQR+pEnakLdaVu1J16UE/qRb2pD/WlftSfBtBAGkSDaQgNpWE0nEbQSBpFo2kMjaVxNJ4m0ESaRJNpCk2laTSdZtBMmkWzaQ7NpXk0nxbQQlpEi2kJLaVltJxW0EpaRatpDa2ldbSeNtBG2kSbaQttpW20nXbQTtpFu2kP7aV9tJ8O0EE6RIfpCB2lY3ScTtBJOkWn6QydpXN0ni7QRbpEl+kKXaVrdJ1u0E26RbfpDt2le3SfHtBDekSP6Qk9pWf0nF7QS3pFr+kNvaV39J4+0Ef6RJ/pC32lb/SdftBP+kW/6Q8FKMf+U0AKRIEpCAWlYBScQlBICkWhKQyFpXAUniJQRIpEkSkKRaVoFJ1iUEyKRbEpDsWleBSfElBCSkSJKQklpWSUnFJQSkpFqSkNpaV0lJ4yUEbKRJkpC2WlbJSdclBOykW5KQ/lpXyUnwpQQSpEhakIFaViVJxKUEkqRaWpDJWlclSeKlBFqkSVqQpVpb/pH6pG1akG1aRaVJvqUF2qR/WpATWkRtSYmlBTakbNqQW1pFbUmtpQW2pH7akDdaRO1Jm6UFfqRt2pB/WkXtSb+lBf6kf9aQANpEE0mIbQUBpGw2kEjaRRNJrG0FgaR+NpAk2kSTSZptBUmkbTaQbNpFk0m+bQXJpH82kBLaRFtJiW0FJaRstpBa2kVbSa1tBaWkfraQNtpE20mbbQVtpG22kH7aRdtJv20F7aR/vpAB2kQ3SYjtBROkbH6QSdpFN0ms7QWTpH5+kCXaRLdJmu0FW6RtfpBt2kW3Sb7tBdukf36QE9pEf0mJ7QU3pGz+kFvaRX9Jre0Ft6R+/pA32kT/SZvtBX+kbf6Qf9pF/0m/5QgPLsPwWkQBSYglBQCkbBKQSFpFAUmsJQWApH4SkCRaRIFJmiUFSKRtEpBsWkWBSb4lBcikfxKQElpESUmJJQUkpGySkFpaRUlJrSUFpKR+kpA2WkTJSZslBWykbZKQflpFyUm/JQXspH+akAFaRCVJiKUFEqRsWpBJWkUlSaylBZKkflqQJVpEpUmapQVfqb/qFqVJ1qUE2qRbWpDtWlelSfGlBDakSNqQk1pWbUnFpQS2pFrakNtaV21J46UEfqRJ2pC3WlbtSdelBP6kW9qQ/1pX7UnwbQQBpEg2kIDaVhNJxG0EgaRaNpDI2lcTSeJtBEmkSTaQpNpWk0nWbQTJpFs2kOzaV5NJ8W0EJaRItpCS2lZbScVtBKWkWraQ2tpXW0njbQRtpEm2kLbaVttJ120E7aRbtpD+2lfbSfDtBBOkSH6QgdpWN0nE7QSTpFp+kMnaVzFOAvCkGBAvw/j//5OSn9/j/3k/1f95P/n/vh6Xz5AP9vR8D/c5v//9ym///tyLAu4P9rVqb0WTNnbpQtY6MMmTLUS58xR/3sWdJnzlI/a/YM2TNkyZ6lYcbsmTI1yp45e7Yc9XNkS58jQ+ZMjTI0zpIjU+P/M+xC+f8911//51z9z+3/zI3PbZD/83PA/+scxgrw//3433H8z9cF/xtzszb+l+Y2+nfm/s9Xpf4rczP+S+chw7809196Pfxb5/dfe/02+Jfm/kvPW7ZMrrlZ/q29yPIvzc32L83N4Xre/q09/reet2y219m/dH4z1ft35mZM/+/MzVb/X5rb8H8+UwX+/5j91//qY6TPcP5/73Ni+n/LmDTAf9+YTGBM/i8Y/9+O/+0Lov/7Iub/1wuii//SBdHF/+uCKGCA/9dF5f99/G8/kX/9781K/z+z/uevOP/fjv/Px8iaI0eOhhkapc9YP332epkzZ6uXOWumLFkzZc6SqUH9TFlzZMjRIEfDhtkyZEmfKVPWxg2yNcjcMGP9LBn/5/sR/53z8G+8eQX4Xzb+W7/7//9N8X/HuD7gf9+4QWDcKDBuEhg3C4xbBMatAuM2gXG7wLhDYNwpMO4SGHcLjHsExr0C4z6Bcb/AeEBgPCgwHhIYDwuMRwTGowLjMYHxuMB4QmA8KTCeEhhPC4xnBMazAuM5gfG8wHhBYLwoMF4SGC8LjFcExqsC4zWB8brAeENgvCkw3hIYbwuMdwTGuwLjPYHxvsD4QGB8KDA+EhgfC4xPBManAuMzgfG5wPhCYHwpML4SGF8LjG8ExrcC4zuB8b3A+EFg/CgwfhIYPwuMXwTGrwLjN4Hxu8D4Q2D8KTD+Ehh/C4x/BMb/+Uet/7rxL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAME/u8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAkP++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDBP3vG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQLD/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYAwT/7xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUCI/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAOE/O8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAqP++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDhP7vG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQJj/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYA4T97xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUC4/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAOE/+8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAhP++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDRPzvG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQKT/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYA0T+7xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUCU/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGANE/e8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAtP++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDRP/vG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQIz/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYA8T87xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUCs/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAPE/u8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAnP++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDxP3vG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQLz/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYA8T/7xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUCC/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAMk/O8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAov++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDJP7vG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQJL/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYAyT97xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBsarA+LfA+I/AWE1grC4w1hAYawqMtQTG2gJjHYGxrsBYT2CsLzA2EBgbCoyNBMbGAmMTgbGpwNhMYGwuMLYQGFsKjK0ExtYCYxuBsa3A2E5gbC8wdhAYOwqMnQTGzgJjF4Gxq8DYTWDsLjD2EBh7Coy9BMbeAmMfgbGvwNhPYOwvMA4QGAcKjIMExsEC4xCBcajAOExgHC4wjhAYRwqMowTG0QLjGIFxrMA4TmAcLzBOEBgnCoyTBMbJAuMUgXGqwDhNYJwuMM4QGGcKjLMExtkC4xyBca7AOE9gnC8wLhAYFwqMiwTGxQLjEoFxqcC4TGBcLjCuEBhXCoyrBMbVAuMagXGtwLhOYFwvMG4QGDcKjJsExs0C4xaBcavAuE1g3C4w7hAYdwqMuwTG3QLjHoFxr8C4T2DcLzAeEBgPCoyHBMbDAuMRgfGowHhMYDwuMJ4QGE8KjKcExtMC4xmB8azAeE5gPC8wXhAYLwqMlwTGywLjFYHxqsB4TWC8LjDeEBhvCoy3BMbbAuMdgfGuwHhPYLwvMD4QGB8KjI8ExscC4xOB8anA+ExgfC4wvhAYXwqMrwTG1wLjG4HxrcD4TmB8LzB+EBg/CoyfBMbPAuMXgfGrwPhNYPwuMP4QGH8KjL8Ext8C4x+BMUCy/77xL4ExoMAYSGAMLDAGERiDCozBBMbgAmMIgTGkwBhKYAwtMIYRGMMKjOEExvACYwSBMaLAGElgjCwwRhEYowqM0QTG6AJjDIExpsAYS2CMLTDGERjjCozxBMb4AmMCgTGhwJhIYEwsMCYRGJMKjMkExuQCYwqBMaXAmEpgTC0wphEY0wqM6QTG9AJjBoExo8CYSWDMLDBmERizCozZBMbsAmMOgTGnwJhLYMwtMOYRGPMKjPkExvwCYwGBsaDAWEhgLCwwFhEYiwqMxQTG4gJjCYGxpMBYSmAsLTCWERjLCozlBMbyAmMFgbGiwFhJYKwsMFYRGKsKjH8LjP8IjNUExuoCYw2BsabAWEtgrC0w1hEY6wqM9QTG+gJjA4GxocDYSGBsLDA2ERibCozNBMbmAmMLgbGlwNhKYGwtMLYRGNsKjO0ExvYCYweBsaPA2Elg7CwwdhEYuwqM3QTG7gJjD4Gxp8DYS2DsLTD2ERj7Coz9BMb+AuMAgXGgwDhIYBwsMA4RGIcKjMMExuEC4wiBcaTAOEpgHC0wjhEYxwqM4wTG8QLjBIFxosA4SWCcLDBOERinCozTBMbpAuMMgXGmwDhLYJwtMM4RGOcKjPMExvkC4wKBcaHAuEhgXCwwLhEYlwqMywTG5QLjCoFxpcC4SmBcLTCuERjXCozrBMb1AuMGgXGjwLhJYNwsMG4RGLcKjNsExu0C4w6BcafAuEtg3C0w7hEY9wqM+wTG/QLjAYHxoMB4SGA8LDAeERiPCozHBMbjAuMJgfGkwHhKYDwtMJ4RGM8KjOcExvMC4wWB8aLAeElgvCwwXhEYrwqM1wTG6wLjDYHxpsB4S2C8LTDeERjvCoz3BMb7AuMDgfGhwPhIYHwsMD4RGJ8KjM8ExucC4wuB8aXA+EpgfC0wvhEY3wqM7wTG9wLjB4Hxo8D4SWD8LDB+ERi/CozfBMbvAuMPgfGnwPhLYPwtMP4RGAMk/+8b/xIYAwqMgQTGwAJjEIExqMAYTGAMLjCGEBhDCoyhBMbQAmMYgTGswBhOYAwvMEYQGCMKjJEExsgCYxSBMarAGE1gjC4wxhAYYwqMsQTG2AJjHIExrsAYT2CMLzAmEBgTCoyJBMbEAmMSgTGpwJhMYEwuMKYQGFMKjKkExtQCYxqBMa3AmE5gTC8wZhAYMwqMmQTGzAJjFoExq8CYTWDMLjDmEBhzCoy5BMbcAmMegTGvwJhPYMwvMBYQGAsKjIUExsICYxGBsajAWExgLC4wlhAYSwqMpQTG0gJjGYGxrMBYTmAsLzBWEBgrCoyVBMbKAmMVgbGqwPi3wPiPwFhNYKwuMNYQGGsKjLUExtoCYx2Bsa7AWE9grC8wNhAYGwqMjQTGxgJjE4GxqcDYTGBsLjC2EBhbCoytBMbWAmMbgbGtwNhOYGwvMHYQGDsKjJ0Exs4CYxeBsavA2E1g7C4w9hAYewqMvQTG3gJjH4Gxr8DYT2DsLzAOEBgHCoyDBMbBAuMQgXGowDhMYBwuMI4QGEcKjKMExtEC4xiBcazAOE5gHC8wThAYJwqMkwTGyQLjFIFxqsA4TWCcLjDOEBhnCoyzBMbZAuMcgXGuwDhPYJwvMC4QGBcKjIsExsUC4xKBcanAuExgXC4wrhAYVwqMqwTG1QLjGoFxrcC4TmBcLzBuEBg3CoybBMbNAuMWgXGrwLhNYNwuMO4QGHcKjLsExt0C4x6Bca/AuE9g3C8wHhAYDwqMhwTGwwLjEYHxqMB4TGA8LjCeEBhPCoynBMbTAuMZgfGswHhOYDwvMF4QGC8KjJcExssC4xWB8arAeE1gvC4w3hAYbwqMtwTG2wLjHYHxrsB4T2C8LzA+EBgfCoyPBMbHAuMTgfGpwPhMYHwuML4QGF8KjK8ExtcC4xuB8a3A+E5gfC8wfhAYPwqMnwTGzwLjF4Hxq8D4TWD8LjD+EBh/Coy/BMbfAuMfgTFAiv++8S+BMaDAGEhgDCwwBhEYgwqMwQTG4AJjCIExpMAYSmAMLTCGERjDCozhBMbwAmMEgTGiwBhJYIwsMEYRGKMKjNEExugCYwyBMabAGEtgjC0wxhEY4wqM8QTG+AJjAoExocCYSGBMLDAmERiTCozJBMbkAmMKgTGlwJhKYEwtMKYRGNMKjOkExvQCYwaBMaPAmElgzCwwZhEYswqM2QTG7AJjDoExp8CYS2DMLTDmERjzCoz5BMb8AmMBgbGgwFhIYCwsMBYRGIsKjMUExuICYwmBsaTAWEpgLC0wlhEYywqM5QTG8gJjBYGxosBYSWCsLDBWERirCox/C4z/CIzVBMbqAmMNgbGmwFhLYKwtMNYRGOsKjPUExvoCYwOBsaHA2EhgbCwwNhEYmwqMzQTG5gJjC4GxpcDYSmBsLTC2ERjbCoztBMb2AmMHgbGjwNhJYOwsMHYRGLsKjN0Exu4CYw+BsafA2Etg7C0w9hEY+wqM/QTG/gLjAIFxoMA4SGAcLDAOERiHCozDBMbhAuMIgXGkwDhKYBwtMI4RGMcKjOMExvEC4wSBcaLAOElgnCwwThEYpwqM0wTG6QLjDIFxpsA4S2CcLTDOERjnCozzBMb5AuMCgXGhwLhIYFwsMC4RGJcKjMsExuUC4wqBcaXAuEpgXC0wrhEY1wqM6wTG9QLjBoFxo8C4SWDcLDBuERi3CozbBMbtAuMOgXGnwLhLYNwtMO4RGPcKjPsExv0C4wGB8aDAeEhgPCwwHhEYjwqMxwTG4wLjCYHxpMB4SmA8LTCeERjPCoznBMbzAuMFgfGiwHhJYLwsMF4RGK8KjNcExusC4w2B8abAeEtgvC0w3hEY7wqM9wTG+wLjA4HxocD4SGB8LDA+ERifCozPBMbnAuMLgfGlwPhKYHwtML4RGN8KjO8ExvcC4weB8aPA+Elg/CwwfhEYvwqM3wTG7wLjD4Hxp8D4S2D8LTD+ERgDpPzvG/8SGAMKjIEExsACYxCBMajAGExgDC4whhAYQwqMoQTG0AJjGIExrMAYTmAMLzBGEBgjCoyRBMbIAmMUgTGqwBhNYIwuMMYQGGMKjLEExtgCYxyBMa7AGE9gjC8wJhAYEwqMiQTGxAJjEoExqcCYTGBMLjCmEBhTCoypBMbUAmMagTGtwJhOYEwvMGYQGDMKjJkExswCYxaBMavAmE1gzC4w5hAYcwqMuQTG3AJjHoExr8CYT2DMLzAWEBgLCoyFBMbCAmMRgbGowFhMYCwuMJYQGEsKjKUExtICYxmBsazAWE5gLC8wVhAYKwqMlQTGygJjFYGxqsD4t8D4j8BYTWCsLjDWEBhrCoy1BMbaAmMdgbGuwFhPYKwvMDYQGBsKjI0ExsYCYxOBsanA2ExgbC4wthAYWwqMrQTG1gJjG4GxrcDYTmBsLzB2EBg7CoydBMbOAmMXgbGrwNhNYOwuMPYQGHsKjL0Ext4CYx+Bsa/A2E9g7C8wDhAYBwqMgwTGwQLjEIFxqMA4TGAcLjCOEBhHCoyjBMbRAuMYgXGswDhOYBwvME4QGCcKjJMExskC4xSBcarAOE1gnC4wzhAYZwqMswTG2QLjHIFxrsA4T2CcLzAuEBgXCoyLBMbFAuMSgXGpwLhMYFwuMK4QGFcKjKsExtUC4xqBca3AuE5gXC8wbhAYNwqMmwTGzQLjFoFxq8C4TWDcLjDuEBh3Coy7BMbdAuMegXGvwLhPYNwvMB4QGA8KjIcExsMC4xGB8ajAeExgPC4wnhAYTwqMpwTG0wLjGYHxrMB4TmA8LzBeEBgvCoyXBMbLAuMVgfGqwHhNYLwuMN4QGG8KjLcExtsC4x2B8a7AeE9gvC8wPhAYHwqMjwTGxwLjE4HxqcD4TGB8LjC+EBhfCoyvBMbXAuMbgfGtwPhOYHwvMH4QGD8KjJ8Exs8C4xeB8avA+E1g/C4w/hAYfwqMvwTG3wLjH4ExQKr/vvEvgTGgwBhIYAwsMAYRGIMKjMEExuACYwiBMaTAGEpgDC0whhEYwwqM4QTG8AJjBIExosAYSWCMLDBGERijCozRBMboAmMMgTGmwBhLYIwtMMYRGOMKjPEExvgCYwKBMaHAmEhgTCwwJhEYkwqMyQTG5AJjCoExpcCYSmBMLTCmERjTCozpBMb0AmMGgTGjwJhJYMwsMGYRGLMKjNkExuwCYw6BMafAmEtgzC0w5hEY8wqM+QTG/AJjAYGxoMBYSGAsLDAWERiLCozFBMbiAmMJgbGkwFhKYCwtMJYRGMsKjOUExvICYwWBsaLAWElgrCwwVhEYqwqMfwuM/wiM1QTG6gJjDYGxpsBYS2CsLTDWERjrCoz1BMb6AmMDgbGhwNhIYGwsMDYRGJsKjM0ExuYCYwuBsaXA2EpgbC0wthEY2wqM7QTG9gJjB4Gxo8DYSWDsLDB2ERi7CozdBMbuAmMPgbGnwNhLYOwtMPYRGPsKjP0Exv4C4wCBcaDAOEhgHCwwDhEYhwqMwwTG4QLjCIFxpMA4SmAcLTCOERjHCozjBMbxAuMEgXGiwDhJYJwsME4RGKcKjNMExukC4wyBcabAOEtgnC0wzhEY5wqM8wTG+QLjAoFxocC4SGBcLDAuERiXCozLBMblAuMKgXGlwLhKYFwtMK4RGNcKjOsExvUC4waBcaPAuElg3CwwbhEYtwqM2wTG7QLjDoFxp8C4S2DcLTDuERj3Coz7BMb9AuMBgfGgwHhIYDwsMB4RGI8KjMcExuMC4wmB8aTAeEpgPC0wnhEYzwqM5wTG8wLjBYHxosB4SWC8LDBeERivCozXBMbrAuMNgfGmwHhLYLwtMN4RGO8KjPcExvsC4wOB8aHA+EhgfCwwPhEYnwqMzwTG5wLjC4HxpcD4SmB8LTC+ERjfCozvBMb3AuMHgfGjwPhJYPwsMH4RGL8KjN8Exu8C4w+B8afA+Etg/C0w/hEYA6T+7xv/EhgDCoyBBMbAAmMQgTGowBhMYAwuMIYQGEMKjKEExtACYxiBMazAGE5gDC8wRhAYIwqMkQTGyAJjFIExqsAYTWCMLjDGEBhjCoyxBMbYAmMcgTGuwBhPYIwvMCYQGBMKjIkExsQCYxKBManAmExgTC4wphAYUwqMqQTG1AJjGoExrcCYTmBMLzBmEBgzCoyZBMbMAmMWgTGrwJhNYMwuMOYQGHMKjLkExtwCYx6BMa/AmE9gzC8wFhAYCwqMhQTGwgJjEYGxqMBYTGAsLjCWEBhLCoylBMbSAmMZgbGswFhOYCwvMFYQGCsKjJUExsoCYxWBser/o7p/AJYrDRi23di2ZpJBkolt27Zt27Zt27Zta2xbsc/q92TqzTc151T99WX+mqur7srOWo3r6e7du7WeBRjrAMa6gLEeYKwPGBsAxoaAsRFgbAwYmwDGpoCxGWBsDhhbAMaWgLEVYGwNGNsAxraAsR1gbA8YOwDGjoCxE2DsDBi7AMaugLEbYOwOGHsAxp6AsRdg7A0Y+wDGvoCxH2DsDxgHAMaBgHEQYBwMGIcAxqGAcRhgHA4YRwDGkYBxFGAcDRjHAMaxgHEcYBwPGCcAxomAcRJgnAwYpwDGqYBxGmCcDhhnAMaZgHEWYJwNGOcAxrmAcR5gnA8YFwDGhYBxEWBcDBiXAMalgHEZYFwOGFcAxpWAcRVgXA0Y1wDGtYBxHWBcDxg3AMaNgHETYNwMGLcAxq2AcRtg3A4YdwDGnYBxF2DcDRj3AMa9gHEfYNwPGA8AxoOA8RBgPAwYjwDGo4DxGGA8DhhPAMaTgPEUYDwNGM8AxrOA8RxgPA8YLwDGi4DxEmC8DBivAMargPEaYLwOGG8AxpuA8RZgfBcwvgcY3weMHwDGDwHjR4DxY8D4CWD8FDB+Bhg/B4xfAMYvAeNXgPFrwPgNYPwWMH4HGL8HjD8Axh8B40+A8WfA+Atg/BUw/gYYfweMfwDGPwHjbcB4BzDeBYz3AON9wPgAMD4EjI8A42PA+AQwPgWMzwDjc8AYJtN/3xgWMIYDjOEBYwTAGBEwRgKMkQFjFMAYFTBGA4zRAWMMwBgTMMYCjLEBYxzAGBcwxgOM8QFjAsCYEDAmAoyJAWMSwJgUMCYDjMkBYwrA+BpgfB0wpgSMqQDjG4DxTcD4FmB8GzCmBoxpAGNawPgOYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGK8DxhuA8SZgvAUY3wWM7wHG9wHjB4DxQ8D4EWD8GDB+Ahg/BYyfAcbPAeMXgPFLwPgVYPwaMH4DGL8FjN8Bxu8B4w+A8UfA+BNg/Bkw/gIYfwWMvwHG3wHjH4DxT8B4GzDeAYx3AeM9wHgfMD4AjA8B4yPA+BgwPgGMTwHjM8D4HDCGyfzfN4YFjOEAY3jAGAEwRgSMkQBjZMAYBTBGBYzRAGN0wBgDMMYEjLEAY2zAGAcwxgWM8QBjfMCYADAmBIyJAGNiwJgEMCYFjMkAY3LAmAIwvgYYXweMKQFjKsD4BmB8EzC+BRjfBoypAWMawJgWML4DGNMBxvSAMQNgzAgYMwHGzIAxC2DMChizAcbsgDEHYMwJGHMBxtyAMQ9gzAsY8wHG/ICxAGAsCBgLAcbCgLEIYCwKGIsBxuKAsQRgLAkYSwHG0oCxDGAsCxjLAcbygLECYKwIGCsBxsqAsQpgrAoYqwHG6oCxBmCsCRhrAcbagLEOYKwLGOsBxvqAsQFgbAgYGwHGxoCxCWBsChibAcbmgLEFYGwJGFsBxtaAsQ1gbAsY2wHG9oCxA2DsCBg7AcbOgLELYOwKGLsBxu6AsQdg7AkYewHG3oCxD2DsCxj7Acb+gHEAYBwIGAcBxsGAcQhgHAoYhwHG4YBxBGAcCRhHAcbRgHEMYBwLGMcBxvGAcQJgnAgYJwHGyYBxCmCcChinAcbpgHEGYJwJGGcBxtmAcQ5gnAsY5wHG+YBxAWBcCBgXAcbFgHEJYFwKGJcBxuWAcQVgXAkYVwHG1YBxDWBcCxjXAcb1gHEDYNwIGDcBxs2AcQtg3AoYtwHG7YBxB2DcCRh3AcbdgHEPYNwLGPcBxv2A8QBgPAgYDwHGw4DxCGA8ChiPAcbjgPEEYDwJGE8BxtOA8QxgPAsYzwHG84DxAmC8CBgvAcbLgPEKYLwKGK8BxuuA8QZgvAkYbwHGdwHje4DxfcD4AWD8EDB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzDeBox3AONdwHgPMN4HjA8A40PA+AgwPgaMTwDjU8D4DDA+B4xhsvz3jWEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMrwHG1wFjSsCYCjC+ARjfBIxvAca3AWNqwJgGMKYFjO8AxnSAMT1gzAAYMwLGTIAxM2DMAhizAsZsgDE7YMwBGHMCxlyAMTdgzAMY8wLGfIAxP2AsABgLAsZCgLEwYCwCGIsCxmKAsThgLAEYSwLGUoCxNGAsAxjLAsZygLE8YKwAGCsCxkqAsTJgrAIYqwLGaoCxOmCsARhrAsZagLE2YKwDGOsCxnqAsT5gbAAYGwLGRoCxMWBsAhibAsZmgLE5YGwBGFsCxlaAsTVgbAMY2wLGdoCxPWDsABg7AsZOgLEzYOwCGLsCxm6AsTtg7AEYewLGXoCxN2DsAxj7AsZ+gLE/YBwAGAcCxkGAcTBgHAIYhwLGYYBxOGAcARhHAsZRgHE0YBwDGMcCxnGAcTxgnAAYJwLGSYBxMmCcAhinAsZpgHE6YJwBGGcCxlmAcTZgnAMY5wLGeYBxPmBcABgXAsZFgHExYFwCGJcCxmWAcTlgXAEYVwLGVYBxNWBcAxjXAsZ1gHE9YNwAGDcCxk2AcTNg3AIYtwLGbYBxO2DcARh3AsZdgHE3YNwDGPcCxn2AcT9gPAAYDwLGQ4DxMGA8AhiPAsZjgPE4YDwBGE8CxlOA8TRgPAMYzwLGc4DxPGC8ABgvAsZLgPEyYLwCGK8CxmuA8TpgvAEYbwLGW4DxXcD4HmB8HzB+ABg/BIwfAcaPAeMngPFTwPgZYPwcMH4BGL8EjF8Bxq8B4zeA8VvA+B1g/B4w/gAYfwSMPwHGnwHjL4DxV8D4G2D8HTD+ARj/BIy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAWOYrP99Y1jAGA4whgeMEQBjRMAYCTBGBoxRAGNUwBgNMEYHjDEAY0zAGAswxgaMcQBjXMAYDzDGB4wJAGNCwJgIMCYGjEkAY1LAmAwwJgeMKQDja4DxdcCYEjCmAoxvAMY3AeNbgPFtwJgaMKYBjGkB4zuAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8RpgvA4YbwDGm4DxFmB8FzC+BxjfB4wfAMYPAeNHgPFjwPgJYPwUMH4GGD8HjF8Axi8B41eA8WvA+A1g/BYwfgcYvweMPwDGHwHjT4DxZ8D4C2D8FTD+Bhh/B4x/AMY/AeNtwHgHMN4FjPcA433A+AAwPgSMjwDjY8D4BDA+BYzPAONzwBgm23/fGBYwhgOM4QFjBMAYETBGAoyRAWMUwBgVMEYDjNEBYwzAGBMwxgKMsQFjHMAYFzDGA4zxAWMCwJgQMCYCjIkBYxLAmBQwJgOMyQFjCsD4GmB8HTCmBIypAOMbgPFNwPgWYHwbMKYGjGkAY1rA+A5gTAcY0wPGDIAxI2DMBBgzA8YsgDErYMwGGLMDxhyAMSdgzAUYcwPGPIAxL2DMBxjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYrwPGG4DxJmC8BRjfBYzvAcb3AeMHgPFDwPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgbMN4BjHcB4z3AeB8wPgCMDwHjI8D4GDA+AYxPAeMzwPgcMIbJ/t83hgWM4QBjeMAYATBGBIyRAGNkwBgFMEYFjNEAY3TAGAMwxgSMsQBjbMAYBzDGBYzxAGN8wJgAMCYEjIkAY2LAmAQwJgWMyQBjcsCYAjC+BhhfB4wpAWMqwPgGYHwTML4FGN8GjKkBYxrAmBYwvgMY0wHG9IAxA2DMCBgzAcbMgDELYMwKGLMBxuyAMQdgzAkYcwHG3IAxD2DMCxjzAcb8gLEAYCwIGAsBxsKAsQhgLAoYiwHG4oCxBGAsCRhLAcbSgLEMYCwLGMsBxvKAsQJgrAgYKwHGyoCxCmCsChirAcbqgLEGYKwJGGsBxtqAsQ5grAsY6wHG+oCxAWBsCBgbAcbGgLEJYGwKGJsBxuaAsQVgbAkYWwHG1oCxDWBsCxjbAcb2gLEDYOwIGDsBxs6AsQtg7AoYuwHG7oCxB2DsCRh7AcbegLEPYOwLGPsBxv6AcQBgHAgYBwHGwYBxCGAcChiHAcbhgHEEYBwJGEcBxtGAcQxgHAsYxwHG8YBxAmCcCBgnAcbJgHEKYJwKGKcBxumAcQZgnAkYZwHG2YBxDmCcCxjnAcb5gHEBYFwIGBcBxsWAcQlgXAoYlwHG5YBxBWBcCRhXAcbVgHENYFwLGNcBxvWAcQNg3AgYNwHGzYBxC2DcChi3AcbtgHEHYNwJGHcBxt2AcQ9g3AsY9wHG/YDxAGA8CBgPAcbDgPEIYDwKGI8BxuOA8QRgPAkYTwHG04DxDGA8CxjPAcbzgPECYLwIGC8BxsuA8QpgvAoYrwHG64DxBmC8CRhvAcZ3AeN7gPF9wPgBYPwQMH4EGD8GjJ8Axk8B42eA8XPA+AVg/BIwfgUYvwaM3wDGbwHjd4Dxe8D4A2D8ETD+BBh/Boy/AMZfAeNvgPF3wPgHYPwTMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjGFy/PeNYQFjOMAYHjBGAIwRAWMkwBgZMEYBjFEBYzTAGB0wxgCMMQFjLMAYGzDGAYxxAWM8wBgfMCYAjAkBYyLAmBgwJgGMSQFjMsCYHDCmAIyvAcbXAWNKwJgKML4BGN8EjG8BxrcBY2rAmAYwpgWM7wDGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa4DxOmC8ARhvAsZbgPFdwPgeYHwfMH4AGD8EjB8Bxo8B4yeA8VPA+Blg/BwwfgEYvwSMXwHGrwHjN4DxW8D4HWD8HjD+ABh/BIw/AcafAeMvgPFXwPgbYPwdMP4BGP8EjLcB4x3AeBcw3gOM9wHjA8D4EDA+AoyPAeMTwPgUMD4DjM8BY5ic/31jWMAYDjCGB4wRAGNEwBgJMEYGjFEAY1TAGA0wRgeMMQBjTMAYCzDGBoxxAGNcwBgPMMYHjAkAY0LAmAgwJgaMSQBjUsCYDDAmB4wpAONrgPF1wJgSMKYCjG8AxjcB41uA8W3AmBowpgGMaQHjO4AxHWBMDxgzAMaMgDETYMwMGLMAxqyAMRtgzA4YcwDGnIAxF2DMDRjzAMa8gDEfYMwPGAsAxoKAsRBgLAwYiwDGooCxGGAsDhhLAMaSgLEUYCwNGMsAxrKAsRxgLA8YKwDGioCxEmCsDBirAMaqgLEaYKwOGGsAxpqAsRZgrA0Y6wDGuoCxHmCsDxgbAMaGgLERYGwMGJsAxqaAsRlgbA4YWwDGloCxFWBsDRjbAMa2gLEdYGwPGDsAxo6AsRNg7AwYuwDGroCxG2DsDhh7AMaegLEXYOwNGPsAxr6AsR9g7A8YBwDGgYBxEGAcDBiHAMahgHEYYBwOGEcAxpGAcRRgHA0YxwDGsYBxHGAcDxgnAMaJgHESYJwMGKcAxqmAcRpgnA4YZwDGmYBxFmCcDRjnAMa5gHEeYJwPGBcAxoWAcRFgXAwYlwDGpYBxGWBcDhhXAMaVgHEVYFwNGNcAxrWAcR1gXA8YNwDGjYBxE2DcDBi3AMatgHEbYNwOGHcAxp2AcRdg3A0Y9wDGvYBxH2DcDxgPAMaDgPEQYDwMGI8AxqOA8RhgPA4YTwDGk4DxFGA8DRjPAMazgPEcYDwPGC8AxouA8RJgvAwYrwDGq4DxGmC8DhhvAMabgPEWYHwXML4HGN8HjB8Axg8B40eA8WPA+Alg/BQwfgYYPweMXwDGLwHjV4Dxa8D4DWD8FjB+Bxi/B4w/AMYfAeNPgPFnwPgLYPwVMP4GGH8HjH8Axj8B423AeAcw3gWM9wDjfcD4ADA+BIyPAONjwPgEMD4FjM8A43PAGCbXf98YFjCGA4zhAWMEwBgRMEYCjJEBYxTAGBUwRgOM0QFjDMAYEzDGAoyxAWMcwBgXMMYDjPEBYwLAmBAwJgKMiQFjEsCYFDAmA4zJAWMKwPgaYHwdMKYEjKkA4xuA8U3A+BZgfBswpgaMaQBjWsD4DmBMBxjTA8YMgDEjYMwEGDMDxiyAMStgzAYYswPGHIAxJ2DMBRhzA8Y8gDEvYMwHGPMDxgKAsSBgLAQYCwPGIoCxKGAsBhiLA8YSgLEkYCwFGEsDxjKAsSxgLAcYywPGCoCxImCsBBgrA8YqgLEqYKwGGKsDxhqAsSZgrAUYawPGOoCxLmCsBxjrA8YGgLEhYGwEGBsDxiaAsSlgbAYYmwPGFoCxJWBsBRhbA8Y2gLEtYGwHGNsDxg6AsSNg7AQYOwPGLoCxK2DsBhi7A8YegLEnYOwFGHsDxj6AsS9g7AcY+wPGAYBxIGAcBBgHA8YhgHEoYBwGGIcDxhGAcSRgHAUYRwPGMYBxLGAcBxjHA8YJgHEiYJwEGCcDximAcSpgnAYYpwPGGYBxJmCcBRhnA8Y5gHEuYJwHGOcDxgWAcSFgXAQYFwPGJYBxKWBcBhiXA8YVgHElYFwFGFcDxjWAcS1gXAcY1wPGDYBxI2DcBBg3A8YtgHErYNwGGLcDxh2AcSdg3AUYdwPGPYBxL2DcBxj3A8YDgPEgYDwEGA8DxiOA8ShgPAYYjwPGE4DxJGA8BRhPA8YzgPEsYDwHGM8DxguA8SJgvAQYLwPGK4DxKmC8BhivA8YbgPEmYLwFGN8FjO8BxvcB4weA8UPA+BFg/BgwfgIYPwWMnwHGzwHjF4DxS8D4FWD8GjB+Axi/BYzfAcbvAeMPgPFHwPgTYPwZMP4CGH8FjL8Bxt8B4x+A8U/AeBsw3gGMdwHjPcB4HzA+AIwPAeMjwPgYMD4BjE8B4zPA+Bwwhsn93zeGBYzhAGN4wBgBMEYEjJEAY2TAGAUwRgWM0QBjdMAYAzDGBIyxAGNswBgHMMYFjPEAY3zAmAAwJgSMiQBjYsCYBDAmBYzJAGNywJgCML4GGF8HjCkBYyrA+AZgfBMwvgUY3waMqQFjGsCYFjC+AxjTAcb0gDEDYMwIGDMBxsyAMQtgzAoYswHG7IAxB2DMCRhzAcbcgDEPYMwLGPMBxvyAsQBgLAgYCwHGwoCxCGAsChiLAcbigLEEYCwJGEsBxtKAsQxgLAsYywHG8oCxAmCsCBgrAcbKgLEKYKwKGKsBxuqAsQZgrAkYawHG2oCxDmCsCxjrAcb6gLEBYGwIGBsBxsaAsQlgbAoYmwHG5oCxBWBsCRhbAcbWgLENYGwLGNsBxvaAsQNg7AgYOwHGzoCxC2DsChi7AcbugLEHYOwJGHsBxt6AsQ9g7AsY+wHG/oBxAGAcCBgHAcbBgHEIYBwKGIcBxuGAcQRgHAkYRwHG0YBxDGAcCxjHAcbxgHECYJwIGCcBxsmAcQpgnAoYpwHG6YBxBmCcCRhnAcbZgHEOYJwLGOcBxvmAcQFgXAgYFwHGxYBxCWBcChiXAcblgHEFYFwJGFcBxtWAcQ1gXAsY1wHG9YBxA2DcCBg3AcbNgHELYNwKGLcBxu2AcQdg3AkYdwHG3YBxD2DcCxj3Acb9gPEAYDwIGA8BxsOA8QhgPAoYjwHG44DxBGA8CRhPAcbTgPEMYDwLGM8BxvOA8QJgvAgYLwHGy4DxCmC8ChivAcbrgPEGYLwJGG8BxncB43uA8X3A+AFg/BAwfgQYPwaMnwDGTwHjZ4Dxc8D4BWD8EjB+BRi/BozfAMZvAeN3gPF7wPgDYPwRMP4EGH8GjL8Axl8B42+A8XfA+Adg/BMw3gaMdwDjXcB4DzDeB4wPAONDwPgIMD4GjE8A41PA+AwwPgeMYfL8941hAWM4wBgeMEYAjBEBYyTAGBkwRgGMUQFjNMAYHTDGAIwxAWMswBgbMMYBjHEBYzzAGB8wJgCMCQFjIsCYGDAmAYxJAWMywJgcMKYAjK8BxtcBY0rAmAowvgEY3wSMbwHGtwFjasCYBjCmBYzvAMZ0gDE9YMwAGDMCxkyAMTNgzAIYswLGbIAxO2DMARhzAsZcgDE3YMwDGPMCxnyAMT9gLAAYCwLGQoCxMGAsAhiLAsZigLE4YCwBGEsCxlKAsTRgLAMYywLGcoCxPGCsABgrAsZKgLEyYKwCGKsCxmqAsTpgrAEYawLGWoCxNmCsAxjrAsZ6gLE+YGwAGBsCxkaAsTFgbAIYmwLGZoCxOWBsARhbAsZWgLE1YGwDGNsCxnaAsT1g7AAYOwLGToCxM2DsAhi7AsZugLE7YOwBGHsCxl6AsTdg7AMY+wLGfoCxP2AcABgHAsZBgHEwYBwCGIcCxmGAcThgHAEYRwLGUYBxNGAcAxjHAsZxgHE8YJwAGCcCxkmAcTJgnAIYpwLGaYBxOmCcARhnAsZZgHE2YJwDGOcCxnmAcT5gXAAYFwLGRYBxMWBcAhiXAsZlgHE5YFwBGFcCxlWAcTVgXAMY1wLGdYBxPWDcABg3AsZNgHEzYNwCGLcCxm2AcTtg3AEYdwLGXYBxN2DcAxj3AsZ9gHE/YDwAGA8CxkOA8TBgPAIYjwLGY4DxOGA8ARhPAsZTgPE0YDwDGM8CxnOA8TxgvAAYLwLGS4DxMmC8AhivAsZrgPE6YLwBGG8CxluA8V3A+B5gfB8wfgAYPwSMHwHGjwHjJ4DxU8D4GWD8HDB+ARi/BIxfAcavAeM3gPFbwPgdYPweMP4AGH8EjD8Bxp8B4y+A8VfA+Btg/B0w/gEY/wSMtwHjHcB4FzDeA4z3AeMDwPgQMD4CjI8B4xPA+BQwPgOMzwFjmLz/fWNYwBgOMIYHjBEAY0TAGAkwRgaMUQBjVMAYDTBGB4wxAGNMwBgLMMYGjHEAY1zAGA8wxgeMCQBjQsCYCDAmBoxJAGNSwJgMMCYHjCkA42uA8XXAmBIwpgKMbwDGNwHjW4DxbcCYGjCmAYxpAeM7gDEdYEwPGDMAxoyAMRNgzAwYswDGrIAxG2DMDhhzAMacgDEXYMwNGPMAxryAMR9gzA8YCwDGgoCxEGAsDBiLAMaigLEYYCwOGEsAxpKAsRRgLA0YywDGsoCxHGAsDxgrAMaKgLESYKwMGKsAxqqAsRpgrA4YawDGmoCxFmCsDRjrAMa6gLEeYKwPGBsAxoaAsRFgbAwYmwDGpoCxGWBsDhhbAMaWgLEVYGwNGNsAxraAsR1gbA8YOwDGjoCxE2DsDBi7AMaugLEbYOwOGHsAxp6AsRdg7A0Y+wDGvoCxH2DsDxgHAMaBgHEQYBwMGIcAxqGAcRhgHA4YRwDGkYBxFGAcDRjHAMaxgHEcYBwPGCcAxomAcRJgnAwYpwDGqYBxGmCcDhhnAMaZgHEWYJwNGOcAxrmAcR5gnA8YFwDGhYBxEWBcDBiXAMalgHEZYFwOGFcAxpWAcRVgXA0Y1wDGtYBxHWBcDxg3AMaNgHETYNwMGLcAxq2AcRtg3A4YdwDGnYBxF2DcDRj3AMa9gHEfYNwPGA8AxoOA8RBgPAwYjwDGo4DxGGA8DhhPAMaTgPEUYDwNGM8AxrOA8RxgPA8YLwDGi4DxEmC8DBivAMargPEaYLwOGG8AxpuA8RZgfBcwvgcY3weMHwDGDwHjR4DxY8D4CWD8FDB+Bhg/B4xfAMYvAeNXgPFrwPgNYPwWMH4HGL8HjD8Axh8B40+A8WfA+Atg/BUw/gYYfweMfwDGPwHjbcB4BzDeBYz3AON9wPgAMD4EjI8A42PA+AQwPgWMzwDjc8AYJt9/3xgWMIYDjOEBYwTAGBEwRgKMkQFjFMAYFTBGA4zRAWMMwBgTMMYCjLEBYxzAGBcwxgOM8QFjAsCYEDAmAoyJAWMSwJgUMCYDjMkBYwrA+BpgfB0wpgSMqQDjG4DxTcD4FmB8GzCmBoxpAGNawPgOYEwHGNMDxgyAMSNgzAQYMwPGLIAxK2DMBhizA8YcgDEnYMwFGHMDxjyAMS9gzAcY8wPGAoCxIGAsBBgLA8YigLEoYCwGGIsDxhKAsSRgLAUYSwPGMoCxLGAsBxjLA8YKgLEiYKwEGCsDxiqAsSpgrAYYqwPGGoCxJmCsBRhrA8Y6gLEuYKwHGOsDxgaAsSFgbAQYGwPGJoCxKWBsBhibA8YWgLElYGwFGFsDxjaAsS1gbAcY2wPGDoCxI2DsBBg7A8YugLErYOwGGLsDxh6AsSdg7AUYewPGPoCxL2DsBxj7A8YBgHEgYBwEGAcDxiGAcShgHAYYhwPGEYBxJGAcBRhHA8YxgHEsYBwHGMcDxgmAcSJgnAQYJwPGKYBxKmCcBhinA8YZgHEmYJwFGGcDxjmAcS5gnAcY5wPGBYBxIWBcBBgXA8YlgHEpYFwGGJcDxhWAcSVgXAUYVwPGNYBxLWBcBxjXA8YNgHEjYNwEGDcDxi2AcStg3AYYtwPGHYBxJ2DcBRh3A8Y9gHEvYNwHGPcDxgOA8SBgPAQYDwPGI4DxKGA8BhiPA8YTgPEkYDwFGE8DxjOA8SxgPAcYzwPGC4DxImC8BBgvA8YrgPEqYLwGGK8DxhuA8SZgvAUY3wWM7wHG9wHjB4DxQ8D4EWD8GDB+Ahg/BYyfAcbPAeMXgPFLwPgVYPwaMH4DGL8FjN8Bxu8B4w+A8UfA+BNg/Bkw/gIYfwWMvwHG3wHjH4DxT8B4GzDeAYx3AeM9wHgfMD4AjA8B4yPA+BgwPgGMTwHjM8D4HDCGyf/fN4YFjOEAY3jAGAEwRgSMkQBjZMAYBTBGBYzRAGN0wBgDMMYEjLEAY2zAGAcwxgWM8QBjfMCYADAmBIyJAGNiwJgEMCYFjMkAY3LAmAIwvgYYXweMKQFjKsD4BmB8EzC+BRjfBoypAWMawJgWML4DGNMBxvSAMQNgzAgYMwHGzIAxC2DMChizAcbsgDEHYMwJGHMBxtyAMQ9gzAsY8wHG/ICxAGAsCBgLAcbCgLEIYCwKGIsBxuKAsQRgLAkYSwHG0oCxDGAsCxjLAcbygLECYKwIGCsBxsqAsQpgrAoYqwHG6oCxBmCsCRhrAcbagLEOYKwLGOsBxvqAsQFgbAgYGwHGxoCxCWBsChibAcbmgLEFYGwJGFsBxtaAsQ1gbAsY2wHG9oCxA2DsCBg7AcbOgLELYOwKGLsBxu6AsQdg7AkYewHG3oCxD2DsCxj7Acb+gHEAYBwIGAcBxsGAcQhgHAoYhwHG4YBxBGAcCRhHAcbRgHEMYBwLGMcBxvGAcQJgnAgYJwHGyYBxCmCcChinAcbpgHEGYJwJGGcBxtmAcQ5gnAsY5wHG+YBxAWBcCBgXAcbFgHEJYFwKGJcBxuWAcQVgXAkYVwHG1YBxDWBcCxjXAcb1gHEDYNwIGDcBxs2AcQtg3AoYtwHG7YBxB2DcCRh3AcbdgHEPYNwLGPcBxv2A8QBgPAgYDwHGw4DxCGA8ChiPAcbjgPEEYDwJGE8BxtOA8QxgPAsYzwHG84DxAmC8CBgvAcbLgPEKYLwKGK8BxuuA8QZgvAkYbwHGdwHje4DxfcD4AWD8EDB+BBg/BoyfAMZPAeNngPFzwPgFYPwSMH4FGL8GjN8Axm8B43eA8XvA+ANg/BEw/gQYfwaMvwDGXwHjb4Dxd8D4B2D8EzDeBox3AONdwHgPMN4HjA8A40PA+AgwPgaMTwDjU8D4DDA+B4xhCvz3jWEBYzjAGB4wRgCMEQFjJMAYGTBGAYxRAWM0wBgdMMYAjDEBYyzAGBswxgGMcQFjPMAYHzAmAIwJAWMiwJgYMCYBjEkBYzLAmBwwpgCMrwHG1wFjSsCYCjC+ARjfBIxvAca3AWNqwJgGMKYFjO8AxnSAMT1gzAAYMwLGTIAxM2DMAhizAsZsgDE7YMwBGHMCxlyAMTdgzAMY8wLGfIAxP2AsABgLAsZCgLEwYCwCGIsCxmKAsThgLAEYSwLGUoCxNGAsAxjLAsZygLE8YKwAGCsCxkqAsTJgrAIYqwLGaoCxOmCsARhrAsZagLE2YKwDGOsCxnqAsT5gbAAYGwLGRoCxMWBsAhibAsZmgLE5YGwBGFsCxlaAsTVgbAMY2wLGdoCxPWDsABg7AsZOgLEzYOwCGLsCxm6AsTtg7AEYewLGXoCxN2DsAxj7AsZ+gLE/YBwAGAcCxkGAcTBgHAIYhwLGYYBxOGAcARhHAsZRgHE0YBwDGMcCxnGAcTxgnAAYJwLGSYBxMmCcAhinAsZpgHE6YJwBGGcCxlmAcTZgnAMY5wLGeYBxPmBcABgXAsZFgHExYFwCGJcCxmWAcTlgXAEYVwLGVYBxNWBcAxjXAsZ1gHE9YNwAGDcCxk2AcTNg3AIYtwLGbYBxO2DcARh3AsZdgHE3YNwDGPcCxn2AcT9gPAAYDwLGQ4DxMGA8AhiPAsZjgPE4YDwBGE8CxlOA8TRgPAMYzwLGc4DxPGC8ABgvAsZLgPEyYLwCGK8CxmuA8TpgvAEYbwLGW4DxXcD4HmB8HzB+ABg/BIwfAcaPAeMngPFTwPgZYPwcMH4BGL8EjF8Bxq8B4zeA8VvA+B1g/B4w/gAYfwSMPwHGnwHjL4DxV8D4G2D8HTD+ARj/BIy3AeMdwHgXMN4DjPcB4wPA+BAwPgKMjwHjE8D4FDA+A4zPAWOYgv99Y1jAGA4whgeMEQBjRMAYCTBGBoxRAGNUwBgNMEYHjDEAY0zAGAswxgaMcQBjXMAYDzDGB4wJAGNCwJgIMCYGjEkAY1LAmAwwJgeMKQDja4DxdcCYEjCmAoxvAMY3AeNbgPFtwJgaMKYBjGkB4zuAMR1gTA8YMwDGjIAxE2DMDBizAMasgDEbYMwOGHMAxpyAMRdgzA0Y8wDGvIAxH2DMDxgLAMaCgLEQYCwMGIsAxqKAsRhgLA4YSwDGkoCxFGAsDRjLAMaygLEcYCwPGCsAxoqAsRJgrAwYqwDGqoCxGmCsDhhrAMaagLEWYKwNGOsAxrqAsR5grA8YGwDGhoCxEWBsDBibAMamgLEZYGwOGFsAxpaAsRVgbA0Y2wDGtoCxHWBsDxg7AMaOgLETYOwMGLsAxq6AsRtg7A4YewDGnoCxF2DsDRj7AMa+gLEfYOwPGAcAxoGAcRBgHAwYhwDGoYBxGGAcDhhHAMaRgHEUYBwNGMcAxrGAcRxgHA8YJwDGiYBxEmCcDBinAMapgHEaYJwOGGcAxpmAcRZgnA0Y5wDGuYBxHmCcDxgXAMaFgHERYFwMGJcAxqWAcRlgXA4YVwDGlYBxFWBcDRjXAMa1gHEdYFwPGDcAxo2AcRNg3AwYtwDGrYBxG2DcDhh3AMadgHEXYNwNGPcAxr2AcR9g3A8YDwDGg4DxEGA8DBiPAMajgPEYYDwOGE8AxpOA8RRgPA0YzwDGs4DxHGA8DxgvAMaLgPESYLwMGK8AxquA8RpgvA4YbwDGm4DxFmB8FzC+BxjfB4wfAMYPAeNHgPFjwPgJYPwUMH4GGD8HjF8Axi8B41eA8WvA+A1g/BYwfgcYvweMPwDGHwHjT4DxZ8D4C2D8FTD+Bhh/B4x/AMY/AeNtwHgHMN4FjPcA433A+AAwPgSMjwDjY8D4BDA+BYzPAONzwBim0H/fGBYwhgOM4QFjBMAYETBGAoyRAWMUwBgVMEYDjNEBYwzAGBMwxgKMsQFjHMAYFzDGA4zxAWMCwJgQMCYCjIkBYxLAmBQwJgOMyQFjCsD4GmB8HTCmBIypAOMbgPFNwPgWYHwbMKYGjGkAY1rA+A5gTAcY0wPGDIAxI2DMBBgzA8YsgDErYMwGGLMDxhyAMSdgzAUYcwPGPIAxL2DMBxjzA8YCgLEgYCwEGAsDxiKAsShgLAYYiwPGEoCxJGAsBRhLA8YygLEsYCwHGMsDxgqAsSJgrAQYKwPGKoCxKmCsBhirA8YagLEmYKwFGGsDxjqAsS5grAcY6wPGBoCxIWBsBBgbA8YmgLEpYGwGGJsDxhaAsSVgbAUYWwPGNoCxLWBsBxjbA8YOgLEjYOwEGDsDxi6AsStg7AYYuwPGHoCxJ2DsBRh7A8Y+gLEvYOwHGPsDxgGAcSBgHAQYBwPGIYBxKGAcBhiHA8YRgHEkYBwFGEcDxjGAcSxgHAcYxwPGCYBxImCcBBgnA8YpgHEqYJwGGKcDxhmAcSZgnAUYZwPGOYBxLmCcBxjnA8YFgHEhYFwEGBcDxiWAcSlgXAYYlwPGFYBxJWBcBRhXA8Y1gHEtYFwHGNcDxg2AcSNg3AQYNwPGLYBxK2DcBhi3A8YdgHEnYNwFGHcDxj2AcS9g3AcY9wPGA4DxIGA8BBgPA8YjgPEoYDwGGI8DxhOA8SRgPAUYTwPGM4DxLGA8BxjPA8YLgPEiYLwEGC8DxiuA8SpgvAYYrwPGG4DxJmC8BRjfBYzvAcb3AeMHgPFDwPgRYPwYMH4CGD8FjJ8Bxs8B4xeA8UvA+BVg/BowfgMYvwWM3wHG7wHjD4DxR8D4E2D8GTD+Ahh/BYy/AcbfAeMfgPFPwHgbMN4BjHcB4z3AeB8wPgCMDwHjI8D4GDA+AYxPAeMzwPgcMIYp/N83hgWM4QBjeMAYATBGBIyRAGNkwBgFMEYFjNEAY3TAGAMwxgSMsQBjbMAYBzDGBYzxAGN8wJgAMCYEjIkAY2LAmAQwJgWMyQBjcsCYAjC+BhhfB4wpAWMqwPgGYHwTML4FGN8GjKkBYxrAmBYwvgMY0wHG9IAxA2DMCBgzAcbMgDELYMwKGLMBxuyAMQdgzAkYcwHG3IAxD2DMCxjzAcb8gLEAYCwIGAsBxsKAsQhgLAoYiwHG4oCxBGAsCRhLAcbSgLEMYCwLGMsBxvKAsQJgrAgYKwHGyoCxCmCsChirAcbqgLEGYKwJGGsBxtqAsQ5grAsY6wHG+oCxAWBsCBgbAcbGgLEJYGwKGJsBxuaAsQVgbAkYWwHG1oCxDWBsCxjbAcb2gLEDYOwIGDsBxs6AsQtg7AoYuwHG7oCxB2DsCRh7AcbegLEPYOwLGPsBxv6AcQBgHAgYBwHGwYBxCGAcChiHAcbhgHEEYBwJGEcBxtGAcQxgHAsYxwHG8YBxAmCcCBgnAcbJgHEKYJwKGKcBxumAcQZgnAkYZwHG2YBxDmCcCxjnAcb5gHEBYFwIGBcBxsWAcQlgXAoYlwHG5YBxBWBcCRhXAcbVgHENYFwLGNcBxvWAcQNg3AgYNwHGzYBxC2DcChi3AcbtgHEHYNwJGHcBxt2AcQ9g3AsY9wHG/YDxAGA8CBgPAcbDgPEIYDwKGI8BxuOA8QRgPAkYTwHG04DxDGA8CxjPAcbzgPECYLwIGC8BxsuA8QpgvAoYrwHG64DxBmC8CRhvAcZ3AeN7gPF9wPgBYPwQMH4EGD8GjJ8Axk8B42eA8XPA+AVg/BIwfgUYvwaM3wDGbwHjd4Dxe8D4A2D8ETD+BBh/Boy/AMZfAeNvgPF3wPgHYPwTMN4GjHcA413AeA8w3geMDwDjQ8D4CDA+BoxPAONTwPgMMD4HjGGK/PeNYQFjOMAYHjBGAIwRAWMkwBgZMEYBjFEBYzTAGB0wxgCMMQFjLMAYGzDGAYxxAWM8wBgfMCYAjAkBYyLAmBgwJgGMSQFjMsCYHDCmAIyvAcbXAWNKwJgKML4BGN8EjG8BxrcBY2rAmAYwpgWM7wDGdIAxPWDMABgzAsZMgDEzYMwCGLMCxmyAMTtgzAEYcwLGXIAxN2DMAxjzAsZ8gDE/YCwAGAsCxkKAsTBgLAIYiwLGYoCxOGAsARhLAsZSgLE0YCwDGMsCxnKAsTxgrAAYKwLGSoCxMmCsAhirAsZqgLE6YKwBGGsCxlqAsTZgrAMY6wLGeoCxPmBsABgbAsZGgLExYGwCGJsCxmaAsTlgbAEYWwLGVoCxNWBsAxjbAsZ2gLE9YOwAGDsCxk6AsTNg7AIYuwLGboCxO2DsARh7AsZegLE3YOwDGPsCxn6AsT9gHAAYBwLGQYBxMGAcAhiHAsZhgHE4YBwBGEcCxlGAcTRgHAMYxwLGcYBxPGCcABgnAsZJgHEyYJwCGKcCxmmAcTpgnAEYZwLGWYBxNmCcAxjnAsZ5gHE+YFwAGBcCxkWAcTFgXAIYlwLGZYBxOWBcARhXAsZVgHE1YFwDGNcCxnWAcT1g3AAYNwLGTYBxM2DcAhi3AsZtgHE7YNwBGHcCxl2AcTdg3AMY9wLGfYBxP2A8ABgPAsZDgPEwYDwCGI8CxmOA8ThgPAEYTwLGU4DxNGA8AxjPAsZzgPE8YLwAGC8CxkuA8TJgvAIYrwLGa4DxOmC8ARhvAsZbgPFdwPgeYHwfMH4AGD8EjB8Bxo8B4yeA8VPA+Blg/BwwfgEYvwSMXwHGrwHjN4DxW8D4HWD8HjD+ABh/BIw/AcafAeMvgPFXwPgbYPwdMP4BGP8EjLcB4x3AeBcw3gOM9wHjA8D4EDA+AoyPAeMTwPgUMD4DjM8BY+iM/uvGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMbXAOPrgDElYEwFGN8AjG8CxrcA49uAMTVgTAMY0wLGdwBjOsCYHjBmAIwZAWMmwJgZMGYBjFkBYzbAmB0w5gCMOQFjLsCYGzDmAYx5AWM+wJgfMBYAjAUBYyHAWBgwFgGMRQFjMcBYHDCWAIwlAWMpwFgaMJYBjGUBYznAWB4wVgCMFQFjJcBYGTBWAYxVAWM1wFgdMNYAjDUBYy3AWBsw1gGMdQFjPcBYHzA2AIwNAWMjwNgYMDYBjE0BYzPA2BwwtgCMLQFjK8DYGjC2AYxtAWM7wNgeMHYAjB0BYyfA2BkwdgGMXQFjN8DYHTD2AIw9AWMvwNgbMPYBjH0BYz/A2B8wDgCMAwHjIMA4GDAOAYxDAeMwwDgcMI4AjCMB4yjAOBowjgGMYwHjOMA4HjBOAIwTAeMkwDgZME4BjFMB4zTAOB0wzgCMMwHjLMA4GzDOAYxzAeM8wDgfMC4AjAsB4yLAuBgwLgGMSwHjMsC4HDCuAIwrAeMqwLgaMK4BjGsB4zrAuB4wbgCMGwHjJsC4GTBuAYxbAeM2wLgdMO4AjDsB4y7AuBsw7gGMewHjPsC4HzAeAIwHAeMhwHgYMB4BjEcB4zHAeBwwngCMJwHjKcB4GjCeAYxnAeM5wHgeMF4AjBcB4yXAeBkwXgGMVwHjNcB4HTDeAIw3AeMtwPguYHwPML4PGD8AjB8Cxo8A48eA8RPA+Clg/Awwfg4YvwCMXwLGrwDj14DxG8D4LWD8DjB+Dxh/AIw/AsafAOPPgPEXwPgrYPwNMP4OGP8AjH8CxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueAMUyx/74xLGAMBxjDA8YIgDEiYIwEGCMDxiiAMSpgjAYYowPGGIAxJmCMBRhjA8Y4gDEuYIwHGOMDxgSAMSFgTAQYEwPGJIAxKWBMBhiTA8YUgPE1wPg6YEwJGFMBxjcA45uA8S3A+DZgTA0Y0wDGtIDxHcCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTBeB4w3AONNwHgLML4LGN8DjO8Dxg8A44eA8SPA+DFg/AQwfgoYPwOMnwPGLwDjl4DxK8D4NWD8BjB+Cxi/A4zfA8YfAOOPgPEnwPgzYPwFMP4KGH8DjL8Dxj8A45+A8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgDFP8v28MCxjDAcbwgDECYIwIGCMBxsiAMQpgjAoYowHG6IAxBmCMCRhjAcbYgDEOYIwLGOMBxviAMQFgTAgYEwHGxIAxCWBMChiTAcbkgDEFYHwNML4OGFMCxlSA8Q3A+CZgfAswvg0YUwPGNIAxLWB8BzCmA4zpAWMGwJgRMGYCjJkBYxbAmBUwZgOM2QFjDsCYEzDmAoy5AWMewJgXMOYDjPkBYwHAWBAwFgKMhQFjEcBYFDAWA4zFAWMJwFgSMJYCjKUBYxnAWBYwlgOM5QFjBcBYETBWAoyVAWMVwFgVMFYDjNUBYw3AWBMw1gKMtQFjHcBYFzDWA4z1AWMDwNgQMDYCjI0BYxPA2BQwNgOMzQFjC8DYEjC2AoytAWMbwNgWMLYDjO0BYwfA2BEwdgKMnQFjF8DYFTB2A4zdAWMPwNgTMPYCjL0BYx/A2Bcw9gOM/QHjAMA4EDAOAoyDAeMQwDgUMA4DjMMB4wjAOBIwjgKMowHjGMA4FjCOA4zjAeMEwDgRME4CjJMB4xTAOBUwTgOM0wHjDMA4EzDOAoyzAeMcwDgXMM4DjPMB4wLAuBAwLgKMiwHjEsC4FDAuA4zLAeMKwLgSMK4CjKsB4xrAuBYwrgOM6wHjBsC4ETBuAoybAeMWwLgVMG4DjNsB4w7AuBMw7gKMuwHjHsC4FzDuA4z7AeMBwHgQMB4CjIcB4xHAeBQwHgOMxwHjCcB4EjCeAoynAeMZwHgWMJ4DjOcB4wXAeBEwXgKMlwHjFcB4FTBeA4zXAeMNwHgTMN4CjO8CxvcA4/uA8QPA+CFg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA0Y7wDGu4DxHmC8DxgfAMaHgPERYHwMGJ8AxqeA8RlgfA4Yw5T47xvDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGF8DjK8DxpSAMRVgfAMwvgkY3wKMbwPG1IAxDWBMCxjfAYzpAGN6wJgBMGYEjJkAY2bAmAUwZgWM2QBjdsCYAzDmBIy5AGNuwJgHMOYFjPkAY37AWAAwFgSMhQBjYcBYBDAWBYzFAGNxwFgCMJYEjKUAY2nAWAYwlgWM5QBjecBYATBWBIyVAGNlwFgFMFYFjNUAY3XAWAMw1gSMtQBjbcBYBzDWBYz1AGN9wNgAMDYEjI0AY2PA2AQwNgWMzQBjc8DYAjC2BIytAGNrwNgGMLYFjO0AY3vA2AEwdgSMnQBjZ8DYBTB2BYzdAGN3wNgDMPYEjL0AY2/A2Acw9gWM/QBjf8A4ADAOBIyDAONgwDgEMA4FjMMA43DAOAIwjgSMowDjaMA4BjCOBYzjAON4wDgBME4EjJMA42TAOAUwTgWM0wDjdMA4AzDOBIyzAONswDgHMM4FjPMA43zAuAAwLgSMiwDjYsC4BDAuBYzLAONywLgCMK4EjKsA42rAuAYwrgWM6wDjesC4ATBuBIybAONmwLgFMG4FjNsA43bAuAMw7gSMuwDjbsC4BzDuBYz7AON+wHgAMB4EjIcA42HAeAQwHgWMxwDjccB4AjCeBIynAONpwHgGMJ4FjOcA43nAeAEwXgSMlwDjZcB4BTBeBYzXAON1wHgDMN4EjLcA47uA8T3A+D5g/AAwfggYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGMCX/+8awgDEcYAwPGCMAxoiAMRJgjAwYowDGqIAxGmCMDhhjAMaYgDEWYIwNGOMAxriAMR5gjA8YEwDGhIAxEWBMDBiTAMakgDEZYEwOGFMAxtcA4+uAMSVgTAUY3wCMbwLGtwDj24AxNWBMAxjTAsZ3AGM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeM1wHgdMN4AjDcB4y3A+C5gfA8wvg8YPwCMHwLGjwDjx4DxE8D4KWD8DDB+Dhi/AIxfAsavAOPXgPEbwPgtYPwOMH4PGH8AjD8Cxp8A48+A8RfA+Ctg/A0w/g4Y/wCMfwLG24DxDmC8CxjvAcb7gPEBYHwIGB8BxseA8QlgfAoYnwHG54AxTKn/vjEsYAwHGMMDxgiAMSJgjAQYIwPGKIAxKmCMBhijA8YYgDEmYIwFGGMDxjiAMS5gjAcY4wPGBIAxIWBMBBgTA8YkgDEpYEwGGJMDxhSA8TXA+DpgTAkYUwHGNwDjm4DxLcD4NmBMDRjTAMa0gPEdwJgOMKYHjBkAY0bAmAkwZgaMWQBjVsCYDTBmB4w5AGNOwJgLMOYGjHkAY17AmA8w5geMBQBjQcBYCDAWBoxFAGNRwFgMMBYHjCUAY0nAWAowlgaMZQBjWcBYDjCWB4wVAGNFwFgJMFYGjFUAY1XAWA0wVgeMNQBjTcBYCzDWBox1AGNdwFgPMNYHjA0AY0PA2AgwNgaMTQBjU8DYDDA2B4wtAGNLwNgKMLYGjG0AY1vA2A4wtgeMHQBjR8DYCTB2BoxdAGNXwNgNMHYHjD0AY0/A2Asw9gaMfQBjX8DYDzD2B4wDAONAwDgIMA4GjEMA41DAOAwwDgeMIwDjSMA4CjCOBoxjAONYwDgOMI4HjBMA40TAOAkwTgaMUwDjVMA4DTBOB4wzAONMwDgLMM4GjHMA41zAOA8wzgeMCwDjQsC4CDAuBoxLAONSwLgMMC4HjCsA40rAuAowrgaMawDjWsC4DjCuB4wbAONGwLgJMG4GjFsA41bAuA0wbgeMOwDjTsC4CzDuBox7AONewLgPMO4HjAcA40HAeAgwHgaMRwDjUcB4DDAeB4wnAONJwHgKMJ4GjGcA41nAeA4wngeMFwDjRcB4CTBeBoxXAONVwHgNMF4HjDcA403AeAswvgsY3wOM7wPGDwDjh4DxI8D4MWD8BDB+Chg/A4yfA8YvAOOXgPErwPg1YPwGMH4LGL8DjN8Dxh8A44+A8SfA+DNg/AUw/goYfwOMvwPGPwDjn4DxNmC8AxjvAsZ7gPE+YHwAGB8CxkeA8TFgfAIYnwLGZ4DxOWAMU/q/bwwLGMMBxvCAMQJgjAgYIwHGyIAxCmCMChijAcbogDEGYIwJGGMBxtiAMQ5gjAsY4wHG+IAxAWBMCBgTAcbEgDEJYEwKGJMBxuSAMQVgfA0wvg4YUwLGVIDxDcD4JmB8CzC+DRhTA8Y0gDEtYHwHMKYDjOkBYwbAmBEwZgKMmQFjFsCYFTBmA4zZAWMOwJgTMOYCjLkBYx7AmBcw5gOM+QFjAcBYEDAWAoyFAWMRwFgUMBYDjMUBYwnAWBIwlgKMpQFjGcBYFjCWA4zlAWMFwFgRMFYCjJUBYxXAWBUwVgOM1QFjDcBYEzDWAoy1AWMdwFgXMNYDjPUBYwPA2BAwNgKMjQFjE8DYFDA2A4zNAWMLwNgSMLYCjK0BYxvA2BYwtgOM7QFjB8DYETB2AoydAWMXwNgVMHYDjN0BYw/A2BMw9gKMvQFjH8DYFzD2A4z9AeMAwDgQMA4CjIMB4xDAOBQwDgOMwwHjCMA4EjCOAoyjAeMYwDgWMI4DjOMB4wTAOBEwTgKMkwHjFMA4FTBOA4zTAeMMwDgTMM4CjLMB4xzAOBcwzgOM8wHjAsC4EDAuAoyLAeMSwLgUMC4DjMsB4wrAuBIwrgKMqwHjGsC4FjCuA4zrAeMGwLgRMG4CjJsB4xbAuBUwbgOM2wHjDsC4EzDuAoy7AeMewLgXMO4DjPsB4wHAeBAwHgKMhwHjEcB4FDAeA4zHAeMJwHgSMJ4CjKcB4xnAeBYwngOM5wHjBcB4ETBeAoyXAeMVwHgVMF4DjNcB4w3AeBMw3gKM7wLG9wDj+4DxA8D4IWD8CDB+DBg/AYyfAsbPAOPngPELwPglYPwKMH4NGL8BjN8Cxu8A4/eA8QfA+CNg/Akw/gwYfwGMvwLG3wDj74DxD8D4J2C8DRjvAMa7gPEeYLwPGB8AxoeA8RFgfAwYnwDGp4DxGWB8DhjDlPnvG8MCxnCAMTxgjAAYIwLGSIAxMmCMAhijAsZogDE6YIwBGGMCxliAMTZgjAMY4wLGeIAxPmBMABgTAsZEgDExYEwCGJMCxmSAMTlgTAEYXwOMrwPGlIAxFWB8AzC+CRjfAoxvA8bUgDENYEwLGN8BjOkAY3rAmAEwZgSMmQBjZsCYBTBmBYzZAGN2wJgDMOYEjLkAY27AmAcw5gWM+QBjfsBYADAWBIyFAGNhwFgEMBYFjMUAY3HAWAIwlgSMpQBjacBYBjCWBYzlAGN5wFgBMFYEjJUAY2XAWAUwVgWM1QBjdcBYAzDWBIy1AGNtwFgHMNYFjPUAY33A2AAwNgSMjQBjY8DYBDA2BYzNAGNzwNgCMLYEjK0AY2vA2AYwtgWM7QBje8DYATB2BIydAGNnwNgFMHYFjN0AY3fA2AMw9gSMvQBjb8DYBzD2BYz9AGN/wDgAMA4EjIMA42DAOAQwDgWMwwDjcMA4AjCOBIyjAONowDgGMI4FjOMA43jAOAEwTgSMkwDjZMA4BTBOBYzTAON0wDgDMM4EjLMA42zAOAcwzgWM8wDjfMC4ADAuBIyLAONiwLgEMC4FjMsA43LAuAIwrgSMqwDjasC4BjCuBYzrAON6wLgBMG4EjJsA42bAuAUwbgWM2wDjdsC4AzDuBIy7AONuwLgHMO4FjPsA437AeAAwHgSMhwDjYcB4BDAeBYzHAONxwHgCMJ4EjKcA42nAeAYwngWM5wDjecB4ATBeBIyXAONlwHgFMF4FjNcA43XAeAMw3gSMtwDju4DxPcD4PmD8ADB+CBg/AowfA8ZPAOOngPEzwPg5YPwCMH4JGL8CjF8Dxm8A47eA8TvA+D1g/AEw/ggYfwKMPwPGXwDjr4DxN8D4O2D8AzD+CRhvA8Y7gPEuYLwHGO8DxgeA8SFgfAQYHwPGJ4DxKWB8BhifA8YwZf/7xrCAMRxgDA8YIwDGiIAxEmCMDBijAMaogDEaYIwOGGMAxpiAMRZgjA0Y4wDGuIAxHmCMDxgTAMaEgDERYEwMGJMAxqSAMRlgTA4YUwDG1wDj64AxJWBMBRjfAIxvAsa3AOPbgDE1YEwDGNMCxncAYzrAmB4wZgCMGQFjJsCYGTBmAYxZAWM2wJgdMOYAjDkBYy7AmBsw5gGMeQFjPsCYHzAWAIwFAWMhwFgYMBYBjEUBYzHAWBwwlgCMJQFjKcBYGjCWAYxlAWM5wFgeMFYAjBUBYyXAWBkwVgGMVQFjNcBYHTDWAIw1AWMtwFgbMNYBjHUBYz3AWB8wNgCMDQFjI8DYGDA2AYxNAWMzwNgcMLYAjC0BYyvA2BowtgGMbQFjO8DYHjB2AIwdAWMnwNgZMHYBjF0BYzfA2B0w9gCMPQFjL8DYGzD2AYx9AWM/wNgfMA4AjAMB4yDAOBgwDgGMQwHjMMA4HDCOAIwjAeMowDgaMI4BjGMB4zjAOB4wTgCMEwHjJMA4GTBOAYxTAeM0wDgdMM4AjDMB4yzAOBswzgGMcwHjPMA4HzAuAIwLAeMiwLgYMC4BjEsB4zLAuBwwrgCMKwHjKsC4GjCuAYxrAeM6wLgeMG4AjBsB4ybAuBkwbgGMWwHjNsC4HTDuAIw7AeMuwLgbMO4BjHsB4z7AuB8wHgCMBwHjIcB4GDAeAYxHAeMxwHgcMJ4AjCcB4ynAeBowngGMZwHjOcB4HjBeAIwXAeMlwHgZMF4BjFcB4zXAeB0w3gCMNwHjLcD4LmB8DzC+Dxg/AIwfAsaPAOPHgPETwPgpYPwMMH4OGL8AjF8Cxq8A49eA8RvA+C1g/A4wfg8YfwCMPwLGnwDjz4DxF8D4K2D8DTD+Dhj/AIx/AsbbgPEOYLwLGO8BxvuA8QFgfAgYHwHGx4DxCWB8ChifAcbngDFMuf++MSxgDAcYwwPGCIAxImCMBBgjA8YogDEqYIwGGKMDxhiAMSZgjAUYYwPGOIAxLmCMBxjjA8YEgDEhYEwEGBMDxiSAMSlgTAYYkwPGFIDxNcD4OmBMCRhTAcY3AOObgPEtwPg2YEwNGNMAxrSA8R3AmA4wpgeMGQBjRsCYCTBmBoxZAGNWwJgNMGYHjDkAY07AmAsw5gaMeQBjXsCYDzDmB4wFAGNBwFgIMBYGjEUAY1HAWAwwFgeMJQBjScBYCjCWBoxlAGNZwFgOMJYHjBUAY0XAWAkwVgaMVQBjVcBYDTBWB4w1AGNNwFgLMNYGjHUAY13AWA8w1geMDQBjQ8DYCDA2BoxNAGNTwNgMMDYHjC0AY0vA2AowtgaMbQBjW8DYDjC2B4wdAGNHwNgJMHYGjF0AY1fA2A0wdgeMPQBjT8DYCzD2Box9AGNfwNgPMPYHjAMA40DAOAgwDgaMQwDjUMA4DDAOB4wjAONIwDgKMI4GjGMA41jAOA4wjgeMEwDjRMA4CTBOBoxTAONUwDgNME4HjDMA40zAOAswzgaMcwDjXMA4DzDOB4wLAONCwLgIMC4GjEsA41LAuAwwLgeMKwDjSsC4CjCuBoxrAONawLgOMK4HjBsA40bAuAkwbgaMWwDjVsC4DTBuB4w7AONOwLgLMO4GjHsA417AuA8w7geMBwDjQcB4CDAeBoxHAONRwHgMMB4HjCcA40nAeAowngaMZwDjWcB4DjCeB4wXAONFwHgJMF4GjFcA41XAeA0wXgeMNwDjTcB4CzC+CxjfA4zvA8YPAOOHgPEjwPgxYPwEMH4KGD8DjJ8Dxi8A45eA8SvA+DVg/AYwfgsYvwOM3wPGHwDjj4DxJ8D4M2D8BTD+Chh/A4y/A8Y/AOOfgPE2YLwDGO8CxnuA8T5gfAAYHwLGR4DxMWB8AhifAsZngPE5YAxT/r9vDAsYwwHG8IAxAmCMCBgjAcbIgDEKYIwKGKMBxuiAMQZgjAkYYwHG2IAxDmCMCxjjAcb4gDEBYEwIGBMBxsSAMQlgTAoYkwHG5IAxBWB8DTC+DhhTAsZUgPENwPgmYHwLML4NGFMDxjSAMS1gfAcwpgOM6QFjBsCYETBmAoyZAWMWwJgVMGYDjNkBYw7AmBMw5gKMuQFjHsCYFzDmA4z5AWMBwFgQMBYCjIUBYxHAWBQwFgOMxQFjCcBYEjCWAoylAWMZwFgWMJYDjOUBYwXAWBEwVgKMlQFjFcBYFTBWA4zVAWMNwFgTMNYCjLUBYx3AWBcw1gOM9QFjA8DYEDA2AoyNAWMTwNgUMDYDjM0BYwvA2BIwtgKMrQFjG8DYFjC2A4ztAWMHwNgRMHYCjJ0BYxfA2BUwdgOM3QFjD8DYEzD2Aoy9AWMfwNgXMPYDjP0B4wDAOBAwDgKMgwHjEMA4FDAOA4zDAeMIwDgSMI4CjKMB4xjAOBYwjgOM4wHjBMA4ETBOAoyTAeMUwDgVME4DjNMB4wzAOBMwzgKMswHjHMA4FzDOA4zzAeMCwLgQMC4CjIsB4xLAuBQwLgOMywHjCsC4EjCuAoyrAeMawLgWMK4DjOsB4wbAuBEwbgKMmwHjFsC4FTBuA4zbAeMOwLgTMO4CjLsB4x7AuBcw7gOM+wHjAcB4EDAeAoyHAeMRwHgUMB4DjMcB4wnAeBIwngKMpwHjGcB4FjCeA4znAeMFwHgRMF4CjJcB4xXAeBUwXgOM1wHjDcB4EzDeAozvAsb3AOP7gPEDwPghYPwIMH4MGD8BjJ8Cxs8A4+eA8QvA+CVg/Aowfg0YvwGM3wLG7wDj94DxB8D4I2D8CTD+DBh/AYy/AsbfAOPvgPEPwPgnYLwNGO8AxruA8R5gvA8YHwDGh4DxEWB8DBifAMangPEZYHwOGMNU+O8bwwLGcIAxPGCMABgjAsZIgDEyYIwCGKMCxmiAMTpgjAEYYwLGWIAxNmCMAxjjAsZ4gDE+YEwAGBMCxkSAMTFgTAIYkwLGZIAxOWBMARhfA4yvA8aUgDEVYHwDML4JGN8CjG8DxtSAMQ1gTAsY3wGM6QBjesCYATBmBIyZAGNmwJgFMGYFjNkAY3bAmAMw5gSMuQBjbsCYBzDmBYz5AGN+wFgAMBYEjIUAY2HAWAQwFgWMxQBjccBYAjCWBIylAGNpwFgGMJYFjOUAY3nAWAEwVgSMlQBjZcBYBTBWBYzVAGN1wFgDMNYEjLUAY23AWAcw1gWM9QBjfcDYADA2BIyNAGNjwNgEMDYFjM0AY3PA2AIwtgSMrQBja8DYBjC2BYztAGN7wNgBMHYEjJ0AY2fA2AUwdgWM3QBjd8DYAzD2BIy9AGNvwNgHMPYFjP0AY3/AOAAwDgSMgwDjYMA4BDAOBYzDAONwwDgCMI4EjKMA42jAOAYwjgWM4wDjeMA4ATBOBIyTAONkwDgFME4FjNMA43TAOAMwzgSMswDjbMA4BzDOBYzzAON8wLgAMC4EjIsA42LAuAQwLgWMywDjcsC4AjCuBIyrAONqwLgGMK4FjOsA43rAuAEwbgSMmwDjZsC4BTBuBYzbAON2wLgDMO4EjLsA427AuAcw7gWM+wDjfsB4ADAeBIyHAONhwHgEMB4FjMcA43HAeAIwngSMpwDjacB4BjCeBYznAON5wHgBMF4EjJcA42XAeAUwXgWM1wDjdcB4AzDeBIy3AOO7gPE9wPg+YPwAMH4IGD8CjB8Dxk8A46eA8TPA+Dlg/AIwfgkYvwKMXwPGbwDjt4DxO8D4PWD8ATD+CBh/Aow/A8ZfAOOvgPE3wPg7YPwDMP4JGG8DxjuA8S5gvAcY7wPGB4DxIWB8BBgfA8YngPEpYHwGGJ8DxjAV//vGsIAxHGAMDxgjAMaIgDESYIwMGKMAxqiAMRpgjA4YYwDGmIAxFmCMDRjjAMa4gDEeYIwPGBMAxoSAMRFgTAwYkwDGpIAxGWBMDhhTAMbXAOPrgDElYEwFGN8AjG8CxrcA49uAMTVgTAMY0wLGdwBjOsCYHjBmAIwZAWMmwJgZMGYBjFkBYzbAmB0w5gCMOQFjLsCYGzDmAYx5AWM+wJgfMBYAjAUBYyHAWBgwFgGMRQFjMcBYHDCWAIwlAWMpwFgaMJYBjGUBYznAWB4wVgCMFQFjJcBYGTBWAYxVAWM1wFgdMNYAjDUBYy3AWBsw1gGMdQFjPcBYHzA2AIwNAWMjwNgYMDYBjE0BYzPA2BwwtgCMLQFjK8DYGjC2AYxtAWM7wNgeMHYAjB0BYyfA2BkwdgGMXQFjN8DYHTD2AIw9AWMvwNgbMPYBjH0BYz/A2B8wDgCMAwHjIMA4GDAOAYxDAeMwwDgcMI4AjCMB4yjAOBowjgGMYwHjOMA4HjBOAIwTAeMkwDgZME4BjFMB4zTAOB0wzgCMMwHjLMA4GzDOAYxzAeM8wDgfMC4AjAsB4yLAuBgwLgGMSwHjMsC4HDCuAIwrAeMqwLgaMK4BjGsB4zrAuB4wbgCMGwHjJsC4GTBuAYxbAeM2wLgdMO4AjDsB4y7AuBsw7gGMewHjPsC4HzAeAIwHAeMhwHgYMB4BjEcB4zHAeBwwngCMJwHjKcB4GjCeAYxnAeM5wHgeMF4AjBcB4yXAeBkwXgGMVwHjNcB4HTDeAIw3AeMtwPguYHwPML4PGD8AjB8Cxo8A48eA8RPA+Clg/Awwfg4YvwCMXwLGrwDj14DxG8D4LWD8DjB+Dxh/AIw/AsafAOPPgPEXwPgrYPwNMP4OGP8AjH8CxtuA8Q5gvAsY7wHG+4DxAWB8CBgfAcbHgPEJYHwKGJ8BxueAMUyl/74xLGAMBxjDA8YIgDEiYIwEGCMDxiiAMSpgjAYYowPGGIAxJmCMBRhjA8Y4gDEuYIwHGOMDxgSAMSFgTAQYEwPGJIAxKWBMBhiTA8YUgPE1wPg6YEwJGFMBxjcA45uA8S3A+DZgTA0Y0wDGtIDxHcCYDjCmB4wZAGNGwJgJMGYGjFkAY1bAmA0wZgeMOQBjTsCYCzDmBox5AGNewJgPMOYHjAUAY0HAWAgwFgaMRQBjUcBYDDAWB4wlAGNJwFgKMJYGjGUAY1nAWA4wlgeMFQBjRcBYCTBWBoxVAGNVwFgNMFYHjDUAY03AWAsw1gaMdQBjXcBYDzDWB4wNAGNDwNgIMDYGjE0AY1PA2AwwNgeMLQBjS8DYCjC2BoxtAGNbwNgOMLYHjB0AY0fA2AkwdgaMXQBjV8DYDTB2B4w9AGNPwNgLMPYGjH0AY1/A2A8w9geMAwDjQMA4CDAOBoxDAONQwDgMMA4HjCMA40jAOAowjgaMYwDjWMA4DjCOB4wTAONEwDgJME4GjFMA41TAOA0wTgeMMwDjTMA4CzDOBoxzAONcwDgPMM4HjAsA40LAuAgwLgaMSwDjUsC4DDAuB4wrAONKwLgKMK4GjGsA41rAuA4wrgeMGwDjRsC4CTBuBoxbAONWwLgNMG4HjDsA407AuAsw7gaMewDjXsC4DzDuB4wHAONBwHgIMB4GjEcA41HAeAwwHgeMJwDjScB4CjCeBoxnAONZwHgOMJ4HjBcA40XAeAkwXgaMVwDjVcB4DTBeB4w3AONNwHgLML4LGN8DjO8Dxg8A44eA8SPA+DFg/AQwfgoYPwOMnwPGLwDjl4DxK8D4NWD8BjB+Cxi/A4zfA8YfAOOPgPEnwPgzYPwFMP4KGH8DjL8Dxj8A45+A8TZgvAMY7wLGe4DxPmB8ABgfAsZHgPExYHwCGJ8CxmeA8TlgDFP5v28MCxjDAcbwgDECYIwIGCMBxsiAMQpgjAoYowHG6IAxBmCMCRhjAcbYgDEOYIwLGOMBxviAMQFgTAgYEwHGxIAxCWBMChiTAcbkgDEFYHwNML4OGFMCxlSA8Q3A+CZgfAswvg0YUwPGNIAxLWB8BzCmA4zpAWMGwJgRMGYCjJkBYxbAmBUwZgOM2QFjDsCYEzDmAoy5AWMewJgXMOYDjPkBYwHAWBAwFgKMhQFjEcBYFDAWA4zFAWMJwFgSMJYCjKUBYxnAWBYwlgOM5QFjBcBYETBWAoyVAWMVwFgVMFYDjNUBYw3AWBMw1gKMtQFjHcBYFzDWA4z1AWMDwNgQMDYCjI0BYxPA2BQwNgOMzQFjC8DYEjC2AoytAWMbwNgWMLYDjO0BYwfA2BEwdgKMnQFjF8DYFTB2A4zdAWMPwNgTMPYCjL0BYx/A2Bcw9gOM/QHjAMA4EDAOAoyDAeMQwDgUMA4DjMMB4wjAOBIwjgKMowHjGMA4FjCOA4zjAeMEwDgRME4CjJMB4xTAOBUwTgOM0wHjDMA4EzDOAoyzAeMcwDgXMM4DjPMB4wLAuBAwLgKMiwHjEsC4FDAuA4zLAeMKwLgSMK4CjKsB4xrAuBYwrgOM6wHjBsC4ETBuAoybAeMWwLgVMG4DjNsB4w7AuBMw7gKMuwHjHsC4FzDuA4z7AeMBwHgQMB4CjIcB4xHAeBQwHgOMxwHjCcB4EjCeAoynAeMZwHgWMJ4DjOcB4wXAeBEwXgKMlwHjFcB4FTBeA4zXAeMNwHgTMN4CjO8CxvcA4/uA8QPA+CFg/AgwfgwYPwGMnwLGzwDj54DxC8D4JWD8CjB+DRi/AYzfAsbvAOP3gPEHwPgjYPwJMP4MGH8BjL8Cxt8A4++A8Q/A+CdgvA0Y7wDGu4DxHmC8DxgfAMaHgPERYHwMGJ8AxqeA8RlgfA4Yw1T57xvDAsZwgDE8YIwAGCMCxkiAMTJgjAIYowLGaIAxOmCMARhjAsZYgDE2YIwDGOMCxniAMT5gTAAYEwLGRIAxMWBMAhiTAsZkgDE5YEwBGF8DjK8DxpSAMRVgfAMwvgkY3wKMbwPG1IAxDWBMCxjfAYzpAGN6wJgBMGYEjJkAY2bAmAUwZgWM2QBjdsCYAzDmBIy5AGNuwJgHMOYFjPkAY37AWAAwFgSMhQBjYcBYBDAWBYzFAGNxwFgCMJYEjKUAY2nAWAYwlgWM5QBjecBYATBWBIyVAGNlwFgFMFYFjNUAY3XAWAMw1gSMtQBjbcBYBzDWBYz1AGN9wNgAMDYEjI0AY2PA2AQwNgWMzQBjc8DYAjC2BIytAGNrwNgGMLYFjO0AY3vA2AEwdgSMnQBjZ8DYBTB2BYzdAGN3wNgDMPYEjL0AY2/A2Acw9gWM/QBjf8A4ADAOBIyDAONgwDgEMA4FjMMA43DAOAIwjgSMowDjaMA4BjCOBYzjAON4wDgBME4EjJMA42TAOAUwTgWM0wDjdMA4AzDOBIyzAONswDgHMM4FjPMA43zAuAAwLgSMiwDjYsC4BDAuBYzLAONywLgCMK4EjKsA42rAuAYwrgWM6wDjesC4ATBuBIybAONmwLgFMG4FjNsA43bAuAMw7gSMuwDjbsC4BzDuBYz7AON+wHgAMB4EjIcA42HAeAQwHgWMxwDjccB4AjCeBIynAONpwHgGMJ4FjOcA43nAeAEwXgSMlwDjZcB4BTBeBYzXAON1wHgDMN4EjLcA47uA8T3A+D5g/AAwfggYPwKMHwPGTwDjp4DxM8D4OWD8AjB+CRi/AoxfA8ZvAOO3gPE7wPg9YPwBMP4IGH8CjD8Dxl8A46+A8TfA+Dtg/AMw/gkYbwPGO4DxLmC8BxjvA8YHgPEhYHwEGB8DxieA8SlgfAYYnwPGMFX/+8awgDEcYAwPGCMAxoiAMRJgjAwYowDGqIAxGmCMDhhjAMaYgDEWYIwNGOMAxriAMR5gjA8YEwDGhIAxEWBMDBiTAMakgDEZYEwOGFMAxtcA4+uAMSVgTAUY3wCMbwLGtwDj24AxNWBMAxjTAsZ3AGM6wJgeMGYAjBkBYybAmBkwZgGMWQFjNsCYHTDmAIw5AWMuwJgbMOYBjHkBYz7AmB8wFgCMBQFjIcBYGDAWAYxFAWMxwFgcMJYAjCUBYynAWBowlgGMZQFjOcBYHjBWAIwVAWMlwFgZMFYBjFUBYzXAWB0w1gCMNQFjLcBYGzDWAYx1AWM9wFgfMDYAjA0BYyPA2BgwNgGMTQFjM8DYHDC2AIwtAWMrwNgaMLYBjG0BYzvA2B4wdgCMHQFjJ8DYGTB2AYxdAWM3wNgdMPYAjD0BYy/A2Bsw9gGMfQFjP8DYHzAOAIwDAeMgwDgYMA4BjEMB4zDAOBwwjgCMIwHjKMA4GjCOAYxjAeM4wDgeME4AjBMB4yTAOBkwTgGMUwHjNMA4HTDOAIwzAeMswDgbMM4BjHMB4zzAOB8wLgCMCwHjIsC4GDAuAYxLAeMywLgcMK4AjCsB4yrAuBowrgGMawHjOsC4HjBuAIwbAeMmwLgZMG4BjFsB4zbAuB0w7gCMOwHjLsC4GzDuAYx7AeM+wLgfMB4AjAcB4yHAeBgwHgGMRwHjMcB4HDCeAIwnAeMpwHgaMJ4BjGcB4znAeB4wXgCMFwHjJcB4GTBeAYxXAeO1f8H4bzhvvEJn2Ject6qG+T8P4f4Gz5E1d86crfJkb5UtR7ZmWbPna543V9acuZrnzpstb7ZceXO1zJ43R45WeXPmzZOveb48WfNly5mjVbbWufLlaP3iwl7llZAuzL9zY73qMYd9hWNOj4w53CsccwZkzOFf4ZgzImOO8ArHnOn/pTFn/b87ZMv8Cq+/reGMPzhZwhjOrIgzG+LMjjhzIM6ciDMX4syNOPMgzryIMx/izI84CyDOgoizEOIsjDiLIM6iiLMY4iyOOEsgzpKIsxTiLI04yyDOsoizHOIsjzgrIM6KiLMS4qyMOKsgzqqIsxrirI44ayDOmoizFuKsjTjrIM66iLMe4qyPOBsgzoaIsxHibIw4myDOpoizGeJsjjhbIM6WiLMV4myNONsgzraIsx3ibI84OyDOjoizE+LsjDi7IM6uiLMb4uyOOHsgzp6Isxfi7I04+yDOvoizH+LsjzgHIM6BiHMQ4hyMOIcgzqGIcxjiHI44RyDOkYhzFOIcjTjHIM6xiHMc4hyPOCcgzomIcxLinIw4pyDOqYhzGuKcjjhnIM6ZiHMW4pyNOOcgzrmIcx7inI84FyDOhYhzEeJcjDiXIM6liHMZ4lyOOFcgzpWIcxXiXI041yDOtYhzHeJcjzg3IM6NiHMT4tyMOLcgzq2Icxvi3I44dyDOnYhzF+LcjTj3IM69iHMf4tyPOA8gzoOI8xDiPIw4jyDOo4jzGOI8jjhPIM6TiPMU4jyNOM8gzrOI8xziPI84LyDOi4jzEuK8jDivIM6riPMa4ryOOG8gzpuI8xbifBdxvoc430ecHyDODxHnR4jzY8T5CeL8FHF+hjg/R5xfIM4vEedX/5Iz3Ct2fv3Sef3f7rv3elVjzN+8wjFvC2fcH78NYzi/Q5zfI84fEOePiPMnxPkz4vwFcf6KOH9DnL8jzj8Q55+I8zbivIM47yLOe4jzPuJ8gDgfIs5HiPMx4nyCOJ8izmeI8zniDJ2h4AyLOMMhzvCIMwLijIg4IyHOyIgzCuKMijijIc7oiDMG4oyJOGMhztiIMw7ijIs44yHO+IgzAeJMiDgTIc7EiDMJ4kyKOJMhzuSIMwXifA1xvo44UyLOVIjzDcT5JuJ8C3G+jThTI840iDMt4nwHcaZDnOkRZwbEmRFxZkKcmRFnFsSZFXFmQ5zZEWcOxJkTceZCnLkRZx7EmRdx5kOc+RFnAcRZEHEWQpyFEWcRxFkUcRZDnMURZwnEWRJxlkKcpRFnGcRZFnGWQ5zlEWcFxFkRcVZCnJURZxXEWRVxVkOc1RFnDcRZE3HWQpy1EWcdxFkXcdZDnPURZwPE2RBxNkKcjRFnE8TZFHE2Q5zNEWcLxNkScbZCnK0RZxvE2RZxtkOc7RFnB8TZEXF2QpydEWcXxNkVcXZDnN0RZw/E2RNx9kKcvRFnH8TZF3H2Q5z9EecAxDkQcQ5CnIMR5xDEORRxDkOcwxHnCMQ5EnGOQpyjEecYxDkWcY5DnOMR5wTEORFxTkKckxHnFMQ5FXFOQ5zTEecMxDkTcc5CnLMR5xzEORdxzkOc8xHnAsS5EHEuQpyLEecSxLkUcS5DnMsR5wrEuRJxrkKcqxHnGsS5FnGuQ5zrEecGxLkRcW5CnJsR5xbEuRVxbkOc2xHnDsS5E3HuQpy7EecexLkXce5DnPsR5wHEeRBxHkKchxHnEcR5FHEeQ5zHEecJxHkScZ5CnKcR5xnEeRZxnkOc5xHnBcR5EXFeQpyXEecVxHkVcV5DnNcR5w3EeRNx3kKc7yLO9xDn+4jzA8T5IeL8CHF+jDg/QZyfIs7PEOfniPMLxPkl4vwKcX6NOL9BnN8izu8Q5/eI8wfE+SPi/Alx/ow4f0GcvyLO3xDn74jzD8T5J+K8jTjvIM67iPMe4ryPOB8gzoeI8xHifIw4nyDOp4jzGeJ8jjjDhDOcYRFnOMQZHnFGQJwREWckxBkZcUZBnFERZzTEGR1xxkCcMRFnLMQZG3HGQZxxEWc8xBkfcSZAnAkRZyLEmRhxJkGcSRFnMsSZHHGmQJyvIc7XEWdKxJkKcb6BON9EnG8hzrcRZ2rEmQZxpkWc7yDOdIgzPeLMgDgzIs5MiDMz4szyLznD/c2ZI2vunDlb5cneKluObM2yZs/XPG+urDlzNc+dN1vebLny5mqZPW+OHK3y5sybJ1/zfHmy5suWM0erbK1z5cvR+sV5p36FY876/9KYs/7fHbJlC/fqrr+bVY37Y3bk9yYH4syJOHMhztyIMw/izIs48yHO/IizAOIsiDgLIc7CiLMI4iyKOIshzuKIswTiLIk4SyHO0oizDOIsizjLIc7yiLMC4qyIOCshzsqIswrirIo4qyHO6oizBuKsiThrIc7aiLMO4qyLOOshzvqIswHibIg4GyHOxoizCeJsijibIc7miLMF4myJOFshztaIsw3ibIs42yHO9oizA+LsiDg7Ic7OiLML4uyKOLshzu6Iswfi7Ik4eyHO3oizD+Lsizj7Ic7+iHMA4hyIOAchzsGIcwjiHIo4h/1LznCv2Dn8Jef/7TZXt6oaYx7xCsd8A9nObOQrGHOr1q1z52ieI9+/6RyF/H6PRpxjEOdYxDkOcY5HnBMQ50TEOen/pecd/7d/NyO+wjFPRsYc6RWOeQoy5sivcMxTkTFHeYVjnoaMOeorHPN0ZMzRXuGYZyBjjv4KxzwTGXOMVzjmWciYY77CMc9GxhzrFY55DjLm2K9wzHORMcd5hWOeh4w57isc83xkzPFe4ZgXIGOO/wrHvBAZc4Iwr27Mi5AxJ3yFY16MjDnRKxzzEmTMiV/hmJciY07yCse8DBlz0lc45uXImJO9wjGvQMac/BWOeSUy5hSvcMyrkDG/9grHvBoZ8+uvcMxrkDGnfIVjXouMOdUrHPM6ZMxvvMIxr0fG/OYrHPMGZMxvvcIxb0TG/PYrHPOmVzjm0GfjEV6cV7qXxh/2xXUQ/sX60GfJoc9WQ581hj57C30WFfpsJvRZRei9+9B72aH3dkPvdYbe+wu9FxZ6byj0XknovYPQa+nQa8vQa63Qa4/Qc/HQc9PQc7XQc5fQ3/LQ37bQY32qoNBjQeh3I3RfCV13obna0wSlDXrnJeeocP9rTx+UIShjUKagzEFZQtdRULag7KHbMShnUK6g3EF5gvIGhb5wlT+oQFDBoEJBhYOKvLjdigUVDyoRVDKoVFDpoDJBZYPKBZUPqhBUMahSUOWgKkFVg6oFVQ+qEVQzqFZQ7aA6QXWD6gXVD2oQ1DCoUVDjoCZBTYOaBTUPahHUMqhVUOugNkFtg9oFtQ/qENQxqFNQ56AuQV2DugV1D+oR1DOoV1DvoD5BfYP6BfUPGhA0MGhQ0OCgIUFDg4YFDQ8aETQydL0HjQ4aEzQ2aFzQ+KAJQRODJgVNDpoSNDVoWtD0oBlBM4NmBc0OmhM0N2he0PygBUELgxYFLQ5aErQ0aFnQ8qAVQSuDVgWtDloTtDZoXdD6oA1BG4M2BW0O2hK0NWhb0PagHUE7g3YF7Q7aE7Q3aF/Q/qADQQeDDgUdDjoSdDToWNDxoBNBJ4NOBZ0OOhN0Nuhc0PmgC0EXgy4FXQ66EnQ16FrQ9aAbQTeDbgW9G/Re0PtBHwR9GPRR0MdBnwR9GvRZ0OdBXwR9GfRV0NdB3wR9G/Rd0PdBPwT9GPRT0M9BvwT9GvRb0O9BfwT9GXQ76E7Q3aB7QfeDHgQ9DHoU9DjoSdDToGdBz4NCDwZhg8IFhQ+KEBQxKFJQ5KAoQVGDogVFD4oRFDMoVlDsoDhBcYPiBcUPShCUMChRUOKgJEFJg5IFJQ9KEfRa0OtBKYNSBb0R9GbQW0FvB6UOShOUNuidoHRB6YMyBGUMyhSUOShLUOhBLltQ9qAcQTmDcgXlDsoTlDcoX1D+oAJBBYMKBRUOKhJUNKhYUPGgEkElg0oFlQ4qE1Q2qFxQ+aAKQRWDKgVVDqoSVDWoWlD1oBpBNYNqBdUOqhNUN6heUP2gBkENgxoFNQ5qEtQ0qFlQ86AWQS2DWgW1DmoT1DaoXVD7oA5BHYM6BXUO6hLUNahbUPegHkE9g3oF9Q7qE9Q3qF9Q/6ABQQODBgUNDhoSNDRoWNDwoBFBI4NGBY0OGhM0Nmhc0PigCUETgyYFTQ6aEjQ1aFrQ9KAZQTODZgXNDpoTNDdoXtD8oAVBC4MWBS0OWhK0NGhZ0PKgFUErg1YFrQ5aE7Q2aF3Q+qANQRuDNgVtDtoStDVoW9D2oB1BO4N2Be0O2hO0N2hf0P6gA0EHgw4FHQ46EnQ06FjQ8aATQSeDTgWdDjoTdDboXND5oAtBF4MuBV0OuhJ0Neha0PWgG0E3g24FvRv0XtD7QR8EfRj0UdDHQZ8EfRr0WdDnQV8EfRn0VdDXQd8EfRv0XdD3QT8E/Rj0U9DPQb8E/Rr0W9DvQX8E/Rl0O+hO0N2ge0H3gx4EPQx6FPQ46EnQ06BnQc+DQk8EwgaFCwofFCEoYlCkoMhBUYJC+7gP7T8+tG/20H7PQ/sUD+2vO7Qv7NB+pkP7cA7tHzm07+HQfn1D+8wN7Y82tK/X0H5UQ/soDe3/M7RvzdB+K0P7hAztbzG0L8NUQaF98IX2bxfad1xov2yhfZ6F9icW2ldXaD9YoX1MhfbfFNo3Umi/Q6F9+oT2lxPaF01o3yyh/Z6E9gMS2sdGaP8VoX1DhPa7ENqnQWh/AaG5+EPz3IfmkA/Nzx6a+zw0r/j/zNkdFJprOjSPc2iO5ND8w6G5fUPz5obmpA3N9xqaSzU0T2loDtDQ/JqhuStD80KG5lwMzWcYmiswNA9faI670PxxobnZQvOeheYUC83XFZoLKzTPVGgOp9D8SKG5h0Lz+oTmzGkaFJrrJTSPSmiOktD8H6G5NULzVoTmhAjNtxCayyA0T0BoG/zQ9u2hbcdD22WHtnkObU8c2lY3tB1saBvT0PaboW0jQ9sdhrbpC20vF9oWLbSdV2gbqtD2SaFtf0Lb1YS2WRkaFNrWIrQdQ+h7/aHvuYeed4W+nx367nPoe8Wh7+yGvg8b+q5p6Hucoe9Ihr4zGPoOXeg7ZaHvWIW+cxT6Dk7oOymh72iEvrMQ+gw/9Jl26DPe0Geeoc8AQ5+JhT4jCn1mEvoMIfSeeug95tB7rqH3IEPvyYXeowq9ZxN6DyP0mj70Gjf0mi/0Gij0miD0HDn03PWvQ7yXfk7x4t9mPXu26tS1Z6qeXVI1a9kyVZ92Pdum6tK7VffWHbuEnhb9z/PV/6enSfr/8DRhw//tyFFeOoPQ717oyXfRF//P+n9xyJU7+/98OfL/uICXDpFfupKihPnfFwWv0pA17//3i3sR/4Xzztkq+/+cd+R/wx286Iry0lX3is/7f16ERX1xXhFfnHeUl/7/120S7aXLD/sKx/by5f913n9d1l/LI7z0c9yXjvvX8f46TriXvKFD6IVhpBc/R/v/c7oIfztdrJeOE+ml00X52+n++v9ft3vEl36O+9IZpqr8v+f/8vm9yvtf9JfGH+alywjzN3OYv40rZAr/L5hCt220l67Hrl26lmjWtUevjq3CvnRpf4n/uoZeXvd3/V/H+fsh+kujCffSsr9uifAvLQv3t9FHf2n9X8cP3dNKhPnfaydMmH/h2smbrfXLj4gpw/yfh3AvX3iU/738cC8K+9eyf1gX7sWycP+wLvyLZeH/YV2EF8si/MO6iC+WRfyHdZFeLIv0D+siv1gW+R/WRXmxLMo/rIv6YlnUf1gX7cWyaP+wLvqLZdH/YV2MF8ti/MO6mC+WxfyHdbFeLIv1D+tiv1gW+x/WxXmxLM4/rIv7Ylncf1gX78WyeP+wLv6LZfH/YV2CF8sS/MO6hC+WJfyHdYleLEv0D+sSv1iW+B/WJXmxLMk/rEv6YlnSf1iX7MWyZH9bFyXM//5+/ht/+f+tR7l/7xlLtub/1jOWkPv/1+PmPz1G/vVzhJeWRfjb8UKPn2lf/Bz665fyb8/2/v4s4hWOJWeUF6Z/43oKnV+Ml8b/11vSYV66zAgvHSfji39Dx8n80vEiv3Tcv9YX+of1YV4ax8uHl/96R3vpOo31L407dN6x/53z/p9nnXFeuh4ivHRZL4/t5Wd7r/pZZ5y/nfdflxXnpev7r58LvnTcv47313H+ul3+8sd8UZi/+f9+ush/O12sl44T86XTxf7b6V4+fugQuv6yv/Tzy/epv34FX75OX362/W89nrx8ef/S41fOaC+Nr2Wr5r3aVOzSJszfDi8/5v/1uJb8pfV/2f7nucpL5r+f9uXfxb/OK/nflv31CuTvv7eh6zvO3877VV8fwSvsvC8/n0z7t+fKIVea2v/fn//696/L/z9eOUT533/+lb+Xef/Fv5cv7oN/3aZ/jfPl++XLrwX++vnlv18xXlqftvb/XnehQ9yXlv11G4fug389d2/VqV3PEl069+zerEXPEh2b9ehRq3Orzi269+vas1XL4K758t3i5ReBLx9eftfo5adCfy1P/dLNGvEfTvPX8f9+vi+f7uWbPeLfPC/fFf5aF7r7/n8A5kfOhyEuNQA=","debug_symbols":"5Zdva8IwEMa/S16L5O5yl8SvMsao/4YgVbQOhvS7r7qmdi5QvG0i7JXEPr/knsvTtD2a+WJ6eH1ZlcvN3kyejma9mRXValM2o6MBd/5vvy3K03BfFbvKTOzILMp581uPzHK1XpgJ2VCPvulQyLdSFI6dGtBn1OR9aNUUHA+oI1tu1ZHFdWp0ebW0YrC2J/b188gA/weTcj+TDm1SOxR/R5P+JyYpWkp7E+liMsbz3OEP5465uYGjS17F+i8rNBDaLOQxdROC4EBZ0WESQ0+MzLe2HiFXDQKlDiEEHqhGmmlbtVikfpMykcQYUkuRLOBVTxEfrSDKFoSclkDuLZE2OXsAI1O3klgYciEQkwtxQ+pBG/xwFclvVCQp3OLZXm8DxHH+/ifX3dbS37yYqKih8rf2IAUqCm+mkMaU9RW6kzyg7R3k1FLOqihQUaiiSEU5FcUqSlSUV1FBRamywapssCobrMoGq7LBqmywKhusygarssGqbLAqG6LKhqiyIapsiCobks2G7552ASFH8e2UjCF/zlNIT2JyEi6v6mTr52b0VuxWxXS9OH0Nni4eyln6OGyG1fv280qj/QA="},{"name":"broadcast_unconstrained_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5Zdha8IwEIb/Sz4XSe6Su8S/MmRUraMgVbQOhvS/r3VN7WageNtksE8l7fskveYhac5qXSxPL89ltdkd1fzprLa7VV6Xu6ptnZVxl3vHfV51zWOdH2o115kqqnV7bTK1KbeFmqP2TXaTA0Luo0AuDGkDnEgjs+/T6K2bSAenXZ8OjuyQBptOUx82Wo/C3CwyZeg/FMmPK9KCjmkLxA8s0n+nSAwa49wEvBYZwqXv8Ht9g071bb0L8TN6hk8jdJBJQQ59/JqORwNFCJIQ2ziS84YnaiEyMU1kzZQ6EHwsHVAb+Fo7/rk3sj/xRhQ9JXb6Zhr0LO0q2kETwhEVIhUkVNqvScqIKLifMjOXtMAPK4MHPVoYMFJWRDkRRSKKRZQXUUFCkRZRRkSBiBK5QSI3SOQGidwgkRskcoNEbrDIDRa5wSI3WOQGi9xgkRsscoNFbnDSDR52Ow8mRYX7KTsz6XUefdwl0ZK//vqhbhZt6zU/lPlyW3Sni+7hqVrFw0bbrN/2H0/a7Ds="},{"name":"broadcast_private_function","is_unconstrained":false,"custom_attributes":["aztec(private)"],"abi":{"error_types":{},"parameters":[{"name":"inputs","type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::context::inputs::private_context_inputs::PrivateContextInputs"},"visibility":"private"},{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"},"visibility":"private"},{"name":"artifact_metadata_hash","type":{"kind":"field"},"visibility":"private"},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"},"visibility":"private"},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"private_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"},"visibility":"private"},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"},"visibility":"private"}],"return_type":{"abi_type":{"fields":[{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"min_revertible_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"is_fee_payer","type":{"kind":"boolean"}},{"name":"max_block_number","type":{"fields":[{"name":"_opt","type":{"fields":[{"name":"_is_some","type":{"kind":"boolean"}},{"name":"_value","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"std::option::Option"}}],"kind":"struct","path":"aztec::protocol_types::abis::max_block_number::MaxBlockNumber"}},{"name":"note_hash_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"nullifier_read_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::read_request::ReadRequest"}}},{"name":"key_validation_requests_and_generators","type":{"kind":"array","length":16,"type":{"fields":[{"name":"request","type":{"fields":[{"name":"pk_m","type":{"fields":[{"name":"x","type":{"kind":"field"}},{"name":"y","type":{"kind":"field"}},{"name":"is_infinite","type":{"kind":"boolean"}}],"kind":"struct","path":"std::embedded_curve_ops::EmbeddedCurvePoint"}},{"name":"sk_app","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request::KeyValidationRequest"}},{"name":"sk_app_generator","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator"}}},{"name":"note_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::note_hash::NoteHash"}}},{"name":"nullifiers","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::nullifier::Nullifier"}}},{"name":"private_call_requests","type":{"kind":"array","length":4,"type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::private_call_request::PrivateCallRequest"}}},{"name":"public_call_requests","type":{"kind":"array","length":16,"type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}}},{"name":"public_teardown_call_request","type":{"fields":[{"name":"item","type":{"fields":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"call_context","type":{"fields":[{"name":"msg_sender","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"storage_contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"function_selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"is_delegate_call","type":{"kind":"boolean"}},{"name":"is_static_call","type":{"kind":"boolean"}}],"kind":"struct","path":"aztec::protocol_types::abis::call_context::CallContext"}},{"name":"args_hash","type":{"kind":"field"}},{"name":"returns_hash","type":{"kind":"field"}},{"name":"revert_code","type":{"kind":"integer","sign":"unsigned","width":8}},{"name":"start_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"end_gas_left","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_stack_item_compressed::PublicCallStackItemCompressed"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::public_call_request::PublicCallRequest"}},{"name":"l2_to_l1_msgs","type":{"kind":"array","length":2,"type":{"fields":[{"name":"recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"content","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message"}}},{"name":"start_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"end_side_effect_counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"note_encrypted_logs_hashes","type":{"kind":"array","length":16,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"note_hash_counter","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::NoteLogHash"}}},{"name":"encrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}},{"name":"randomness","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::EncryptedLogHash"}}},{"name":"unencrypted_logs_hashes","type":{"kind":"array","length":4,"type":{"fields":[{"name":"value","type":{"kind":"field"}},{"name":"counter","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"length","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::log_hash::LogHash"}}},{"name":"historical_header","type":{"fields":[{"name":"last_archive","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"content_commitment","type":{"fields":[{"name":"num_txs","type":{"kind":"field"}},{"name":"txs_effects_hash","type":{"kind":"field"}},{"name":"in_hash","type":{"kind":"field"}},{"name":"out_hash","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::content_commitment::ContentCommitment"}},{"name":"state","type":{"fields":[{"name":"l1_to_l2_message_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"partial","type":{"fields":[{"name":"note_hash_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"nullifier_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}},{"name":"public_data_tree","type":{"fields":[{"name":"root","type":{"kind":"field"}},{"name":"next_available_leaf_index","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot"}}],"kind":"struct","path":"aztec::protocol_types::partial_state_reference::PartialStateReference"}}],"kind":"struct","path":"aztec::protocol_types::state_reference::StateReference"}},{"name":"global_variables","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"block_number","type":{"kind":"field"}},{"name":"timestamp","type":{"kind":"integer","sign":"unsigned","width":64}},{"name":"coinbase","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::eth_address::EthAddress"}},{"name":"fee_recipient","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"}},{"name":"gas_fees","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}}],"kind":"struct","path":"aztec::protocol_types::abis::global_variables::GlobalVariables"}},{"name":"total_fees","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::header::Header"}},{"name":"tx_context","type":{"fields":[{"name":"chain_id","type":{"kind":"field"}},{"name":"version","type":{"kind":"field"}},{"name":"gas_settings","type":{"fields":[{"name":"gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"teardown_gas_limits","type":{"fields":[{"name":"da_gas","type":{"kind":"integer","sign":"unsigned","width":32}},{"name":"l2_gas","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::gas::Gas"}},{"name":"max_fees_per_gas","type":{"fields":[{"name":"fee_per_da_gas","type":{"kind":"field"}},{"name":"fee_per_l2_gas","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_fees::GasFees"}},{"name":"inclusion_fee","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::abis::gas_settings::GasSettings"}}],"kind":"struct","path":"aztec::protocol_types::transaction::tx_context::TxContext"}}],"kind":"struct","path":"aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs"},"visibility":"public"}},"bytecode":"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","debug_symbols":"5ZfRasIwFIbfJddFcs5JThJfZcioWkdBqmgdDOm7r92aWmdAPNtE8Epi/y/2N1/T9qiWxfzw9lpWq81eTV+Oar1Z5HW5qdrRUYH9+m6/zatuuK/zXa2mOlNFtWw/m0ytynWhpqR9k13kkMn1UWQbhjSgS6TJOd+nyRt7JR2stn06WDZDGk06zX0YtB6FXTPLFPAzlHTPUNLfr6RBHdMG2d2xZPhNSQqa4toEOpUMoZsb9T/ODam5CREig2TOfqGDMAn5QbCz/z5ClIIMumHBaGRlugszhD7NbOCaOhh8rI6kAX92Nw93RvYvzoijp+ysvlgGmKQvSDKDJkwjKkQqSKi0u1cpEFF4O4UTk9yD/bAzeNSjjYEi5UVUkFBWiygQUSiiSEQZEWVFFIsokRtW5IYVucEiN1jkBovcYJEbLHKDRW6wyA0WucEiN1jkhhO54URuuKQbbrjbeYQURbdTdgLpfZ58vBOTYX969CPdzNrRe74r8/m66F6huoOHahHfqNph/bH9PtJmPwE="},{"name":"compute_note_hash_and_optionally_a_nullifier","is_unconstrained":true,"custom_attributes":[],"abi":{"error_types":{},"parameters":[{"name":"contract_address","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::address::aztec_address::AztecAddress"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"note_type_id","type":{"kind":"field"},"visibility":"private"},{"name":"compute_nullifier","type":{"kind":"boolean"},"visibility":"private"},{"name":"serialized_note","type":{"kind":"array","length":0,"type":{"kind":"field"}},"visibility":"private"}],"return_type":{"abi_type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"public"}},"bytecode":"H4sIAAAAAAAA/+2b0W7aMBSGHRq6tGlTSAiBQgt0baXdpazt6N1eZnvuXU/aOwwHH/HXdZDRjmcsEQnFie3zf/6PbdIqRGJzJOtPpMpddT4VHw9q812d6387nhhj1S45o0A4O4FwngTCGTNyRgZOeY5VWa47ueY+ic16/FCJnWWiT6Be7AqkqyaqkGh1bKNd1W+nIIDwQsHHqo7Okfqkqh4BUzXYph3cowF34B5pncA92slIK1HmOBj3S7LF5o29no1yLGcqFvGnUMa6KVgYOxxr181Yn53laO2jwxw1q5zy0FWxE7imnJyDPuO3yxPqU+xzbX7EUJ5AW2pHbTrAK49LsV1L5zv6xVq/DNqcQr9E60fXlHfpV1+V5bmbbNtSfEc+1jJ26ib2uxzFmocpjC0Dfb45ulxJjQvx/oi0a/xiyYDp0gnTZk26Ge8ml1cQm+8p6eVZxutpvl1ovmXQ5gq87DnyMgJtYqLrXos+nyevKxmvb+FJ38DU9+BJv0Wf0ZM3GS+38CQ3MOUePMlb9Pk8+fZVxissPCkMTIUHT4oWfT5Pls3zw8DCk4GBaeDBk0GLPuPaaeZJaeFJaWAqPXhStugzevJTxhtaeDI0MA09eDJs0Wf05IeMV1l4UhmYKg+eVC36jHts83wysvBkZGAaefBk1KLP6MlSxhtbeDI2MI09eDJu0WdcO43+tYUn1wamaw+eoOY+3INAuatAuYsD4db1GddOs8dOLDyZGJgmHjxBzX24ywPh1vUZc/ki400tPJkamKYePEHNfbjzQLmLQLmHgXKXgXJXgXIfyvzW9Rmfv5s99sbCkxsD040HT1BzH+48UO5JoNzFgXDr+oxrp/n/4K2FJ7cGplsPnqDmPtyjQLn7B8Kt6zPOwVcZb2bhyczANPPgCWruwz0OlLsKlHsSKHcRKPcwUO4yUO7juvy/3PmBcMt79L7PH+dMy7dUYyINoXEKjTOFcgacc4jRZeOsa8zVHPQWTnzZ5EqfP3S9cK6/XMnYnx2NTca+dxO7+ZvjQcWidxrvDb49gn7EnLcHLTZpPUAuqfwb2lI7akP7BfHL99nuVPlxR7+Z1i+DNnfQ717rR9eUd+nfL1V2Odds5npPbNf5F2BytFc+4/vLAjSExknHDJjmbpieHI63xncaheBdjwvNszPNswza4F7uc289ch+5bbjxOeQM7lH9HO51tPHgb0UWEOMv7Ab1lOo2AAA=","debug_symbols":"ndpRattAGIXRveg5FN/f0swoWymlOIlTDMEJsVMoJnuv3dIF9LxpJN237+kwl+lp//Dx4/vh+Px6mu6/XqaX18fd+fB6vJ4u0+ZLjT9vT2+74+3F6bx7P0/329bvpv3x6frU6/Nuej687K/Pm/H57e42WmG03cgoMioZbWU0y2iRUZNRl5EUsZUiZililiJmKWKWImYpYpYiZililiJmKWKWIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSKaFNGkiCZFNCmiSRFNimhSRJMimhTRpIguRXQpoksRXYroUkSXIroU0aWILkV0KWJIEUOKGFLEkCKGFDGkiCFFDCliSBFDililiFWKWKWIVYpYpYhVililiFWKWKWIVYrIZkOr0KpotaXVTKuFVo1WnVaDVtRGqI1QG6E2Qm2E2gi1EWoj1EaojVAbRW0UtVHURlEbRW0UtVHURlEbBJoh0QyRZsg0Q6gZUs0Qa4ZcMwSbIdkM0WbINkO4GdLNEG+GfDMEnCHhDBFnyDhDyBlSzhBzhpwzBJ0h6QxRZ8g6Q9gZ0s4Qd4a8MwSeIfEMkWfIPEPoGVLPEHuG3DMEnyH5DNFnyD5D+BnSzxB/hvwzBKAhAQ0RaMhAQwgaUtAQg4YcNAShIQkNUWjIQkMYGtLQEIeGPDQEoiERDZFoyERDKBpS0RCLhly0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctMhFi1y0yEWLXLTIRYtctOyiJ7lokYsWuWiRixa5aJGLFrlo/beLXk8/d++H3cPL/na39/bx4/j476rv9Xj+9fb3y/Xf3w=="}],"outputs":{"globals":{},"structs":{"functions":[{"fields":[{"name":"parameters","type":{"fields":[{"name":"artifact_hash","type":{"kind":"field"}},{"name":"private_functions_root","type":{"kind":"field"}},{"name":"public_bytecode_commitment","type":{"kind":"field"}}],"kind":"struct","path":"ContractClassRegisterer::register_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::register_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"private_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::unconstrained_function_broadcasted::InnerUnconstrainedFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_unconstrained_function_abi"},{"fields":[{"name":"parameters","type":{"fields":[{"name":"contract_class_id","type":{"fields":[{"name":"inner","type":{"kind":"field"}}],"kind":"struct","path":"aztec::protocol_types::contract_class_id::ContractClassId"}},{"name":"artifact_metadata_hash","type":{"kind":"field"}},{"name":"unconstrained_functions_artifact_tree_root","type":{"kind":"field"}},{"name":"private_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"private_function_tree_leaf_index","type":{"kind":"field"}},{"name":"artifact_function_tree_sibling_path","type":{"kind":"array","length":5,"type":{"kind":"field"}}},{"name":"artifact_function_tree_leaf_index","type":{"kind":"field"}},{"name":"function_data","type":{"fields":[{"name":"selector","type":{"fields":[{"name":"inner","type":{"kind":"integer","sign":"unsigned","width":32}}],"kind":"struct","path":"aztec::protocol_types::abis::function_selector::FunctionSelector"}},{"name":"metadata_hash","type":{"kind":"field"}},{"name":"vk_hash","type":{"kind":"field"}}],"kind":"struct","path":"events::private_function_broadcasted::InnerPrivateFunction"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_parameters"}}],"kind":"struct","path":"ContractClassRegisterer::broadcast_private_function_abi"}]}},"file_map":{"127":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr","source":"use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__SECRET_HASH, GENERATOR_INDEX__MESSAGE_NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH, MAX_ARGS_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, compute_siloed_nullifier, sha256_to_field}\n};\nuse crate::oracle::logs_traits::{LensForEncryptedLog, ToBytesForUnencryptedLog};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\n}\n\npub fn compute_unencrypted_log_hash<T, let N: u32, let M: u32>(\n contract_address: AztecAddress,\n log: T\n) -> Field where T: ToBytesForUnencryptedLog<N, M> {\n let message_bytes: [u8; N] = log.to_be_bytes_arr();\n // can't use N - not in scope error\n let n = message_bytes.len();\n let mut hash_bytes = [0; M];\n // Address is converted to 32 bytes in ts\n let address_bytes = contract_address.to_be_bytes_arr();\n for i in 0..32 {\n hash_bytes[i] = address_bytes[i];\n }\n let len_bytes = (n as Field).to_be_bytes(4);\n for i in 0..4 {\n hash_bytes[32 + i] = len_bytes[i];\n }\n for i in 0..n {\n hash_bytes[36 + i] = message_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\npub fn compute_message_hash(\n sender: EthAddress,\n chain_id: Field,\n recipient: AztecAddress,\n version: Field,\n content: Field,\n secret_hash: Field\n) -> Field {\n let mut hash_bytes = [0 as u8; 192];\n let sender_bytes = sender.to_field().to_be_bytes(32);\n let chain_id_bytes = chain_id.to_be_bytes(32);\n let recipient_bytes = recipient.to_field().to_be_bytes(32);\n let version_bytes = version.to_be_bytes(32);\n let content_bytes = content.to_be_bytes(32);\n let secret_hash_bytes = secret_hash.to_be_bytes(32);\n\n for i in 0..32 {\n hash_bytes[i] = sender_bytes[i];\n hash_bytes[i + 32] = chain_id_bytes[i];\n hash_bytes[i + 64] = recipient_bytes[i];\n hash_bytes[i + 96] = version_bytes[i];\n hash_bytes[i + 128] = content_bytes[i];\n hash_bytes[i + 160] = secret_hash_bytes[i];\n }\n\n sha256_to_field(hash_bytes)\n}\n\n// The nullifier of a l1 to l2 message is the hash of the message salted with the secret and index of the message hash\n// in the L1 to L2 message tree\npub fn compute_message_nullifier(message_hash: Field, secret: Field, leaf_index: Field) -> Field {\n pedersen_hash(\n [message_hash, secret, leaf_index],\n GENERATOR_INDEX__MESSAGE_NULLIFIER\n )\n}\n\nstruct ArgsHasher {\n fields: [Field],\n}\n\nimpl Hash for ArgsHasher {\n fn hash(self) -> Field {\n hash_args(self.fields)\n }\n}\n\nimpl ArgsHasher {\n pub fn new() -> Self {\n Self { fields: [] }\n }\n\n pub fn add(&mut self, field: Field) {\n self.fields = self.fields.push_back(field);\n }\n\n pub fn add_multiple<let N: u32>(&mut self, fields: [Field; N]) {\n for i in 0..N {\n self.fields = self.fields.push_back(fields[i]);\n }\n }\n}\n\npub fn hash_args_array<let N: u32>(args: [Field; N]) -> Field {\n hash_args(args.as_slice())\n}\n\npub fn hash_args(args: [Field]) -> Field {\n if args.len() == 0 {\n 0\n } else {\n assert(args.len() <= MAX_ARGS_LENGTH, \"Args length exceeds maximum\");\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\n let mut current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n\n let mut current_chunk_index = 0;\n let mut index_inside_current_chunk = 0;\n for i in 0..args.len() {\n current_chunk_values[index_inside_current_chunk] = args[i];\n index_inside_current_chunk+=1;\n if index_inside_current_chunk == ARGS_HASH_CHUNK_LENGTH {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n current_chunk_values = [0; ARGS_HASH_CHUNK_LENGTH];\n current_chunk_index+=1;\n index_inside_current_chunk = 0;\n }\n }\n if index_inside_current_chunk > 0 {\n chunks_hashes[current_chunk_index] = pedersen_hash(current_chunk_values, GENERATOR_INDEX__FUNCTION_ARGS);\n }\n pedersen_hash(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)\n }\n}\n\n#[test]\nfn compute_var_args_hash() {\n let mut input = ArgsHasher::new();\n for i in 0..MAX_ARGS_LENGTH {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x11e40f2a780822f7971803048c9a2100579de352e7dadd99981760964da65b57);\n}\n\n#[test]\nfn compute_unenc_log_hash_array() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = [\n 0x20660de09f35f876e3e69d227b2a35166ad05f09d82d06366ec9b6f65a51fec2,\n 0x1b52bfe3b8689761916f76dc3d38aa8810860db325cd39ca611eed980091f01c,\n 0x2e559c4045c378a56ad13b9edb1e8de4e7ad3b3aa35cc7ba9ec77f7a68fa43a4,\n 0x25d0f689c4a4178a29d59306f2675824d19be6d25e44fa03b03f49c263053dd2,\n 0x2d513a722d6f352dc0961f156afdc5e31495b9f0e35cb069261a8e55e2df67fd\n ];\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0095b2d17ab72f4b27a341f7ac63e49ec73935ae8c9181a0ac02023eb12f3284);\n}\n\n#[test]\nfn compute_unenc_log_hash_addr() {\n let contract_address = AztecAddress::from_field(0x233a3e0df23b2b15b324194cb4a151f26c0b7333250781d34cc269d85dc334c6);\n let log = AztecAddress::from_field(0x26aa302d4715fd8a687453cb26d616b0768027bd54bcae56b09d908ecd9f8303);\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0083ab647dfb26e7ddee90a0f4209d049d4660cab42000c544b986aaa84c55a3);\n}\n\n#[test]\nfn compute_unenc_log_hash_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"dummy\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x00629e88ebd6374f44aa6cfe07e251ecf07213ebc7267e8f6b578ae57ffd6c20);\n}\n\n#[test]\nfn compute_unenc_log_hash_longer_str() {\n let contract_address = AztecAddress::from_field(0x1b401e1146c5c507962287065c81f0ef7590adae3802c533d7549d6bf0a41bd8);\n let log = \"Hello this is a string\";\n let hash = compute_unencrypted_log_hash(contract_address, log);\n assert(hash == 0x0098637962f7d34fa202b7ffad8a07a238c5d1fd897b82a108f7f467fa73b841);\n}\n"},"130":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/oracle/logs.nr","source":"use dep::protocol_types::{address::AztecAddress, point::Point};\n\n// = 480 + 32 * N bytes\n#[oracle(emitEncryptedNoteLog)]\nunconstrained fn emit_encrypted_note_log_oracle<let M: u32>(_note_hash_counter: u32, _encrypted_note: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_note_log<let M: u32>(\n note_hash_counter: u32,\n encrypted_note: [u8; M],\n counter: u32\n) {\n emit_encrypted_note_log_oracle(note_hash_counter, encrypted_note, counter)\n}\n\n#[oracle(emitEncryptedEventLog)]\nunconstrained fn emit_encrypted_event_log_oracle<let M: u32>(_contract_address: AztecAddress, _randomness: Field, _encrypted_event: [u8; M], _counter: u32) {}\n\nunconstrained pub fn emit_encrypted_event_log<let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n encrypted_event: [u8; M],\n counter: u32\n) {\n emit_encrypted_event_log_oracle(contract_address, randomness, encrypted_event, counter)\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedNoteLog)]\nunconstrained fn compute_encrypted_note_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _storage_slot: Field,\n _note_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_note_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n storage_slot: Field,\n note_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_note_log_oracle(\n contract_address,\n storage_slot,\n note_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n// = 480 + 32 * N bytes\n#[oracle(computeEncryptedEventLog)]\nunconstrained fn compute_encrypted_event_log_oracle<let N: u32, let M: u32>(\n _contract_address: AztecAddress,\n _randomness: Field,\n _event_type_id: Field,\n _ovsk_app: Field,\n _ovpk_m: Point,\n _ivpk_m: Point,\n _recipient: AztecAddress,\n _preimage: [Field; N]\n) -> [u8; M] {}\n\nunconstrained pub fn compute_encrypted_event_log<let N: u32, let M: u32>(\n contract_address: AztecAddress,\n randomness: Field,\n event_type_id: Field,\n ovsk_app: Field,\n ovpk_m: Point,\n ivpk_m: Point,\n recipient: AztecAddress,\n preimage: [Field; N]\n) -> [u8; M] {\n compute_encrypted_event_log_oracle(\n contract_address,\n randomness,\n event_type_id,\n ovsk_app,\n ovpk_m,\n ivpk_m,\n recipient,\n preimage\n )\n}\n\n#[oracle(emitUnencryptedLog)]\nunconstrained fn emit_unencrypted_log_oracle_private<T>(_contract_address: AztecAddress, _message: T, _counter: u32) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n message: T,\n counter: u32\n) -> Field {\n emit_unencrypted_log_oracle_private(contract_address, message, counter)\n}\n\n#[oracle(emitContractClassUnencryptedLog)]\nunconstrained fn emit_contract_class_unencrypted_log_private<let N: u32>(\n contract_address: AztecAddress,\n message: [Field; N],\n counter: u32\n) -> Field {}\n\nunconstrained pub fn emit_contract_class_unencrypted_log_private_internal<let N: u32>(contract_address: AztecAddress, message: [Field; N], counter: u32) -> Field {\n emit_contract_class_unencrypted_log_private(contract_address, message, counter)\n}\n"},"243":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr","source":"// Utility function to console.log data in the acir simulator\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n\n#[oracle(debugLog)]\nunconstrained fn debug_log_oracle<let M: u32>(_msg: str<M>, args: [Field]) {}\n\n/// NOTE: call this with a str<N> msg of form\n/// \"some string with {0} and {1} ... {N}\"\n/// and an array of N field which will be formatted\n/// into the string in the simulator.\n/// Example:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\nunconstrained pub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n debug_log_oracle(msg, args.as_slice());\n}\n\n/// NOTE: call this with a str<N> msg of length > 1\n/// Example:\n/// `debug_log(\"blah blah this is a debug string\");`\nunconstrained pub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n"},"247":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr","source":"use crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector, log_hash::{LogHash, ScopedLogHash, ScopedEncryptedLogHash},\n note_hash::ScopedNoteHash, nullifier::ScopedNullifier\n},\n address::{AztecAddress, EthAddress},\n constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__NOTE_HASH_NONCE, GENERATOR_INDEX__UNIQUE_NOTE_HASH,\n MAX_ENCRYPTED_LOGS_PER_TX, MAX_NOTE_ENCRYPTED_LOGS_PER_TX\n},\n merkle_tree::root::root_from_sibling_path, messaging::l2_to_l1_message::ScopedL2ToL1Message,\n recursion::verification_key::VerificationKey, traits::is_empty,\n utils::field::field_from_bytes_32_trunc\n};\nuse std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT]\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(function_leaf, function_leaf_index, function_leaf_sibling_path)\n}\n\nfn compute_note_hash_nonce(tx_hash: Field, note_index_in_tx: u32) -> Field {\n // Hashing tx hash with note index in tx is guaranteed to be unique\n pedersen_hash(\n [\n tx_hash,\n note_index_in_tx as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_note_hash(nonce: Field, inner_note_hash: Field) -> Field {\n let inputs = [nonce, inner_note_hash];\n pedersen_hash(inputs, GENERATOR_INDEX__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, unique_note_hash: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n unique_note_hash\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_note_hash(note_hash: ScopedNoteHash, tx_hash: Field, note_index_in_tx: u32) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n let nonce = compute_note_hash_nonce(tx_hash, note_index_in_tx);\n let unique_note_hash = compute_unique_note_hash(nonce, note_hash.value());\n compute_siloed_note_hash(note_hash.contract_address, unique_note_hash)\n }\n}\n\npub fn compute_siloed_nullifier(app: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n app.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\n )\n}\n\npub fn silo_nullifier(nullifier: ScopedNullifier) -> Field {\n if nullifier.contract_address.is_zero() {\n nullifier.value() // Return value instead of 0 because the first nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, nullifier.value())\n }\n}\n\npub fn compute_siloed_encrypted_log_hash(address: AztecAddress, randomness: Field, log_hash: Field) -> Field {\n // TODO: Using 0 GENERATOR_INDEX here as interim before we move to posiedon\n // NB: A unique separator will be needed for masked_contract_address\n let mut masked_contract_address = pedersen_hash([address.to_field(), randomness], 0);\n if randomness == 0 {\n // In some cases, we actually want to reveal the contract address we are siloing with:\n // e.g. 'handshaking' contract w/ known address\n // An app providing randomness = 0 signals to not mask the address.\n masked_contract_address = address.to_field();\n }\n accumulate_sha256([masked_contract_address, log_hash])\n}\n\npub fn silo_encrypted_log_hash(log_hash: ScopedEncryptedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_encrypted_log_hash(\n log_hash.contract_address,\n log_hash.log_hash.randomness,\n log_hash.log_hash.value\n )\n }\n}\n\nfn compute_siloed_unencrypted_log_hash(address: AztecAddress, log_hash: Field) -> Field {\n accumulate_sha256([address.to_field(), log_hash])\n}\n\npub fn silo_unencrypted_log_hash(log_hash: ScopedLogHash) -> Field {\n if log_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_unencrypted_log_hash(log_hash.contract_address, log_hash.value())\n }\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n pedersen_hash([left, right], 0)\n}\n\npub fn stdlib_recursion_verification_key_compress_native_vk(_vk: VerificationKey) -> Field {\n // Original cpp code\n // stdlib::recursion::verification_key<CT::bn254>::compress_native(private_call.vk, GeneratorIndex::VK);\n // The above cpp method is only ever called on verification key, so it has been special cased here\n let _hash_index = GENERATOR_INDEX__VK;\n 0\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [contract_address.to_field(), rollup_version_id, recipient.to_field(), chain_id, content];\n for i in 0..inputs.len() {\n // TODO are bytes be in fr.to_buffer() ?\n let item_bytes = inputs[i].to_be_bytes(32);\n for j in 0..32 {\n bytes.push(item_bytes[j]);\n }\n }\n\n sha256_to_field(bytes.storage)\n}\n\npub fn silo_l2_to_l1_message(msg: ScopedL2ToL1Message, rollup_version_id: Field, chain_id: Field) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.message.recipient,\n msg.message.content,\n rollup_version_id,\n chain_id\n )\n }\n}\n\n// Computes sha256 hash of 2 input hashes.\n//\n// NB: This method now takes in two 31 byte fields - it assumes that any input\n// is the result of a sha_to_field hash and => is truncated\n//\n// TODO(Jan and David): This is used for the encrypted_log hashes.\n// Can we check to see if we can just use hash_to_field or pedersen_compress here?\n//\npub fn accumulate_sha256(input: [Field; 2]) -> Field {\n // This is a note about the cpp code, since it takes an array of Fields\n // instead of a U128.\n // 4 Field elements when converted to bytes will usually\n // occupy 4 * 32 = 128 bytes.\n // However, this function is making the assumption that each Field\n // only occupies 128 bits.\n //\n // TODO(David): This does not seem to be getting guaranteed anywhere in the code?\n\n // Concatentate two fields into 32x2 = 64 bytes\n // accumulate_sha256 assumes that the inputs are pre-truncated 31 byte numbers\n let mut hash_input_flattened = [0; 64];\n for offset in 0..input.len() {\n let input_as_bytes = input[offset].to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n\n sha256_to_field(hash_input_flattened)\n}\n\n// Computes the final logs hash for a tx.\n// NB: this assumes MAX_ENCRYPTED_LOGS_PER_TX == MAX_UNENCRYPTED_LOGS_PER_TX\n// to avoid doubling code, since we can't define the byte len to be 32*N directly.\npub fn compute_tx_logs_hash(logs: [LogHash; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn compute_tx_note_logs_hash(logs: [LogHash; MAX_NOTE_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n let mut hash_input_flattened = [0; MAX_NOTE_ENCRYPTED_LOGS_PER_TX * 32];\n for offset in 0..MAX_NOTE_ENCRYPTED_LOGS_PER_TX {\n let input_as_bytes = logs[offset].value.to_be_bytes(32);\n for byte_index in 0..32 {\n hash_input_flattened[offset * 32 + byte_index] = input_as_bytes[byte_index];\n }\n }\n // Ideally we would push to a slice then hash, but there is no sha_slice\n // Hardcode to 256 bytes for now\n let mut hash = sha256_to_field(hash_input_flattened);\n // Not having a 0 value hash for empty logs causes issues with empty txs\n // used for padding. Returning early is currently unsupported.\n // We always provide sorted logs here, so 0 being empty means all are empty.\n if is_empty(logs[0]) {\n hash = 0;\n }\n hash\n}\n\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n std::hash::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,\n 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,\n 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,\n 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,\n 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,\n 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,\n 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), EthAddress::from_field(3), 5, 2, 4);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n"},"255":{"path":"/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/contract_class_id.nr","source":"use crate::constants::GENERATOR_INDEX__CONTRACT_LEAF;\nuse crate::traits::{ToField, FromField, Hash, Serialize, Deserialize};\n\nstruct ContractClassId {\n inner: Field\n}\n\nimpl Eq for ContractClassId {\n fn eq(self, other: ContractClassId) -> bool {\n other.inner == self.inner\n }\n}\n\nimpl ToField for ContractClassId {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for ContractClassId {\n fn from_field(value: Field) -> Self {\n Self { inner: value }\n }\n}\n\nimpl Serialize<1> for ContractClassId {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner]\n }\n}\n\nimpl Deserialize<1> for ContractClassId {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self { inner: fields[0] }\n }\n}\n\nimpl ContractClassId {\n pub fn compute(\n artifact_hash: Field,\n private_functions_root: Field,\n public_bytecode_commitment: Field\n ) -> Self {\n let hash = std::hash::pedersen_hash_with_separator(\n [\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ],\n GENERATOR_INDEX__CONTRACT_LEAF\n ); // TODO(@spalladino): Update generator index\n\n ContractClassId::from_field(hash)\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n}\n"},"27":{"path":"std/hash/mod.nr","source":"mod poseidon;\nmod mimc;\nmod poseidon2;\nmod keccak;\n\nuse crate::default::Default;\nuse crate::uint128::U128;\nuse crate::sha256::{digest, sha256_var};\nuse crate::collections::vec::Vec;\nuse crate::embedded_curve_ops::{EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_slice};\n\n#[foreign(sha256)]\n// docs:start:sha256\npub fn sha256<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:sha256\n{}\n\n#[foreign(blake2s)]\n// docs:start:blake2s\npub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake2s\n{}\n\n#[foreign(blake3)]\n// docs:start:blake3\npub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]\n// docs:end:blake3\n{}\n\n// docs:start:pedersen_commitment\npub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {\n // docs:end:pedersen_commitment\n pedersen_commitment_with_separator(input, 0)\n}\n\npub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {\n __pedersen_hash_with_separator(input, separator)\n}\n\nfn pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let value = __pedersen_commitment_with_separator(input, separator);\n if (value[0] == 0) & (value[1] == 0) {\n EmbeddedCurvePoint { x: 0, y: 0, is_infinite: true }\n } else {\n EmbeddedCurvePoint { x: value[0], y: value[1], is_infinite: false }\n }\n}\n\nfn pedersen_commitment_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> EmbeddedCurvePoint {\n let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];\n for i in 0..N {\n // we use the unsafe version because the multi_scalar_mul will constraint the scalars.\n points[i] = from_field_unsafe(input[i]);\n }\n let generators = derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n multi_scalar_mul(generators, points)\n}\n\nfn pedersen_hash_with_separator_noir<let N: u32>(input: [Field; N], separator: u32) -> Field {\n let mut scalars: Vec<EmbeddedCurveScalar> = Vec::from_slice([EmbeddedCurveScalar { lo: 0, hi: 0 }; N].as_slice()); //Vec::new();\n\n for i in 0..N {\n scalars.set(i, from_field_unsafe(input[i]));\n }\n scalars.push(EmbeddedCurveScalar { lo: N as Field, hi: 0 });\n let domain_generators :[EmbeddedCurvePoint; N]= derive_generators(\"DEFAULT_DOMAIN_SEPARATOR\".as_bytes(), separator);\n let mut vec_generators = Vec::from_slice(domain_generators.as_slice());\n let length_generator : [EmbeddedCurvePoint; 1] = derive_generators(\"pedersen_hash_length\".as_bytes(), 0);\n vec_generators.push(length_generator[0]);\n multi_scalar_mul_slice(vec_generators.slice, scalars.slice)[0]\n}\n\n// docs:start:pedersen_hash\npub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field\n// docs:end:pedersen_hash\n{\n __pedersen_hash_with_separator(input, 0)\n}\n\n#[foreign(pedersen_hash)]\nfn __pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {}\n\n#[foreign(pedersen_commitment)]\nfn __pedersen_commitment_with_separator<let N: u32>(input: [Field; N], separator: u32) -> [Field; 2] {}\n\n#[field(bn254)]\nfn derive_generators<let N: u32, let M: u32>(domain_separator_bytes: [u8; M], starting_index: u32) -> [EmbeddedCurvePoint; N] {\n crate::assert_constant(domain_separator_bytes);\n crate::assert_constant(starting_index);\n __derive_generators(domain_separator_bytes, starting_index)\n}\n\n#[builtin(derive_pedersen_generators)]\n#[field(bn254)]\nfn __derive_generators<let N: u32, let M: u32>(\n domain_separator_bytes: [u8; M],\n starting_index: u32\n) -> [EmbeddedCurvePoint; N] {}\n\n#[field(bn254)]\n // Same as from_field but:\n // does not assert the limbs are 128 bits\n // does not assert the decomposition does not overflow the EmbeddedCurveScalar\n fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {\n let (xlo, xhi) = crate::field::bn254::decompose_hint(scalar);\n // Check that the decomposition is correct\n assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);\n EmbeddedCurveScalar { lo: xlo, hi: xhi }\n}\n\npub fn hash_to_field(inputs: [Field]) -> Field {\n let mut sum = 0;\n\n for input in inputs {\n let input_bytes: [u8; 32] = input.to_le_bytes(32).as_array();\n sum += crate::field::bytes32_to_field(blake2s(input_bytes));\n }\n\n sum\n}\n\n// docs:start:keccak256\npub fn keccak256<let N: u32>(input: [u8; N], message_size: u32) -> [u8; 32]\n// docs:end:keccak256\n{\n crate::hash::keccak::keccak256(input, message_size)\n}\n\n#[foreign(poseidon2_permutation)]\npub fn poseidon2_permutation<let N: u32>(_input: [Field; N], _state_length: u32) -> [Field; N] {}\n\n#[foreign(sha256_compression)]\npub fn sha256_compression(_input: [u32; 16], _state: [u32; 8]) -> [u32; 8] {}\n\n// Generic hashing support. \n// Partially ported and impacted by rust.\n\n// Hash trait shall be implemented per type.\ntrait Hash{\n fn hash<H>(self, state: &mut H) where H: Hasher;\n}\n\n// Hasher trait shall be implemented by algorithms to provide hash-agnostic means.\n// TODO: consider making the types generic here ([u8], [Field], etc.)\ntrait Hasher{\n fn finish(self) -> Field;\n \n fn write(&mut self, input: Field);\n}\n\n// BuildHasher is a factory trait, responsible for production of specific Hasher.\ntrait BuildHasher<H> where H: Hasher{\n fn build_hasher(self) -> H;\n}\n\nstruct BuildHasherDefault<H>;\n\nimpl<H> BuildHasher<H> for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn build_hasher(_self: Self) -> H{\n H::default()\n }\n}\n\nimpl<H> Default for BuildHasherDefault<H>\nwhere \n H: Hasher + Default\n{\n fn default() -> Self{\n BuildHasherDefault{}\n } \n}\n\nimpl Hash for Field {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self);\n }\n}\n\nimpl Hash for u8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for u64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i8 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i32 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for i64 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for bool {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self as Field);\n }\n}\n\nimpl Hash for () {\n fn hash<H>(_self: Self, _state: &mut H) where H: Hasher {}\n}\n\nimpl Hash for U128 {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n H::write(state, self.lo as Field);\n H::write(state, self.hi as Field);\n }\n}\n\nimpl<T, let N: u32> Hash for [T; N] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<T> Hash for [T] where T: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.len().hash(state);\n for elem in self {\n elem.hash(state);\n }\n }\n}\n\nimpl<A, B> Hash for (A, B) where A: Hash, B: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n }\n}\n\nimpl<A, B, C> Hash for (A, B, C) where A: Hash, B: Hash, C: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n }\n}\n\nimpl<A, B, C, D> Hash for (A, B, C, D) where A: Hash, B: Hash, C: Hash, D: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n }\n}\n\nimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where A: Hash, B: Hash, C: Hash, D: Hash, E: Hash {\n fn hash<H>(self, state: &mut H) where H: Hasher{\n self.0.hash(state);\n self.1.hash(state);\n self.2.hash(state);\n self.3.hash(state);\n self.4.hash(state);\n }\n}\n\n// Some test vectors for Pedersen hash and Pedersen Commitment.\n// They have been generated using the same functions so the tests are for now useless\n// but they will be useful when we switch to Noir implementation.\n#[test]\nfn assert_pedersen() {\n assert_eq(\n pedersen_hash_with_separator([1], 1), 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f\n );\n assert_eq(\n pedersen_commitment_with_separator([1], 1), EmbeddedCurvePoint {\n x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,\n y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,\n is_infinite: false\n }\n );\n\n assert_eq(\n pedersen_hash_with_separator([1, 2], 2), 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2], 2), EmbeddedCurvePoint {\n x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,\n y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3], 3), 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3], 3), EmbeddedCurvePoint {\n x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,\n y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4], 4), 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4], 4), EmbeddedCurvePoint {\n x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,\n y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5], 5), 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5), EmbeddedCurvePoint {\n x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,\n y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6), 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6), EmbeddedCurvePoint {\n x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,\n y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7), 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7), EmbeddedCurvePoint {\n x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,\n y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8), EmbeddedCurvePoint {\n x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,\n y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9), EmbeddedCurvePoint {\n x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,\n y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,\n is_infinite: false\n }\n );\n assert_eq(\n pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94\n );\n assert_eq(\n pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10), EmbeddedCurvePoint {\n x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,\n y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,\n is_infinite: false\n }\n );\n}\n\n"},"308":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/main.nr","source":"mod events;\nmod capsule;\n\ncontract ContractClassRegisterer {\n use dep::aztec::prelude::{AztecAddress, EthAddress, FunctionSelector};\n use dep::aztec::protocol_types::{\n contract_class_id::ContractClassId,\n constants::{\n ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, FUNCTION_TREE_HEIGHT,\n MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,\n MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS,\n MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_CLASS_REGISTERED_MAGIC_VALUE\n },\n traits::Serialize, abis::log_hash::LogHash\n };\n\n use dep::aztec::{context::PrivateContext, oracle::logs::emit_contract_class_unencrypted_log_private_internal};\n\n use crate::events::{\n class_registered::ContractClassRegistered,\n private_function_broadcasted::{ClassPrivateFunctionBroadcasted, PrivateFunction, InnerPrivateFunction},\n unconstrained_function_broadcasted::{ClassUnconstrainedFunctionBroadcasted, UnconstrainedFunction, InnerUnconstrainedFunction}\n };\n\n // docs:start:import_pop_capsule\n use crate::capsule::pop_capsule;\n // docs:end:import_pop_capsule\n\n #[aztec(private)]\n fn register(artifact_hash: Field, private_functions_root: Field, public_bytecode_commitment: Field) {\n // TODO: Validate public_bytecode_commitment is the correct commitment of packed_public_bytecode\n // TODO: Validate packed_public_bytecode is legit public bytecode\n\n // docs:start:pop_capsule\n let packed_public_bytecode: [Field; MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS] = pop_capsule();\n // docs:end:pop_capsule\n\n // Compute contract class id from preimage\n let contract_class_id = ContractClassId::compute(\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n );\n\n // Emit the contract class id as a nullifier to be able to prove that this class has been (not) registered\n let event = ContractClassRegistered { contract_class_id, version: 1, artifact_hash, private_functions_root, packed_public_bytecode };\n context.push_nullifier(contract_class_id.to_field(), 0);\n\n // Broadcast class info including public bytecode\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ContractClassRegistered: {}\",\n [\n contract_class_id.to_field(),\n artifact_hash,\n private_functions_root,\n public_bytecode_commitment\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_private_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n unconstrained_functions_artifact_tree_root: Field,\n private_function_tree_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n private_function_tree_leaf_index: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerPrivateFunction\n ) {\n let private_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS] = pop_capsule();\n\n let event = ClassPrivateFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n private_function_tree_sibling_path,\n private_function_tree_leaf_index,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: PrivateFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n vk_hash: function_data.vk_hash,\n bytecode: private_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassPrivateFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n unconstrained_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.vk_hash,\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n #[aztec(private)]\n fn broadcast_unconstrained_function(\n contract_class_id: ContractClassId,\n artifact_metadata_hash: Field,\n private_functions_artifact_tree_root: Field,\n artifact_function_tree_sibling_path: [Field; ARTIFACT_FUNCTION_TREE_MAX_HEIGHT],\n artifact_function_tree_leaf_index: Field,\n function_data: InnerUnconstrainedFunction\n ) {\n let unconstrained_bytecode: [Field; MAX_PACKED_BYTECODE_SIZE_PER_UNCONSTRAINED_FUNCTION_IN_FIELDS] = pop_capsule();\n let event = ClassUnconstrainedFunctionBroadcasted {\n contract_class_id,\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n artifact_function_tree_sibling_path,\n artifact_function_tree_leaf_index,\n function: UnconstrainedFunction {\n selector: function_data.selector,\n metadata_hash: function_data.metadata_hash,\n bytecode: unconstrained_bytecode\n }\n };\n dep::aztec::oracle::debug_log::debug_log_format(\n \"ClassUnconstrainedFunctionBroadcasted: {}\",\n [\n contract_class_id.to_field(),\n artifact_metadata_hash,\n private_functions_artifact_tree_root,\n function_data.selector.to_field(),\n function_data.metadata_hash\n ]\n );\n emit_contract_class_unencrypted_log(&mut context, event.serialize());\n }\n\n // This fn exists separately from emit_unencrypted_log because sha hashing the preimage\n // is too large to compile (16,200 fields, 518,400 bytes) => the oracle hashes it\n // It is ONLY used with contract_class_registerer_contract since we already assert correctness:\n // - Contract class -> we will commit to the packed bytecode (currently a TODO)\n // - Private function -> we provide a membership proof\n // - Unconstrained function -> we provide a membership proof\n // Ordinary logs are not protected by the above so this fn shouldn't be called by anything else\n #[contract_library_method]\n pub fn emit_contract_class_unencrypted_log<N>(context: &mut PrivateContext, log: [Field; N]) {\n let contract_address = context.this_address();\n let counter = context.next_counter();\n let log_hash = emit_contract_class_unencrypted_log_private_internal(contract_address, log, counter);\n // 40 = addr (32) + raw log len (4) + processed log len (4)\n let len = 40 + N * 32;\n let side_effect = LogHash { value: log_hash, counter, length: len };\n context.unencrypted_logs_hashes.push(side_effect);\n }\n}\n"},"309":{"path":"/usr/src/noir-projects/noir-contracts/contracts/contract_class_registerer_contract/src/capsule.nr","source":"// We should extract this to a shared lib in aztec-nr once we settle on a design for capsules\n\n// docs:start:pop_capsule\n#[oracle(popCapsule)]\nunconstrained fn pop_capsule_oracle<N>() -> [Field; N] {}\n\n// A capsule is a \"blob\" of data that is passed to the contract through an oracle.\nunconstrained pub fn pop_capsule<N>() -> [Field; N] {\n pop_capsule_oracle()\n}\n// docs:end:pop_capsule"},"99":{"path":"/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr","source":"use crate::{\n context::{inputs::PrivateContextInputs, packed_returns::PackedReturns},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n keys::constants::{NULLIFIER_INDEX, OUTGOING_INDEX, NUM_KEY_TYPES, sk_generators},\n oracle::{\n key_validation_request::get_key_validation_request, arguments, returns::pack_returns,\n call_private_function::call_private_function_internal, header::get_header_at,\n logs::{emit_encrypted_note_log, emit_encrypted_event_log},\n enqueue_public_function_call::{enqueue_public_function_call_internal, set_public_teardown_function_call_internal}\n}\n};\nuse dep::protocol_types::{\n abis::{\n call_context::CallContext, function_selector::FunctionSelector, gas::Gas,\n max_block_number::MaxBlockNumber,\n validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator},\n private_call_request::PrivateCallRequest, private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_request::PublicCallRequest, public_call_stack_item::PublicCallStackItem,\n public_call_stack_item_compressed::PublicCallStackItemCompressed, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, log_hash::{LogHash, NoteLogHash, EncryptedLogHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NOTE_HASHES_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL,\n MAX_NOTE_ENCRYPTED_LOGS_PER_CALL\n},\n header::Header, messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader, traits::Empty\n};\n\n// When finished, one can call .finish() to convert back to the abi\nstruct PrivateContext {\n // docs:start:private-context\n inputs: PrivateContextInputs,\n side_effect_counter: u32,\n\n min_revertible_side_effect_counter: u32,\n is_fee_payer: bool,\n\n args_hash: Field,\n return_hash: Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<ReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n key_validation_requests_and_generators: BoundedVec<KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n note_hashes: BoundedVec<NoteHash, MAX_NOTE_HASHES_PER_CALL>,\n nullifiers: BoundedVec<Nullifier, MAX_NULLIFIERS_PER_CALL>,\n\n private_call_requests : BoundedVec<PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_requests : BoundedVec<PublicCallRequest, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n public_teardown_call_request: PublicCallRequest,\n l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL>,\n // docs:end:private-context\n\n // Header of a block whose state is used during private execution (not the block the transaction is included in).\n historical_header: Header,\n\n note_encrypted_logs_hashes: BoundedVec<NoteLogHash, MAX_NOTE_ENCRYPTED_LOGS_PER_CALL>,\n encrypted_logs_hashes: BoundedVec<EncryptedLogHash, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<LogHash, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n\n // Contains the last key validation request for each key type. This is used to cache the last request and avoid\n // fetching the same request multiple times.\n // The index of the array corresponds to the key type (0 nullifier, 1 incoming, 2 outgoing, 3 tagging).\n last_key_validation_requests: [Option<KeyValidationRequest>; NUM_KEY_TYPES],\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n PrivateContext {\n inputs,\n side_effect_counter: inputs.start_side_effect_counter + 1,\n min_revertible_side_effect_counter: 0,\n is_fee_payer: false,\n args_hash,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n\n fn msg_sender(self) -> AztecAddress {\n self.inputs.call_context.msg_sender\n }\n\n fn this_address(self) -> AztecAddress {\n self.inputs.call_context.storage_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.tx_context.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.tx_context.version\n }\n\n fn selector(self) -> FunctionSelector {\n self.inputs.call_context.function_selector\n }\n\n fn get_args_hash(self) -> Field {\n self.args_hash\n }\n\n fn push_note_hash(&mut self, note_hash: Field) {\n self.note_hashes.push(NoteHash { value: note_hash, counter: self.next_counter() });\n }\n\n // TODO(#7112): This function is called with non-zero note hash only in 1 of 25 cases in aztec-packages repo\n // - consider creating a separate function with 1 arg for the zero note hash case.\n fn push_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.next_counter() });\n }\n\n // Returns the header of a block whose state is used during private execution (not the block the transaction is\n // included in).\n fn get_header(self) -> Header {\n self.historical_header\n }\n\n // Returns the header of an arbitrary block whose block number is less than or equal to the block number\n // of historical header.\n pub fn get_header_at(self, block_number: u32) -> Header {\n get_header_at(block_number, self)\n }\n\n pub fn set_return_hash(&mut self, returns_hasher: ArgsHasher) {\n pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n PrivateCircuitPublicInputs {\n call_context: self.inputs.call_context,\n args_hash: self.args_hash,\n returns_hash: self.return_hash,\n min_revertible_side_effect_counter: self.min_revertible_side_effect_counter,\n is_fee_payer: self.is_fee_payer,\n max_block_number: self.max_block_number,\n note_hash_read_requests: self.note_hash_read_requests.storage,\n nullifier_read_requests: self.nullifier_read_requests.storage,\n key_validation_requests_and_generators: self.key_validation_requests_and_generators.storage,\n note_hashes: self.note_hashes.storage,\n nullifiers: self.nullifiers.storage,\n private_call_requests: self.private_call_requests.storage,\n public_call_requests: self.public_call_requests.storage,\n public_teardown_call_request: self.public_teardown_call_request,\n l2_to_l1_msgs: self.l2_to_l1_msgs.storage,\n start_side_effect_counter: self.inputs.start_side_effect_counter,\n end_side_effect_counter: self.side_effect_counter,\n note_encrypted_logs_hashes: self.note_encrypted_logs_hashes.storage,\n encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n }\n }\n\n pub fn set_as_fee_payer(&mut self) {\n dep::protocol_types::debug_log::debug_log_format(\"Setting {0} as fee payer\", [self.this_address().to_field()]);\n self.is_fee_payer = true;\n }\n\n pub fn end_setup(&mut self) {\n // dep::protocol_types::debug_log::debug_log_format(\n // \"Ending setup at counter {0}\",\n // [self.side_effect_counter as Field]\n // );\n self.min_revertible_side_effect_counter = self.side_effect_counter;\n }\n\n // docs:start:max-block-number\n pub fn set_tx_max_block_number(&mut self, max_block_number: u32) {\n // docs:end:max-block-number\n self.max_block_number = MaxBlockNumber::min_with_u32(self.max_block_number, max_block_number);\n }\n\n pub fn push_note_hash_read_request(&mut self, note_hash: Field) {\n let side_effect = ReadRequest { value: note_hash, counter: self.next_counter() };\n self.note_hash_read_requests.push(side_effect);\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.next_counter() };\n self.nullifier_read_requests.push(request);\n }\n\n pub fn request_nsk_app(&mut self, npk_m_hash: Field) -> Field {\n self.request_sk_app(npk_m_hash, NULLIFIER_INDEX)\n }\n\n pub fn request_ovsk_app(&mut self, ovpk_m_hash: Field) -> Field {\n self.request_sk_app(ovpk_m_hash, OUTGOING_INDEX)\n }\n\n fn request_sk_app(&mut self, pk_m_hash: Field, key_index: Field) -> Field {\n let cached_request = self.last_key_validation_requests[key_index].unwrap_or(KeyValidationRequest::empty());\n\n if cached_request.pk_m.hash() == pk_m_hash {\n // We get a match so the cached request is the latest one \n cached_request.sk_app\n } else {\n // We didn't get a match meaning the cached result is stale. We fetch new values from oracle and instruct\n // protocol circuits to validate them by storing the validation request in context.\n let request = get_key_validation_request(pk_m_hash, key_index);\n let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index] };\n // We constrain that the pk_m_hash matches the one in the request (otherwise we could get an arbitrary\n // valid key request and not the one corresponding to pk_m_hash).\n assert(request.pk_m.hash() == pk_m_hash);\n self.key_validation_requests_and_generators.push(request_and_generator);\n self.last_key_validation_requests[key_index] = Option::some(request);\n request.sk_app\n }\n }\n\n // docs:start:context_message_portal\n pub fn message_portal(&mut self, recipient: EthAddress, content: Field) {\n // docs:end:context_message_portal\n let message = L2ToL1Message { recipient, content, counter: self.next_counter() };\n self.l2_to_l1_msgs.push(message);\n }\n\n // docs:start:context_consume_l1_to_l2_message\n // docs:start:consume_l1_to_l2_message\n pub fn consume_l1_to_l2_message(&mut self, content: Field, secret: Field, sender: EthAddress) {\n // docs:end:context_consume_l1_to_l2_message\n let nullifier = process_l1_to_l2_message(\n self.historical_header.state.l1_to_l2_message_tree.root,\n self.this_address(),\n sender,\n self.chain_id(),\n self.version(),\n content,\n secret\n );\n\n // Push nullifier (and the \"commitment\" corresponding to this can be \"empty\")\n self.push_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n // NB: A randomness value of 0 signals that the kernels should not mask the contract address\n // used in siloing later on e.g. 'handshaking' contract w/ known address.\n pub fn emit_raw_event_log_with_masked_address<let M: u32>(\n &mut self,\n randomness: Field,\n log: [u8; M],\n log_hash: Field\n ) {\n let counter = self.next_counter();\n let contract_address = self.this_address();\n let len = log.len() as Field + 4;\n let side_effect = EncryptedLogHash { value: log_hash, counter, length: len, randomness };\n self.encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_event_log(contract_address, randomness, log, counter);\n }\n\n pub fn emit_raw_note_log<let M: u32>(&mut self, note_hash_counter: u32, log: [u8; M], log_hash: Field) {\n let counter = self.next_counter();\n let len = log.len() as Field + 4;\n let side_effect = NoteLogHash { value: log_hash, counter, length: len, note_hash_counter };\n self.note_encrypted_logs_hashes.push(side_effect);\n\n emit_encrypted_note_log(note_hash_counter, log, counter);\n }\n\n pub fn call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_private_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) -> PackedReturns {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_private_function_no_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_private_function_no_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) -> PackedReturns {\n self.call_private_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_private_function_with_packed_args<RETURNS_COUNT>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> PackedReturns {\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n let start_side_effect_counter = self.side_effect_counter;\n let (end_side_effect_counter, returns_hash) = call_private_function_internal(\n contract_address,\n function_selector,\n args_hash,\n start_side_effect_counter,\n is_static_call,\n is_delegate_call\n );\n\n self.side_effect_counter = end_side_effect_counter + 1;\n\n // TODO (fees) figure out why this crashes the prover and enable it\n // we need this in order to pay fees inside child call contexts\n // assert(\n // (item.public_inputs.min_revertible_side_effect_counter == 0 as u32)\n // | (item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter)\n // );\n\n // if item.public_inputs.min_revertible_side_effect_counter\n // > self.min_revertible_side_effect_counter {\n // self.min_revertible_side_effect_counter = item.public_inputs.min_revertible_side_effect_counter;\n // }\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n self.private_call_requests.push(\n PrivateCallRequest {\n contract_address,\n call_context,\n args_hash,\n returns_hash,\n start_side_effect_counter,\n end_side_effect_counter\n }\n );\n\n PackedReturns::new(returns_hash)\n }\n\n pub fn call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn static_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, true, false)\n }\n\n pub fn delegate_call_public_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash, false, true)\n }\n\n pub fn call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, false)\n }\n\n pub fn static_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, true, false)\n }\n\n pub fn delegate_call_public_function_no_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector\n ) {\n self.call_public_function_with_packed_args(contract_address, function_selector, 0, false, true)\n }\n\n pub fn call_public_function_with_packed_args(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n enqueue_public_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n let call_request = PublicCallRequest { item, counter };\n self.public_call_requests.push(call_request);\n }\n\n pub fn set_public_teardown_function<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args: [Field; ARGS_COUNT]\n ) {\n let args_hash = hash_args_array(args);\n assert(args_hash == arguments::pack_arguments_array(args));\n self.set_public_teardown_function_with_packed_args(contract_address, function_selector, args_hash, false, false)\n }\n\n pub fn set_public_teardown_function_with_packed_args<let ARGS_COUNT: u32>(\n &mut self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n is_static_call: bool,\n is_delegate_call: bool\n ) {\n let counter = self.next_counter();\n\n let mut is_static_call = is_static_call | self.inputs.call_context.is_static_call;\n set_public_teardown_function_call_internal(\n contract_address,\n function_selector,\n args_hash,\n counter,\n is_static_call,\n is_delegate_call\n );\n\n let call_context = self.generate_call_context(\n contract_address,\n function_selector,\n is_static_call,\n is_delegate_call\n );\n\n let item = PublicCallStackItemCompressed {\n contract_address,\n call_context,\n args_hash,\n returns_hash: 0,\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty()\n };\n\n self.public_teardown_call_request = PublicCallRequest {\n item,\n counter,\n };\n }\n\n fn generate_call_context(\n self,\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n is_static_call: bool,\n is_delegate_call: bool\n ) -> CallContext {\n let msg_sender = if is_delegate_call {\n self.msg_sender()\n } else {\n self.this_address()\n };\n let storage_contract_address = if is_delegate_call {\n self.this_address()\n } else {\n contract_address\n };\n CallContext { msg_sender, storage_contract_address, function_selector, is_static_call, is_delegate_call }\n }\n\n fn next_counter(&mut self) -> u32 {\n let counter = self.side_effect_counter;\n self.side_effect_counter += 1;\n counter\n }\n}\n\nimpl Empty for PrivateContext {\n fn empty() -> Self {\n PrivateContext {\n inputs: PrivateContextInputs::empty(),\n side_effect_counter: 0 as u32,\n min_revertible_side_effect_counter: 0 as u32,\n is_fee_payer: false,\n args_hash: 0,\n return_hash: 0,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: BoundedVec::new(),\n nullifier_read_requests: BoundedVec::new(),\n key_validation_requests_and_generators: BoundedVec::new(),\n note_hashes: BoundedVec::new(),\n nullifiers: BoundedVec::new(),\n private_call_requests: BoundedVec::new(),\n public_call_requests: BoundedVec::new(),\n public_teardown_call_request: PublicCallRequest::empty(),\n l2_to_l1_msgs: BoundedVec::new(),\n historical_header: Header::empty(),\n note_encrypted_logs_hashes: BoundedVec::new(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n last_key_validation_requests: [Option::none(); NUM_KEY_TYPES]\n }\n }\n}\n"}}}