@aztec/protocol-contracts 0.35.1 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dest/artifacts/ContractClassRegisterer.json +1 -1
  2. package/dest/artifacts/ContractInstanceDeployer.json +1 -1
  3. package/dest/artifacts/GasToken.json +1 -1
  4. package/dest/artifacts/KeyRegistry.json +1 -0
  5. package/dest/artifacts/MultiCallEntrypoint.json +1 -1
  6. package/dest/gas-token/index.d.ts.map +1 -1
  7. package/dest/gas-token/index.js +2 -3
  8. package/dest/instance-deployer/index.d.ts.map +1 -1
  9. package/dest/instance-deployer/index.js +6 -2
  10. package/dest/key-registry/artifact.d.ts +2 -0
  11. package/dest/key-registry/artifact.d.ts.map +1 -0
  12. package/dest/key-registry/artifact.js +4 -0
  13. package/dest/key-registry/index.d.ts +7 -0
  14. package/dest/key-registry/index.d.ts.map +1 -0
  15. package/dest/key-registry/index.js +16 -0
  16. package/dest/multi-call-entrypoint/index.d.ts.map +1 -1
  17. package/dest/multi-call-entrypoint/index.js +2 -3
  18. package/dest/protocol_contract.d.ts +3 -3
  19. package/dest/protocol_contract.d.ts.map +1 -1
  20. package/dest/protocol_contract.js +4 -6
  21. package/package.json +12 -4
  22. package/src/artifacts/ContractClassRegisterer.json +1 -1
  23. package/src/artifacts/ContractInstanceDeployer.json +1 -1
  24. package/src/artifacts/GasToken.json +1 -1
  25. package/src/artifacts/KeyRegistry.json +1 -0
  26. package/src/artifacts/MultiCallEntrypoint.json +1 -1
  27. package/src/gas-token/index.ts +2 -2
  28. package/src/instance-deployer/index.ts +7 -1
  29. package/src/key-registry/artifact.ts +6 -0
  30. package/src/key-registry/index.ts +22 -0
  31. package/src/multi-call-entrypoint/index.ts +2 -2
  32. package/src/protocol_contract.ts +1 -6
@@ -1 +1 @@
1
- { "noir_version": "0.27.0+783feebcc2543497cc9a23db958af64902afa589", "name": "MultiCallEntrypoint", "functions": [{ "name": "entrypoint", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "authwit::aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "private_global_variables", "type": { "kind": "struct", "path": "authwit::aztec::context::globals::private_global_variables::PrivateGlobalVariables", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "app_payload", "type": { "kind": "struct", "path": "authwit::entrypoint::app::AppPayload", "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall", "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "target_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "is_public", "type": { "kind": "boolean" } }] } } }, { "name": "nonce", "type": { "kind": "field" } }] }, "visibility": "public" }], "param_witnesses": { "app_payload": [{ "start": 47, "end": 64 }], "inputs": [{ "start": 0, "end": 47 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "portal_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "gas_left", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l1_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "da", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l1", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "l2", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::DimensionGasSettings", "fields": [{ "name": "gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "teardown_gas_limit", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "max_fee_per_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }, { "name": "transaction_fee", "type": { "kind": "field" } }] } }, { "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": "max_block_number", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "secret_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_private_key::GrumpkinPrivateKey", "fields": [{ "name": "high", "type": { "kind": "field" } }, { "name": "low", "type": { "kind": "field" } }] } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffectLinkedToNoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "note_hash", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "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 } }, { "name": "encrypted_logs_hash", "type": { "kind": "field" } }, { "name": "unencrypted_logs_hash", "type": { "kind": "field" } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l1_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }] }, "visibility": "public" }, "return_witnesses": [1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866] }, "bytecode": "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", "debug_symbols": "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Uh+UL/ncvy6fJJ88dNzLoFBely/55JkoX/LJM1G+5JNnonzSXb5kvT9RvuRz//K70ZEkn/sT5UvW+xPlS9b71+Vn0bfudfmib93r8kXfutfli751r8sXfetely/61r0uX/etm3Xfuln3rZuX37rD7cH3z4bQz9CqeDx+APv5R2LKob2BoL2BqL2BpL0B0t5A1t5AEdPAWVKVVxLDXXmbxr2kUOiipBDOdJoQ6GlpUeKjqC6wqHosLor3GwA16C4/6i4/6S6fdJefdZdfdJdfdZffdJffVZffdN+6Tfet23Tfuk33rdt037pN963bdN+6Tfet23Tfuk33rdt137pd963bdd+6Xfety5BcsbV83bdu133rdt23bld966ZD8rl/+VPC6ZB87k+UL/nkufxJyXRIPnkmypd88kyUL/nkmShfst6/Lj9I1vsT5Us+9y9/4CcFyef+RPmS9f5E+aS7fNG37nX5om/d6/JF37rX5Yu+da/LF33rXpYfRd+61+XrvnWj7ls36r51OVJA3iv/nR8vfHoz9OhPdTx+HCzFrL2Bor2Bqr2Bpr2BrryBdGhvIIhuIJdHA/1LA98/Xfu96HY8fbY97owUPTWbPDVLkpt9/uHwNPh3KFoNzDQgWg3MNCBaDcw0IFoNzDQgWg1MNECi1cBMA6LVwPXv2CQSfcPPNCD61p5pQM5NfJYk5249S+K4Lfv9FYYYc7woKeTzyYand6y+lFTlldQWl8T70yQc6Tcby+dIv9lZftBdftRdftJdPukuP+suv+guv+ouX/etm3XfukX3rVt037pF961bdN+6HJk3O8vXfesW3bdu0X3rFt23btF961bdt27VfetW3bdu1X3rsmTzbCxf961bdd+6VfetW3XfulX3rdt037pN963bdN+6Tfety5LNs7F83bdu033rNt23btN96zbdt27Xfet23bdu133rdt23Lks2z8bydd+6Xfet23Xful33rdtV37p0qL516VB969Kh+talQ/WtS4fqW5cO1bcuHapvXTpU37p0qL516dB96wbdt27QfesG3bdu0H3rsuRSbSxf960bdN+6QfetG3TfukH3rRt137pR960bdd+6Ufety5JLtbF83bdu1H3rRt23btR960bdt27Sfesm3bdu0n3rJt23Lkv+08bydd+6Sfetm3Tfukn3rZt037qk+9Yl3bcu6b51Sfety5L1tLF83bcu6b51SfetqzubinRnU5HubCrSnU1FurOpSHc2FenOpiLd2VSkO5uKdGdTke5sKtKdTUW6s6lIdzYV6c6mIt3ZVKQ7m4p0Z1OR7mwq0p1NRbqzqUh3NhXpzqYi3dlUpDubinRnU5HubCrSnU1FurOpSHc2FenOpiLd2VSkO5uKdGdTke5sKtKdTUW6s6lIdzYV6c6mIt3ZVKQ7m4p0Z1OR7mwq0p1NRbqzqUh3NhXpzqYi3dlUpDubinRnU5HubCrSnU2VdWdTZd3ZVFl3NlXWnU2VD9W3btadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlUWXc2VdadTZV1Z1Nl3dlURXc2VdGdTVV0Z1MV3dlU5VB96xbd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXRnUxXd2VRFdzZV0Z1NVXVnU1Xd2VRVdzZV1Z1NVQ/Vt27VnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVFV3NlXVnU1VdWdTVd3ZVE13NlXTnU3VdGdTNd3ZVO1Qfes23dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV0Z1M13dlUTXc2VdOdTdV1Z1N13dlUXXc2VdedTdUP1bdu151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VRddzZV151N1XVnU3Xd2VTh0B1Odatf9b17q1/1xXurX/XNe6tf9dV7q1/13XurX/Xle6tf9e17q1/19XurX/n9qzum6laQ8vtXd1DVrSDl96/uqKpbQcrvX91hVbeClN+/uuOqbgUpv391B1bdqlN+/+qOrLpVp/z+1R1adatO+f2rO7bqVp3y+1d3cNWtOuX3r+7oqlv9yu9f3eFVt/qV37+646tu9Su/f3UHWN3qV37/6o6wutWv/P7VHWJ1q1/5/as7xupWv/L7V3eQ1a1+5fev7iirW/3K71/dYVa3+pXfv7rjrG71K79/dQda3epXfv/qjrS61a/8/tUdanWrX/n9qzvW6la/8vtXd7DVrX7l96/uaKtb/crvX93hVrf6ld+/uuOtbvUrv391B1zd6ld+/+qOuLrVr/z+1R1ydatf+f2rO+bqVr/y+1d30NWtfuX3r+6oq1v9yu9f3WFXt/qV37+6465u9Su/f3UHXt3qV37/6o68utWv/P7VHXp1q1/5/as79upWv/L7V3fw1a1+5fev7uirW/3K71/d4Ve3+pXfv7rjr271675/g/L8q6A8/yooz78KyvOvwqH7/g3K86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijPvwrK86+C8vyroDz/KijP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0Z1NVXRnUxXd2VTlUH3rFt3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdGdTFd3ZVEV3NlXRnU1VdWdTVd3ZVFV3NlXVnU1VD9W3btWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUVXc2VdWdTVV1Z1NV3dlUTXc2VdOdTdV0Z1M13dlU7VB96zbd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XRnUzXd2VRNdzZV051N1XVnU3Xd2VRddzZV151N1Q/Vt27XnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVF13NlXXnU3VdWdTdd3ZVOHQHU51q1/1vXurX/XFe6tf9c17q1/11XurX/Xde6tf9eV7q1/17XurX/X1e6tf+f2rO6bqVpDy+1d3UNWtIOX3r+6oqltByu9f3WFVt4KU37+646puBSm/f3UHVt2qU37/6o6sulWn/P7VHVp1q075/as7tupWnfL7V3dw1a065fev7uiqW/3K71/d4VW3+pXfv7rjq271K79/dQdY3epXfv/qjrC61a/8/tUdYnWrX/n9qzvG6la/8vtXd5DVrX7l96/uKKtb/crvX91hVrf6ld+/uuOsbvUrv391B1rd6ld+/+qOtLrVr/z+1R1qdatf+f2rO9bqVr/y+1d3sNWtfuX3r+5oq1v9yu9f3eFWt/qV37+6461u9Su/f3UHXN3qV37/6o64utWv/P7V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4T0CQt/aHgFxbuLnkeLcrc8jIW7L9tjCMM/rfHKkaX2ubFjt9yPt8Y50XHwk7G+TINpvBh4f0X4z8vhT7uPPuY+/5D6+5T7+mvv4W+7j77mPn/vWXXPfulvuW3fLfetuuW/dLfeti+i8GXn83LfulvvW3XLfulvuW3fLfevuuW/dPfetu+e+dffcty6km2fg8XPfunvuW3fPfevuuW/dPfete+S+dY/ct+6R+9Y9ct+6kG6egcfPfeseuW/dI/ete+S+dY/ct27Lfeu23Lduy33rtty3LqSbZ+Dxc9+6Lfet23Lfui33rdtS37p2S33r2i31rWu31Leu3VLfunZLfevaLfWta7fUt67dUt+6dkt969ot96075b51p9y37pT71p1y37qQXqqBx8996065b90p96075b51p9y37pz71p1z37pz7lt3zn3rQnqpBh4/9607575159y37pz71p1z37pL7lt3yX3rLrlv3SX3rQvpfxp4/Ny37pL71l1y37pL7lt3yX3rWu5b13Lfupb71rXcty6k62ng8XPfupb71rXct27ubirL3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U1nubirL3U1lubupLHc3leXuprLc3VSWu5vKcndTWe5uKsvdTWW5u6ksdzeV5e6mstzdVJa7m8pyd1NZ7m4qy91NZbm7qSx3N5Xl7qay3N1UlrubynJ3U1nubirL3U1lubupLHc31Zq7m2rN3U215u6mWnN3U6231Lfumrubas3dTbXm7qZac3dTrbm7qdbc3VRr7m6qNXc31Zq7m2rN3U215u6mWnN3U625u6nW3N1Ua+5uqjV3N9Wau5tqzd1Ntebuplpzd1Otubup1tzdVGvubqo1dzfVmrubas3dTbXm7qZac3dTrbm7qdbc3VRr7m6qNXc31Zq7m2rN3U215u6mWnN3U625u6nW3N1Ua+5uqjV3N9Wau5tqzd1Ntebuplpzd1Otubup1tzdVGvubqo1dzfVmrubas3dTbXm7qZac3dTrbm7qdbc3VRr7m6qNXc31Zq7m2rN3U215u6mWnN3U625u6nW3N1Ua+5uqjV3N9Wau5tqzd1Ntebuplpzd1Otubup1tzdVGvubqo1dzfVmrubas3dTbXm7qZac3dTrbm7qdbc3VRr7m6qNXc31Zq7m2rN3U215u6mWnN3U625u6nW3N1Ua+5uqjV3N9Wau5tqzd1Ntebuplpzd1Otubup1tzdVGvubqotdzfVlrubasvdTbXl7qbabqlv3S13N9WWu5tqy91NteXuptpyd1NtubupttzdVFvubqotdzfVlrubasvdTbXl7qbacndTbbm7qbbc3VRb7m6qLXc31Za7m2rL3U215e6m2nJ3U225u6m23N1UW+5uqi13N9WWu5tqy91NteXuptpyd1NtubupttzdVFvubqotdzfVlrubasvdTbXl7qbacndTbbm7qbbc3VRb7m6qLXc31Za7m2rL3U215e6m2nJ3U225u6m23N1UW+5uqi13N9WWu5tqy91NteXuptpyd1NtubupttzdVFvubqotdzfVlrubasvdTbXl7qbacndTbbm7qbbc3VRb7m6qLXc31Za7m2rL3U215e6m2nJ3U225u6m23N1UW+5uqi13N9WWu5tqy91NteXuptpyd1NtubupttzdVFvubqotdzfVlrubasvdTbXl7qbacndTbbm7qbbc3VRb7m6qLXc31Za7m2rL3U215e6m2nJ3U225u6m23N1Ue+5uqj13N9Weu5tqz91Ntd9S37p77m6qPXc31Z67m2rP3U215+6m2nN3U+25u6n23N1Ue+5uqj13N9Weu5tqz91Ntefuptpzd1Ptubup9tzdVHvubqo9dzfVnrubas/dTbXn7qbac3dT7bm7qfbc3VR77m6qPXc31Z67m2rP3U215+6m2nN3U+25u6n23N1Ue+5uqj13N9Weu5tqz91Ntefuptpzd1Ptubup9tzdVHvubqo9dzfVnrubas/dTbXn7qbac3dT7bm7qfbc3VR77m6qPXc31Z67m2rP3U215+6m2nN3U+25u6n23N1Ue+5uqj13N9Weu5tqz91Ntefuptpzd1Ptubup9tzdVHvubqo9dzfVnrubas/dTbXn7qbac3dT7bm7qfbc3VR77m6qPXc31Z67m2rP3U215+6m2nN3U+25u6n23N1Ue+5uqj13N9Weu5tqz91Ntefuptpzd1Ptubup9tzdVHvubqo9dzfVnrubas/dTbXn7qbac3dT7bm7qY7c3VRH7m6qI3c31ZG7m+q4pb51j9zdVEfubqojdzfVkbub6sjdTXXk7qY6cndTHbm7qY7c3VRH7m6qI3c31ZG7m+rI3U115O6mOnJ3Ux25u6mO3N1UR+5uqiN3N9WRu5vqyN1NdeTupjpyd1MdubupjtzdVEfubqojdzfVkbub6sjdTXXk7qY6cndTHbm7qY7c3VRH7m6qI3c31ZG7m+rI3U115O6mOnJ3Ux25u6mO3N1UR+5uqiN3N9WRu5vqyN1NdeTupjpyd1MdubupjtzdVEfubqojdzfVkbub6sjdTXXk7qY6cndTHbm7qY7c3VRH7m6qI3c31ZG7m+rI3U115O6mOnJ3Ux25u6mO3N1UR+5uqiN3N9WRu5vqyN1NdeTupjpyd1MdubupjtzdVEfubqojdzfVkbub6sjdTXXk7qY6cndTHbm7qY7c3VRH7m6qI3c31ZG7m+rI3U115O6mOnJ3Ux25u6mO3N1UR+5uqiN3N9WRu5vqyN1NdeTupjpyd1O13N1ULXc3VcvdTdVyd1O1W+pbt+Xupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6qlrubquXupmq5u6la7m6q6Za7nOp+/tT37v38qS/e+/lT37z386e+eu/nT3333s+f+vK9nz/17Xs/f+rr937+5Pdv7pqq+4GS37+5i6ruB0p+/+auqrofKPn9m7us6n6g5Pdv7rqq+4GS37+5C6vup0t+/+aurLqfLvn9m7u06n665Pdv7tqq++mS37+5i6vup0t+/+aurrqfP/n9m7u86n7+5Pdv7vqq+/mT37+5C6zu509+/+ausLqfP/n9m7vE6n7+5Pdv7hqr+/mT37+5i6zu509+/+ausrqfP/n9m7vM6n7+5Pdv7jqr+/mT37+5C63u509+/+autLqfP/n9m7vU6n7+5Pdv7lqr+/mT37+5i63u509+/+autrqfP/n9m7vc6n7+5Pdv7nqr+/mT37+5C67u509+/+auuLqfP/n9m7vk6n7+5Pdv7pqr+/mT37+5i67u509+/+auurqfP/n9m7vs6n7+5Pdv7rqr+/mT37+5C6/u509+/+auvLqfP/n9m7v06n7+5Pdv7tqr+/mT37+5i6/u509+/+auvrqfP/n9m7v86n7+5Pdv7vqr+/lz379T8v6rKXn/1ZS8/2pK3n813XLfv1Py/qspef/VlLz/akrefzUl77+akvdfTcn7r6bk/VdT8v6rKXn/1ZS8/2pK3n81Je+/mpL3X03J+6+m5P1XU/L+qyl5/9WUvP9qSt5/NSXvv5qS919NyfuvpuT9V1Py/qspef/VlLz/akrefzUl77+akvdfTcn7r6bk/VdT8v6rKXn/1ZS8/2pK3n81Je+/mpL3X03J+6+m5P1XU/L+qyl5/9WUvP9qSt5/NSXvv5qS919NyfuvpuT9V1Py/qspef/VlLz/akrefzUl77+akvdfTcn7r6bk/VdT8v6rKXn/1ZS8/2pK3n81Je+/mpL3X03J+6+m5P1XU/L+qyl5/9WUvP9qSt5/NSXvv5qS919NyfuvpuT9V1Py/qspef/VlLz/akrefzUl77+akvdfTcn7r6bk/VdT8v6rKXn/1ZS8/2pK3n81Je+/mpL3X03J+6+m5P1XU/L+qyl5/9WUvP9qSt5/NSXvv5qS919Nyfuv5uT9V3Py/qs5ef/VnLz/ar7lvn/n5P1Xc/L+qzl5/9WcvP9qTt5/NSfvv5qT91/Nyfuv5uT9V3Py/qs5ef/VnLz/ak7efzUn77+ak/dfzcn7r+bk/Vdz8v6rOXn/1Zy8/2pO3n81J++/mpP3X83J+6/m5P1Xc/L+qzl5/9WcvP9qTt5/NSfvv5qT91/Nyfuv5uT9V3Py/qs5ef/VnLz/ak7efzUn77+ak/dfzcn7r+bk/Vdz8v6rOXn/1Zy8/2pO3n81J++/mpP3X83J+6/m0P1LS5v+fO3SeueP/PnvOX/kzx+7PY5h0/b7+UP3/3jOH/nzx3P+yJ8/nvNH9v+e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3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WevP9qT95/tSfvv9qT91/tU+7zd0/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vkbz/6kjef3Uk7786kvdfHZMlf/7c5++RvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XZ/L+qzN5/9WZvP/qTN5/dU65z98zef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9Vy15/1VL3n/VkvdfteT9V23Kff625P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VUvef9WS91+15P1XLXn/VTuSn7/J+69a8v6rlrz/qiXvv2rJ+69a8v6rlrz/qiXvv2rJ+69a8v6rlrz/qiXvv2rJ+69a8v6rlrz/qiXvv2rJ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DLlAMJvTCn6/xwWC2ZxW8Ls4LhDM5rSC35txgWA2pxX8josLBLM5reD3UVwgmM1pBb874gLBbE4r+D0PFwhmc1rB72S4QDCb0wp+f8IFgtmc1sbmtILfe4EXHPw2iwsEszmtnc1pBb+F5ALBxiaYzWkFvwfkAsFsTiv4nR0XCGZzWsHv17hAMJvTCn4XxgWC2ZxW8HsrLhDM5rSC3zFxgWA2pxX8PogLBLM5reB3N1wgmM1pBb9n4QLBbE4r+J0IFwhmc1rB7y+4QDCb0wp+18AFgtmcVvB7AS4QzOa0gnf4XyCYzWkF79u/QDCb0wrejX+BYDanFbzH/gLBZE5rDd45f4FgMqe1Bu+Hv0AwmdNaJ2MTTOa0VraO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI35l64hf2TriV7aO+JWtI97YOuKNrSPe2Drija0j3iZjE0zmtIytI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j3tg64o2tI97YOuKNrSPe2Drija0j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" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "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": "serialized_note", "type": { "kind": "array", "length": 20, "type": { "kind": "field" } }, "visibility": "private" }], "param_witnesses": { "contract_address": [{ "start": 0, "end": 1 }], "nonce": [{ "start": 1, "end": 2 }], "note_type_id": [{ "start": 3, "end": 4 }], "serialized_note": [{ "start": 4, "end": 24 }], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [24, 25, 26, 27] }, "bytecode": "H4sIAAAAAAAA/+2ZyXLbMAyGSUnWYsfK5sRLuu9HKXbS9qZb36Od9v2foFODIUYw3fTSHwfMhDMaUxT18yNAUiDt3UO62V8+5vP9NXHHiZ8P8bf7v9QDtTpNTm+EMzPCmQM5iW3hdMdpoWBXNOPEAGNpgLEywFgbYGwMME4NMM4MMJ4YYJwbYGwNMJ4aYDwzwHhugPHCAOOlAcaFAcYrA4zXBhiXQEYvGIuYX+2v9f7auIc9+/dYXrsxDSiGXf+DYnZufOUOE8UmGd8UY1nO3KKM+TNRxmcMeTH2oYT3oduRboXWjbEZ270UNikTn1DbG1FWwPvYf6mFPWG6nZrtwthm+/DetRL3bKsm5oFnML1s28erEW266CPOr0Vdrsf2yISPKVGcyf5v/vFekbzXijrlX/o/OGz/q4SnSpgnkYkSxSqrYrRLyoY8HyPdKV73wOdF4pOpKOc630Q/ncgPEJ67MK88XPc+rAMZXvcraeVw3c/bOhlTGN3bTq6HQDts5TcKqPtLrrNA3Z+1G8cw0G87Of+Burdy/gPtEM7MZkrj4UTJvnOledHi7RB4T5XmxRle9460zvF+C+PhQslvl3g7hPVhoeS3K6V5ca1k3yWeN4yzldI4WyvNi42SfW/wdgi6z/C64Tv0HG/fEEe9wPPek9ZLPG/4br7C84Z5/Fpp/L5RGr9v8bxh/X2H1w3r73slv31Q8ttHPO+WYwdKn4Q+x2wDrK1uJ8+DOPnkfhB5GTfO8Dy9Uj87GZv+BuqSrdrEVnViq1bUkfFxq2A/L9plbclB6Yn5ifkx5pk7nONcJp/zb5b0RZ6jc/3GHa8n0A5xg/Kg30c4ekYHNXSoQgcglRsPAaeis/MITJtBWnxpk0UbItq80EaDNgUUwC9FG4/9uXGU/gAif8QsrigAAA==", "debug_symbols": "ndZNCoNADEDhu2QtxTpJ/LlK6WJqLQiiorZQxLtXKT1A324y4e2+RVbphjou7dDPUq2SnjKX6rLKPMb++JiXOC1SZYUl0vT3/VWmWyKPtmukCkG3a3JEOYkKEpUgCimJziTKSBRIpCQyEhERgYgIREQgIpSIUCJCiQglIpSIUCJCiQglIpSIUCLCiAgjIoyIMCLCiAgjIoyIMCLCiAgjIpyIcCLCiQgnIpyIcCLCiQgnIpyIcCIi/1fEPr3i1MZb1xzn1bF89vXv2trH5T1+N9sH" }], "outputs": { "structs": { "functions": [{ "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters", "fields": [{ "name": "app_payload", "type": { "kind": "struct", "path": "authwit::entrypoint::app::AppPayload", "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall", "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "target_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "is_public", "type": { "kind": "boolean" } }] } } }, { "name": "nonce", "type": { "kind": "field" } }] } }] } }] }] }, "globals": {} }, "file_map": { "3": { "source": "struct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index as u64 < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen as u64, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len as u64 <= MaxLen as u64, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len as u64 > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n", "path": "std/collections/bounded_vec.nr" }, "20": { "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n", "path": "std/field.nr" }, "53": { "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 420;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n false,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n false,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n", "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr" }, "87": { "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n key::nullifier_key::validate_nullifier_key_against_address, messaging::process_l1_to_l2_message,\n hash::{hash_args_array, ArgsHasher},\n oracle::{\n arguments, returns, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, context::get_portal_address,\n header::get_header_at, nullifier_key::{get_nullifier_key_pair, NullifierKeyPair}\n}\n};\nuse dep::protocol_types::{\n abis::{\n gas::Gas, call_context::CallContext, function_data::FunctionData,\n function_selector::FunctionSelector, max_block_number::MaxBlockNumber,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\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\n args_hash : Field,\n return_hash : Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<SideEffect, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<SideEffectLinkedToNoteHash, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeyPair>,\n}\n\nimpl ContextInterface for PrivateContext {\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 this_portal_address(self) -> EthAddress {\n self.inputs.call_context.portal_contract_address\n }\n\n fn chain_id(self) -> Field {\n self.inputs.private_global_variables.chain_id\n }\n\n fn version(self) -> Field {\n self.inputs.private_global_variables.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_new_note_hash(&mut self, note_hash: Field) {\n let side_effect = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.new_note_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\n let side_effect = SideEffectLinkedToNoteHash { value: nullifier, note_hash: nullified_commitment, counter: self.side_effect_counter };\n self.new_nullifiers.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\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 nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\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 returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_logs_hash = 0;\n let unencrypted_logs_hash = 0;\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = 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 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 nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 encrypted_logs_hash,\n unencrypted_logs_hash,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n chain_id: self.inputs.private_global_variables.chain_id,\n version: self.inputs.private_global_variables.version\n };\n\n priv_circuit_pub_inputs\n }\n\n pub fn capture_min_revertible_side_effect_counter(&mut self) {\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 = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_nullifier_secret_key(&mut self, account: AztecAddress) -> GrumpkinPrivateKey {\n let key_pair = if self.nullifier_key.is_none() {\n let key_pair = get_nullifier_key_pair(account);\n validate_nullifier_key_against_address(account, key_pair.public_key);\n let request = NullifierKeyValidationRequest { public_key: key_pair.public_key, secret_key: key_pair.secret_key };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(key_pair);\n key_pair\n } else {\n let key_pair = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(\n key_pair.account == account, \"Cannot query nullifier key for more than one account per call\"\n );\n key_pair\n };\n key_pair.secret_key\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 };\n self.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\n let _void1 = self.inputs;\n let _void2 = log;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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<ARGS_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, 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 item = call_private_function_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 assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.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 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 self.private_call_stack_hashes.push(item.hash());\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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<ARGS_COUNT>(\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(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 mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hash: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n gas_left: Gas::empty()\n },\n is_execution_request: true\n };\n reader.finish();\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.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\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 self.public_call_stack_hashes.push(item.hash());\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 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 nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_stack_hashes : BoundedVec::new(),\n public_call_stack_hashes : BoundedVec::new(),\n new_l2_to_l1_msgs : BoundedVec::new(),\n historical_header: Header::empty(),\n nullifier_key: Option::none(),\n }\n }\n}\n\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr" }, "101": { "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\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 PrivateCallStackItem::deserialize(fields)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr" }, "102": { "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr" }, "114": { "source": "use dep::protocol_types::{\n address::{AztecAddress, EthAddress},\n constants::{\n GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET, GENERATOR_INDEX__NULLIFIER, ARGS_HASH_CHUNK_COUNT,\n GENERATOR_INDEX__FUNCTION_ARGS, ARGS_HASH_CHUNK_LENGTH\n},\n traits::Hash, hash::{pedersen_hash, silo_nullifier}\n};\n\nuse dep::protocol_types::hash::sha256_to_field;\n\npub fn compute_secret_hash(secret: Field) -> Field {\n // TODO(#1205) This is probably not the right index to use\n pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET)\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__NULLIFIER\n )\n}\n\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\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<N>(&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<N>(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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr" }, "131": { "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x124e8c40a6eca2e3ad10c04050b01a3fad00df3cea47b13592c7571b6914c7a7;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr" }, "133": { "source": "struct Reader<N> {\n data: [Field; N],\n offset: u64,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr" }, "145": { "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr" }, "149": { "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS},\n contract_class_id::ContractClassId, hash::pedersen_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute_from_public_key(\n pub_key: GrumpkinPoint,\n contract_class_id: ContractClassId,\n salt: Field,\n initialization_hash: Field,\n portal_contract_address: EthAddress,\n deployer: AztecAddress\n ) -> AztecAddress {\n AztecAddress::compute(\n PublicKeysHash::compute(pub_key),\n PartialAddress::compute(\n contract_class_id,\n salt,\n initialization_hash,\n portal_contract_address,\n deployer\n )\n )\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n pedersen_hash(\n [pub_keys_hash.to_field(), partial_address.to_field()],\n GENERATOR_INDEX__CONTRACT_ADDRESS\n )\n )\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let contract_address_salt = 3;\n let contract_class_id = ContractClassId::from_field(4);\n let initialization_hash = 5;\n let portal_contract_address = EthAddress::from_field(6);\n let deployer = AztecAddress::from_field(7);\n\n let address = AztecAddress::compute_from_public_key(\n point,\n contract_class_id,\n contract_address_salt,\n initialization_hash,\n portal_contract_address,\n deployer\n );\n\n let expected_computed_address_from_preimage = 0x027ea2b41ced2ec9a98305984e96dd28518536a4628883ccdc06e38aa8997220;\n assert(address.to_field() == expected_computed_address_from_preimage);\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let point = GrumpkinPoint { x: 1, y: 2 };\n let partial_address = PartialAddress::from_field(3);\n\n let address = AztecAddress::compute(PublicKeysHash::compute(point), partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x0447f893197175723deb223696e2e96dbba1e707ee8507766373558877e74197;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "151": { "source": "use crate::{address::EthAddress, constants::L2_TO_L1_MESSAGE_LENGTH, traits::{Deserialize, Empty, Serialize}};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr" }, "154": { "source": "use dep::std::cmp::Eq;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr" }, "156": { "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Hash, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr" }, "162": { "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n self.is_private == other.is_private\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr" }, "166": { "source": "use crate::{\n abis::side_effect::{OrderedValue, ContractScopedOrderedValue},\n traits::{Empty, Serialize, Deserialize}, address::AztecAddress\n};\nuse dep::std::cmp::Eq;\n\nglobal READ_REQUEST_SERIALIZED_LEN = 2;\nglobal READ_REQUEST_CONTEXT_SERIALIZED_LEN = 3;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl OrderedValue<Field> for ReadRequest {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_SERIALIZED_LEN> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_SERIALIZED_LEN] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_SERIALIZED_LEN> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_SERIALIZED_LEN]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> ReadRequestContext {\n ReadRequestContext { value: self.value, counter: self.counter, contract_address }\n }\n}\n\nstruct ReadRequestContext {\n value: Field,\n counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl OrderedValue<Field> for ReadRequestContext {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl ContractScopedOrderedValue<Field> for ReadRequestContext {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ReadRequestContext {\n fn eq(self, read_request: ReadRequestContext) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n & (self.contract_address.eq(read_request.contract_address))\n }\n}\n\nimpl Empty for ReadRequestContext {\n fn empty() -> Self {\n ReadRequestContext {\n value: 0,\n counter: 0,\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_CONTEXT_SERIALIZED_LEN> for ReadRequestContext {\n fn serialize(self) -> [Field; READ_REQUEST_CONTEXT_SERIALIZED_LEN] {\n [self.value, self.counter as Field, self.contract_address.to_field()]\n }\n}\n\nimpl Deserialize<READ_REQUEST_CONTEXT_SERIALIZED_LEN> for ReadRequestContext {\n fn deserialize(values: [Field; READ_REQUEST_CONTEXT_SERIALIZED_LEN]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n contract_address: AztecAddress::from_field(values[2]),\n }\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr" }, "167": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n portal_contract_address : EthAddress,\n function_selector : FunctionSelector,\n gas_left: Gas,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n\n gas_settings: GasSettings,\n transaction_fee: Field,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.portal_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.extend_from_array(self.gas_left.serialize());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n serialized.extend_from_array(self.gas_settings.serialize());\n serialized.push(self.transaction_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n portal_contract_address: EthAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n gas_left: reader.read_struct(Gas::deserialize),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n gas_settings: reader.read_struct(GasSettings::deserialize),\n transaction_fee: reader.read(),\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n portal_contract_address: EthAddress::empty(),\n function_selector: FunctionSelector::empty(),\n gas_left: Gas::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n gas_settings: GasSettings::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr" }, "177": { "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x243b1b69ea529d158803cc7a16b52293c5e5f2a1859337e3f69e4b20f55c6fb6;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr" }, "181": { "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, side_effect::SideEffect\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = SideEffect{\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x12c634ebadf4209e2def6cac0753f151422faf11237dc4f136bc17a84c8c2d76;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = SideEffect{\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x0864975afc9bec7eb7ec5b5608bbef648ec9afead1bbe986d0af148e3c944b9b;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr" }, "183": { "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr" }, "186": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct Gas {\n da_gas: u32,\n l1_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l1_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l1_gas, l2_gas }\n }\n\n fn add(self, other: Gas) -> Self {\n Gas::new(\n self.da_gas + other.da_gas,\n self.l1_gas + other.l1_gas,\n self.l2_gas + other.l2_gas\n )\n }\n\n fn sub(self, other: Gas) -> Self {\n Gas::new(\n self.da_gas - other.da_gas,\n self.l1_gas - other.l1_gas,\n self.l2_gas - other.l2_gas\n )\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l1_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32, serialized[2] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l1_gas == other.l1_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0, 0)\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr" }, "187": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n constants::{GAS_SETTINGS_LENGTH, DIMENSION_GAS_SETTINGS_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasSettings {\n da: DimensionGasSettings,\n l1: DimensionGasSettings,\n l2: DimensionGasSettings,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n fn new(\n da: DimensionGasSettings,\n l1: DimensionGasSettings,\n l2: DimensionGasSettings,\n inclusion_fee: Field\n ) -> Self {\n Self { da, l1, l2, inclusion_fee }\n }\n\n fn get_gas_limits(self) -> Gas {\n Gas { da_gas: self.da.gas_limit, l1_gas: self.l1.gas_limit, l2_gas: self.l2.gas_limit }\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.da == other.da) & (self.l1 == other.l1) & (self.l2 == other.l2) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n DimensionGasSettings::empty(),\n DimensionGasSettings::empty(),\n DimensionGasSettings::empty(),\n 0,\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.da.serialize());\n serialized.extend_from_array(self.l1.serialize());\n serialized.extend_from_array(self.l2.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings {\n da: reader.read_struct(DimensionGasSettings::deserialize),\n l1: reader.read_struct(DimensionGasSettings::deserialize),\n l2: reader.read_struct(DimensionGasSettings::deserialize),\n inclusion_fee: reader.read(),\n }\n }\n}\n\nstruct DimensionGasSettings {\n gas_limit: u32,\n teardown_gas_limit: u32,\n max_fee_per_gas: Field,\n}\n\nimpl DimensionGasSettings {\n pub fn new(gas_limit: u32, teardown_gas_limit: u32, max_fee_per_gas: Field) -> Self {\n Self { gas_limit, teardown_gas_limit, max_fee_per_gas }\n }\n}\n\nimpl Eq for DimensionGasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limit == other.gas_limit) & (self.teardown_gas_limit == other.teardown_gas_limit) & (self.max_fee_per_gas == other.max_fee_per_gas)\n }\n\n}\n\nimpl Serialize<DIMENSION_GAS_SETTINGS_LENGTH> for DimensionGasSettings {\n fn serialize(self) -> [Field; DIMENSION_GAS_SETTINGS_LENGTH] {\n [\n self.gas_limit as Field,\n self.teardown_gas_limit as Field,\n self.max_fee_per_gas,\n ]\n }\n}\n\nimpl Deserialize<DIMENSION_GAS_SETTINGS_LENGTH> for DimensionGasSettings {\n fn deserialize(serialized: [Field; DIMENSION_GAS_SETTINGS_LENGTH]) -> DimensionGasSettings {\n DimensionGasSettings::new(serialized[0] as u32, serialized[1] as u32, serialized[2])\n }\n}\n\nimpl Empty for DimensionGasSettings {\n fn empty() -> Self {\n DimensionGasSettings::new(0,0,0)\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr" }, "188": { "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr" }, "191": { "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n constants::{NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH, NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey\n};\n\nstruct NullifierKeyValidationRequest {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n}\n\nimpl Eq for NullifierKeyValidationRequest {\n fn eq(self, request: NullifierKeyValidationRequest) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequest {\n fn empty() -> Self {\n NullifierKeyValidationRequest {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH> for NullifierKeyValidationRequest {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH> for NullifierKeyValidationRequest {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n }\n }\n}\n\nimpl NullifierKeyValidationRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> NullifierKeyValidationRequestContext {\n NullifierKeyValidationRequestContext { public_key: self.public_key, secret_key: self.secret_key, contract_address }\n }\n}\n\nstruct NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint,\n secret_key: GrumpkinPrivateKey,\n contract_address: AztecAddress,\n}\n\nimpl Eq for NullifierKeyValidationRequestContext {\n fn eq(self, request: NullifierKeyValidationRequestContext) -> bool {\n (request.public_key.eq(self.public_key))\n & (request.secret_key.eq(self.secret_key))\n & (request.contract_address.eq(self.contract_address))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequestContext {\n fn empty() -> Self {\n NullifierKeyValidationRequestContext {\n public_key: GrumpkinPoint::zero(),\n secret_key: GrumpkinPrivateKey::zero(),\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH> for NullifierKeyValidationRequestContext {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH] {\n [\n self.public_key.x,\n self.public_key.y,\n self.secret_key.high,\n self.secret_key.low,\n self.contract_address.to_field(),\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH> for NullifierKeyValidationRequestContext {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH]) -> Self {\n Self {\n public_key: GrumpkinPoint::new(fields[0], fields[1]),\n secret_key: GrumpkinPrivateKey::new(fields[2], fields[3]),\n contract_address: AztecAddress::from_field(fields[4]),\n }\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier_key_validation_request.nr" }, "192": { "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber,\n nullifier_key_validation_request::NullifierKeyValidationRequest, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [SideEffect; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest; MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [SideEffect; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n encrypted_logs_hash: Field,\n unencrypted_logs_hash: Field,\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\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: The following 2 values are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n chain_id: Field,\n version: Field,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.nullifier_key_validation_requests == other.nullifier_key_validation_requests) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_stack_hashes == other.private_call_stack_hashes) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.encrypted_logs_hash == other.encrypted_logs_hash) &\n (self.unencrypted_logs_hash == other.unencrypted_logs_hash) &\n (self.encrypted_log_preimages_length == other.encrypted_log_preimages_length) &\n (self.unencrypted_log_preimages_length == other.unencrypted_log_preimages_length) &\n self.historical_header.eq(other.historical_header) &\n self.chain_id.eq(other.chain_id) &\n self.version.eq(other.version)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..MAX_NOTE_HASH_READ_REQUESTS_PER_CALL{\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL{\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL{\n fields.extend_from_array(self.nullifier_key_validation_requests[i].serialize());\n }\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL{\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL{\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n fields.extend_from_array(self.private_call_stack_hashes);\n fields.extend_from_array(self.public_call_stack_hashes);\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n fields.push(self.encrypted_logs_hash);\n fields.push(self.unencrypted_logs_hash);\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.push(self.chain_id);\n fields.push(self.version);\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_key_validation_requests: reader.read_struct_array(NullifierKeyValidationRequest::deserialize, [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialize, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hash: reader.read() as Field,\n unencrypted_logs_hash: reader.read() as Field,\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n chain_id: reader.read(),\n version: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [SideEffect::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n encrypted_logs_hash: 0,\n unencrypted_logs_hash: 0,\n encrypted_log_preimages_length: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n chain_id: 0,\n version: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x02e09d8c4897d560bd4caf05ab45fa22e1d4a251bf5b5e0448310a7f40f7a0b8;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr" }, "194": { "source": "use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr" }, "195": { "source": "use crate::{\n address::AztecAddress, constants::GENERATOR_INDEX__SIDE_EFFECT,\n traits::{Empty, Hash, Serialize, Deserialize}\n};\nuse dep::std::cmp::Eq;\n\nglobal SIDE_EFFECT_SERIALIZED_LEN = 2;\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\ntrait OrderedValue<T> where T: Eq {\n fn value(self) -> T;\n fn counter(self) -> u32;\n}\n\ntrait ContractScopedOrderedValue<T> where T: Eq {\n fn value(self) -> T;\n fn counter(self) -> u32;\n fn contract_address(self) -> AztecAddress;\n}\n\nstruct SideEffect {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for SideEffect {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<SIDE_EFFECT_SERIALIZED_LEN> for SideEffect {\n fn serialize(self) -> [Field; SIDE_EFFECT_SERIALIZED_LEN] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<SIDE_EFFECT_SERIALIZED_LEN> for SideEffect {\n fn deserialize(values: [Field; SIDE_EFFECT_SERIALIZED_LEN]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nstruct SideEffectLinkedToNoteHash{\n value: Field,\n note_hash: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffectLinkedToNoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for SideEffectLinkedToNoteHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffectLinkedToNoteHash {\n fn eq(self, side_effect: SideEffectLinkedToNoteHash) -> bool {\n (self.value == side_effect.value)\n & (self.note_hash == side_effect.note_hash) \n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffectLinkedToNoteHash {\n fn empty() -> Self {\n SideEffectLinkedToNoteHash {\n value: 0,\n note_hash: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffectLinkedToNoteHash {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize(),\n GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<3> for SideEffectLinkedToNoteHash {\n fn serialize(self) -> [Field; 3] {\n [self.value, self.note_hash, self.counter as Field]\n }\n}\n\nimpl Deserialize<3> for SideEffectLinkedToNoteHash {\n fn deserialize(values: [Field; 3]) -> Self {\n Self {\n value: values[0],\n note_hash: values[1],\n counter: values[2] as u32,\n }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/side_effect.nr" }, "197": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l1_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n fn new(fee_per_da_gas: Field, fee_per_l1_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l1_gas, fee_per_l2_gas }\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l1_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1], serialized[2])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l1_gas == other.fee_per_l1_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0, 0)\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr" }, "199": { "source": "use crate::{\n abis::{\n call_context::CallContext, read_request::ReadRequest,\n side_effect::{SideEffect, SideEffectLinkedToNoteHash}, gas::Gas\n},\n address::AztecAddress,\n constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs{\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hash: Field,\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n // gas left after execution is completed\n gas_left: Gas,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n fields.push(self.unencrypted_logs_hash);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.gas_left.serialize());\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(SideEffectLinkedToNoteHash::deserialize, [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hash: reader.read() as Field,\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n gas_left: reader.read_struct(Gas::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [SideEffect::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [SideEffectLinkedToNoteHash::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hash: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n gas_left: Gas::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x00147d3d2cde08ee1046bf73cb6664c2bdf11b43c5dca0e72f4137f354bdad25;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr" }, "200": { "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u64 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr" }, "204": { "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::constants::{\n FUNCTION_TREE_HEIGHT, GENERATOR_INDEX__SILOED_NOTE_HASH, GENERATOR_INDEX__OUTER_NULLIFIER,\n GENERATOR_INDEX__VK, GENERATOR_INDEX__CONSTRUCTOR, GENERATOR_INDEX__PARTIAL_ADDRESS,\n GENERATOR_INDEX__CONTRACT_ADDRESS, GENERATOR_INDEX__NOTE_HASH_NONCE,\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(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\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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\npub fn compute_logs_hash(previous_log_hash: Field, current_log_hash: Field) -> Field {\n accumulate_sha256(\n [\n previous_log_hash,\n current_log_hash\n ]\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "205": { "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr" }, "213": { "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr" }, "214": { "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr" }, "334": { "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: pub AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr" } } }
1
+ { "noir_version": "0.28.0+b6ee6a5888e47e7e17024eb66172459a13bdeb3a", "name": "MultiCallEntrypoint", "functions": [{ "name": "entrypoint", "is_unconstrained": false, "custom_attributes": ["aztec(private)"], "abi": { "parameters": [{ "name": "inputs", "type": { "kind": "struct", "path": "aztec::context::inputs::private_context_inputs::PrivateContextInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }, { "name": "start_side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] }, "visibility": "private" }, { "name": "app_payload", "type": { "kind": "struct", "path": "authwit::entrypoint::app::AppPayload", "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall", "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "target_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "is_public", "type": { "kind": "boolean" } }] } } }, { "name": "nonce", "type": { "kind": "field" } }] }, "visibility": "public" }], "param_witnesses": { "app_payload": [{ "start": 38, "end": 55 }], "inputs": [{ "start": 0, "end": 38 }] }, "return_type": { "abi_type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs", "fields": [{ "name": "call_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::call_context::CallContext", "fields": [{ "name": "msg_sender", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "storage_contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "is_delegate_call", "type": { "kind": "boolean" } }, { "name": "is_static_call", "type": { "kind": "boolean" } }, { "name": "side_effect_counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "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": "max_block_number", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::max_block_number::MaxBlockNumber", "fields": [{ "name": "_opt", "type": { "kind": "struct", "path": "std::option::Option", "fields": [{ "name": "_is_some", "type": { "kind": "boolean" } }, { "name": "_value", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }, { "name": "note_hash_read_requests", "type": { "kind": "array", "length": 32, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_read_requests", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::read_request::ReadRequest", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "nullifier_key_validation_requests", "type": { "kind": "array", "length": 1, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::nullifier_key_validation_request::NullifierKeyValidationRequest", "fields": [{ "name": "master_nullifier_public_key", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint", "fields": [{ "name": "x", "type": { "kind": "field" } }, { "name": "y", "type": { "kind": "field" } }] } }, { "name": "app_nullifier_secret_key", "type": { "kind": "field" } }] } } }, { "name": "new_note_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::note_hash::NoteHash", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "new_nullifiers", "type": { "kind": "array", "length": 16, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::nullifier::Nullifier", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "note_hash", "type": { "kind": "field" } }] } } }, { "name": "private_call_stack_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "field" } } }, { "name": "public_call_stack_hashes", "type": { "kind": "array", "length": 16, "type": { "kind": "field" } } }, { "name": "new_l2_to_l1_msgs", "type": { "kind": "array", "length": 2, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::messaging::l2_to_l1_message::L2ToL1Message", "fields": [{ "name": "recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "content", "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 } }, { "name": "encrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "unencrypted_logs_hashes", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::side_effect::SideEffect", "fields": [{ "name": "value", "type": { "kind": "field" } }, { "name": "counter", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } } }, { "name": "encrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "unencrypted_log_preimages_length", "type": { "kind": "field" } }, { "name": "historical_header", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::header::Header", "fields": [{ "name": "last_archive", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "content_commitment", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::content_commitment::ContentCommitment", "fields": [{ "name": "tx_tree_height", "type": { "kind": "field" } }, { "name": "txs_effects_hash", "type": { "kind": "field" } }, { "name": "in_hash", "type": { "kind": "field" } }, { "name": "out_hash", "type": { "kind": "field" } }] } }, { "name": "state", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::state_reference::StateReference", "fields": [{ "name": "l1_to_l2_message_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "partial", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::partial_state_reference::PartialStateReference", "fields": [{ "name": "note_hash_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "nullifier_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "public_data_tree", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot", "fields": [{ "name": "root", "type": { "kind": "field" } }, { "name": "next_available_leaf_index", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }] } }] } }, { "name": "global_variables", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::global_variables::GlobalVariables", "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": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::eth_address::EthAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "fee_recipient", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "gas_fees", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }] } }] } }, { "name": "tx_context", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::transaction::tx_context::TxContext", "fields": [{ "name": "chain_id", "type": { "kind": "field" } }, { "name": "version", "type": { "kind": "field" } }, { "name": "gas_settings", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_settings::GasSettings", "fields": [{ "name": "gas_limits", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "teardown_gas_limits", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas::Gas", "fields": [{ "name": "da_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }, { "name": "l2_gas", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "max_fees_per_gas", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::gas_fees::GasFees", "fields": [{ "name": "fee_per_da_gas", "type": { "kind": "field" } }, { "name": "fee_per_l2_gas", "type": { "kind": "field" } }] } }, { "name": "inclusion_fee", "type": { "kind": "field" } }] } }] } }] }, "visibility": "public" }, "return_witnesses": [1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801], "error_types": {} }, "bytecode": "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", "debug_symbols": "7L3djiRN0px3L3tMEBmRHn+8FUEQKIkSCBCkIFJHxHfvqt19q6pnu6MzesYz083djrgf0dPj9sS84ebRXeb/82//53/63/+///t/+8//9f/6b//9b//hf/mff/sv/+3/+I//4z//t//6+L/+59/y/o//v//+//zH//r3//O//4//+P/+j7/9h+3f/e0//df/8/H//tu/+9v/9Z//y3/623/Y8/5v/+7T16Uh+19fmkYtr69OqXzx1bts7a+v3qXJwVfXlMtfX11TH6+vzlv7t//13/0tC2rh5crChzwLL+VPC69/UriM9PxSGeX91V2+UrnJs5K01Q91l/rFV5fX6RTJH742/aPqBll1h6x6fFW1yPPfoPT98J/3Jq9/3vv7qx/f//MX51zHX1+cc5d/rWbfTFWTTFWz/3k1I7/+gg9Xy9fVbPt4lbPVXD/+k/x7OXJtOY9/889v/fjfH666L/8LedT7vBbrh3/z+9f/NZX6+q9pvL9xql99dRvP/5r69uFre/kHlEIon6FUQvkMpRHKZyidUD5DGYTyCYpshPIZSiKUz1AyoXyGshPKZyjiBsr7VSAlqb9A+btQPy71QKgf53kg1I+bPBDqxyEeCPXj+r4XWvw4uQOhftzZgVA/jutAqB8XdSBULhaaWn0JzXnTE5q3/uE7f7SL46d2sRRC+QylEspnKI1QPkPphPIZyiCUT1DqRiifoSRC+QwlE8pnKDuhfIYibqCkml7fuedfoPxdqB+XeiDUj/M8EOrHTR4I9eMQD4T6cX3fC21+nNyBUD/u7ECoH8d1INSPizoQKm6EPr7fq44Pv3z5FOrHGR0I9eOMDoT6cUYHQv04owOhfpzR90K7H2d0INSPMzoQ6scZHQj144wOhIofobW/6uj9k1BHzuh7oY6c0fdCHTmj74U6ckbfC3XkjL4VOhw5o++FOnJG3wt15Iy+F+rIGX0vVK4Vmlvd3+Vs5aPQv5dTbJVTbZXTbJVzccfOPX8op+V/LWeYKidtm7F60tX19NfvvObxRT3ZWD27sXouvpr3lJ6/Sfz437J/qqcYq6caq6ddXc/7p0F73j7/++nG6hm26kkX38/7nturnn2UT/VcfD/vkl79YpfWPtWTjdWzG6vn4vtZtvH69yyp9k/1FGP1XHw/S36lJWXZt0/3c2rG6unG6rn4fpa97e96PqQmfTnz9vFsvuPDeJz6l3U87te/vjjl8etnor6Ypr8PYkt5s8xl7M86RhkHXFpJzy9uZeQPSvff4ZIsc2njGcr2GMTKL2D+UfwfN5OHv3jZwdL698WnspdXnFgpTf71P74sxuopxuqpxuppxurpxuoZtur583hC5XqSsXqysXqM3c+7sft5N3Y/78bu593Y/bwbu593Y/ezGLufxdj9LMbuZzF2P4ux+1mM3c9i7H4WY/ezGLufxdj9XIzdz8XY/VyM3c/F2P1cjN3Pxdj9XIzdz8XY/VyM3c/F2P1cjd3P1dj9XI3dz9XY/VyN3c/V2P1cjd3P1dj9XI3dz9XY/dyM3c/N2P3cjN3Pzdj93Izdz83Y/dyM3c/N2P3cjN3Pzdj93I3dz93Y/dyN3c/d2P3cjd3P3dj93I3dz93Y/dyN3c/d2P08jN3Pw9j9PIzdz8PY/TyM3c/D2P08jN3Pw9j9PIzdz8PW/Zw3W/dz3mzdz3mzdT/nzdb9nDdb93PebN3PebN1P+fN1v2cN1v3c96M3c/J2P2cjN3Pydj9nIzdz8nY/ZyM3c/J2P2cjN3Pydj9nK6+n0t/rWkrte3/Wk/ejNWTjNWTjdVz9f1c++sjraXVT/+eL//84FE9V9/PfUuverq0T/VUY/U0Y/VcfD/Xkp4fRn/87zI+1TNs1XP15wcP60lX19Pe9dRcP9WTjdWzG6vn4vu5Vinvevrneoqxeqqxei6+n2tPr/u59vb5v/er7+c+3v+eR02f6hm26rn684OH9Vx8P7fSXv+eWy35Uz3ZWD0X38+tvsKKUmv9k/+5+vODh/UUY/VcfD+3Xvqrnl4PFqY/rsd3tNGHf2ypfbVe8iDYJsvlQX7fBgtm6cbqGbbqufqziXf+2yzAoUu5KCQKbq9nvfFhz8fXxec6Xko/lJ4eX/2PcnZb5Yitci6O79v28apn+2KCKlcvwthe3/rxv/vBf+U/iWRPW6mv/0zGx2XIX/839c0y5Fw6qXxBZZDKZyp1I5UvqCRS+YJKJpUvqOyk8gUVIZUvqBRS+YJKJZUvqPjxtu/5NSX5NXr5H0r9+NUjpX486IHS5sdXHin14xWPlPrxf0dK/Xi6I6USRqkf73Wk1I+fOlLqZxHu1j9854/OcfzYOTY/W3M1qfhZsatIpfvZx6tJxc/yXk0qfjb9alLxsxZYk4qQyhdUCql8QaWSyhdU/HjbD0s3U8+/UPmHUj9+9UipHw96oHT48ZVHSv14xSOlfvzfkVI/nu5IqYRR6sd7HSn146eOlPrxSI/v96rjw69pvpT68UhHSv14pO+V7psfj3Sk1I9HOlLqxyMdKfXjkY6UShilfjzSkVI/HulIqSOPVPurjt4/K3XkkQ6UOvJI3ytNjjzSgVJHHulAqSOPdKDUkUc6UCphlDrySAdKHXmkA6UXe6Tc6v6u58Onov/5udY9dWP1DFv15M1YPRf37tzzh3pa/lRPNlbPbqweubqe/voN2cej9ed6irF6qrF6mrF6urF6hq169ovv54M0mH1PxurJxurZr67n/XO9RzP//O9HjNVTjNVz8f38+Af7yiva9/HJ/+xXp2NJevX3XVr7VE83Vs+wVY9cfD/L9kqSy5Jq/1RPMlbPxfez5O2dB/b4ydqnenZj9Yixei6+n3+WgNbHs/mOD48afw9A+6KOx/361xenPH79xNsXbyDfJ8PtUi1zGfuzjlHGAZdW0vOLWxn5g9L9d7g0y1y+T8zbr45+lEc7/VB8+b74sj8T20p5//P9q/KBWnnZYCtPsJVn2Mp32MrFdOWvi/Fxwf9r5QW28gpbeYOt3HYP/a5y2z30m8qr7R76XeW2e+h3ldvuod9VbruHfle56R5a87P7V/lUueke+m3lpnvot5XbWoK4V1tLavdma0nt3mwtqd2brSW1e7O1pHb/84Az5XpsLandm60ltXuztaR2b8bu52bsfu7G7udu7H7uxu7nbux+7sbu527sfu7G7udu7H7uxu7nbux+Hsbu52Hsfh7G7udh7H4exu7nYex+Hsbu52Hsfh7G7udh636Wzdb9LJut+1k2W/ezbLbuZ9ls3c+y2bqfZbN1P8tm636Wzdb9LJux+zkZu5+Tsfs5Gbufk7H7ORm7n5Ox+zkZu5+Tsfs5Gbufk7H7ORu7n7Ox+zkbu5+zsfs5G7ufs7H7ORu7n7Ox+zkbu5+zsft5N3Y/78bu593Y/bwbu593Y/fzbux+3o3dz7ux+3k3dj/vxu5nMXY/i7H7WYzdz2LsfhZj97MYu5/F2P0sxu5nMXY/i7H7uRi7n4ux+7kYu5+Lsfu5GLufi7H7uRi7n4ux+7kYu5+Lsfu5Grufq7H7uRq7n6ux+7lefT+X/lqpXmrbP9VTjNVTjdXTjNVz9f1c+yugqLT6+d/zsFXP5Z8f7Ft61dOlfaonGasnG6vn4vu5lvSMFnv87w85VM96xFg9xVg99ep62ruemuunepqxerqxei6+n2uV8q6nf6rn6s8PHtaTjNVz8f1ce3rdz7W3T/+9X/35wdrH+9/zqOlTPWKsnmKsnovv51ba699zqyV/qqcZq+fi+7nVV/Rsaq1/8j9Xf37wqJ6rPz94WM/F93Prpb/q6fWX+/Cr793fQbUf/rGlv1+kn776IKZUrv5sYus5v7W2gwU83+QIytWfYlSsXGArL7CVV9jKG2zl3XTl83w1ufoTnGqVl6s/66lYeYKt3HYP/a5y2z30u8pt99DvKrfdQ7+r3HYP/a5y2z30u8pN99BvUifLZrqHfld5Mt1Dv6v86qUTB0u/ytV7JA7rGbbqKbaWIJZiawliKbaWIJZmOo3+u5uhmU6j/7Zy02n031XeFdLot9dv9ox9P/rXW8dLZn/LTI+v/kc5yVY52VY5cu0/s20fr3q2zz9ELf3qHfDb61s//ncfR//s1zejp608vzht48MWri/3jbXXz5r69nFjV/knlUoqX1BppPIFlU4qX1AZpPKZythI5QsqiVS+oJJJ5QsqO6l8QUVI5Qsqfrzt+9crUpJfd+n+Q6kfv3qk1I8HPVLqx1ceKfXjFb9XWjc//u9IqR9Pd6TUj087UurHex0plTBKr/ZIqdWX0pw3PaV56x++80fnOH7qHOtWSeULKo1UvqDSSeULKoNUPlNJG6l8QSWRyhdUMql8QWUnlS+oCKl8QcWPt001vb5zz79Q+YdSP371SKkfD3qk1I+vPFLqxyseKM1+/N+RUj+e7kipH592pNSP9zpSKmGU+vFIj+/3quPDr2m+lPrxSEdK/XikI6V+PNKRUj8e6UDp7scjHSn145GOlPrxSEdK/XikI6USRqkjj1RfHzrKvX9W6sgjHSh15JEOlDrySAdKHXmk75WKI490oNSRRzpQ6sgjHSh15JEOlEoYpRd7pNzq/q5n++Xj0/+opxqrpxmrpxur5+LenXv+UM+nCIZaNmP1JGP15Kvr+TYyo5bdWD1irJ5irB5bkTTVWCRNLbYijWqxFWlU62asnnR1Pe+f6+15+/Tvp2Zj9ezG6rn4ft73/IrT3vfxyf/Ui+/nXdKrv+/S2qd6qrF6mrF6rg662l5h8llS7Z/qGbbqaRffz5K3d1z9vn26n1syVk82Vs/F97PsbX/X8yEo68uXij6ezXd8eNRI/cs6HvfrX1+c8vj1E29fvIF8v7ig/vnSrDO5jP1ZxyjjgEsr6fnFrYz8Qen+O1yKZS7tFXWbtg9vDX8H84/i69XF/yTr75us+2o7GfLbyk0nQ35buelkyO8q7xts5Qm28gxb+Q5buZiufJ67XnuBrdx2D/2ucts99LvKbffQ7yq33UO/qXzY7qHfVW67h35Xue0e+l3ltnvod5XD9tAB20MHbA8dsD10wPbQgdpD24baQ9uG2kPbhtpD24baQ9uG2kPbhtpD24baQ9uG2kPbhtpD2wbbQxNsD02me+g3m5VaMt1Dv63cdA/9tvKL95aWvTy/dSql/fKDxX/UU43V04zV043VM2zVkzdj9SRj9WRj9ezG6hFj9Ri7n7Ox+zkbu5+zsfs5G7ufd2P3827sft6N3c+7sft5N3Y/78bu593Y/bwbu593Y/fzbux+FmP3sxi7n8XY/SzG7mcxdj+LsftZjN3PYux+FmP3sxi7n4ux+7kYu5+Lsfu5GLufi7H7uRi7n4ux+7kYu5+Lsfu5GLufq7H7uRq7n6ux+7kau5+rsfu5Grufq7H7uRq7n6ux+7kau5+bsfu5Gbufm7H7uRm7n5ux+7kZu5+bsfu5Gbufm7H7uRm7n7ux+7kbu5+7sfu5G7ufu7H7uRu7n7ux+7kbu5+7sfu5G7ufh7H7eRi7n4ex+3kYu5+Hsft5GLufh7H7eRi7n4ex+3nYup/7Zut+7put+7lvtu7nvtm6n/tm637um637uW+27ue+2bqf+2brfu6bsfs5Gbuf09X3c+nlVU9t+6d6srF6dmP1iLF6rr6fa3/FzZZWP/97rsbqufp+fjiuVz1d2qd6urF6hq16rv78YC3pGRT9+N8fUoWf9SRj9WRj9exX19Pe9dRcP9Ujxuopxuq5+H6uVcq7nv65nmasnm6snovv5/pwpK96evv03/vVnx+sfbz/PY+aPtWTjNWTjdVz8f3cSnv9e2615E/1iLF6Lr6fW30tEknt8dO3T/VUY/U0Y/VcfD8/foDcX/X0+st9+NX37u+1Ix/+saW/X6Sfvvpg6US/+rOJ7eEu31rbwTrVbxLK+9WfYlSsPMFWnmEr32ErF9jKC2zlFbbyZrryeaZdlw5bue0e+k3lxXYP/a5y2z30u8pt99DvKrfdQ7+r3HYP/a5y2z30u8pt99DvKoftoQW2hxbYHlphe2iF7aHVdA/9Jou3V9M99NvKTffQbyof2+WL5N86v1hsP7ZsrJ7dVj3p4v0DuXd5ffVo+VM9zVg93VY91fTWhe9uhmp668K3lZveuvBd5Rpr7LfX7zuOfT/611vHS2Z/y0yPr/5HOclWOdlWOXLtP7NtH696ts+/WjKu3pGette3fvzvPo7+2dfnP/v64Qdz+1dfm7by/OK0jQ+b5utXX91eP4Hv28et9OWfVCqpfEGlkcoXVDqpfEFlkMpnKlcvuwehkkjlCyqZVL6gspPKF1SEVL6g4sfbvn/pLCWpv1D5h1I/fvVIqR8PeqTUj688UurHKx4oHX7835FSP57uSKkfn3ak1I/3OlIqYZRe7ZFSqy+lOW96SvPWP3znj85x/Ng5jkoqX1BppPIFlU4qX1AZpPKJStq2jVi+wpKI5SssmVi+wrITy1dYhFi+wuLH4aaaXt+551+w/FOqH9t6KNWPFz2U6sdgHkr14xqPpCY/TvBQqh93dyjVj2M7lOrHhR1KlThS/bilx/d71fHh1zbfUv24pUOpftzSoVQ/bulQqh+3dCQ1+3FLh1L9uKVDqX7c0qFUP27pUKrEkerILdXXx5Fy719IdeSWjqQ6cktHUh25pSOpjtzSgdTdkVs6kurILR1JdeSWjqQ6cktHUiWO1IvdUm51fxe0/fIR638WVK0V1KwV1K0VdHEXzz1/KOhTVEPaZLNWULJWUL66oG/TNR4F7dYKEmsFFWsF2UqweRRkK8LmUdDFN/VB5tCjoGGsoLJZK+jyGK33D//2vH3+N1SytYJ2awVdfFPve37tJtj38dkPlYtv6l3Sq9vv0trngqq1gpq1gq7OyNpe2zmypNo/FzSMFVQvvqklb+8NIPv2+aauyVpB2VpBF9/Usrf9XdCHoK0vnzH6eHbi8eHFI/Uv63hctH99ccrj10/MffFA8v06mAcYsQxm7M86RhkHYFpJzy9uZeQPUvffAlMsg2mvsNy//wb5L2T+WX29uvqfxAV+s9DiUbrpdMnvSzcdL/l96abzJb8tvW24pSfc0jNu6Ttu6WK69HmE+6P0glu67W76bem2u+m3pdvupt+Wbrubfld6t91Nvy3ddjf9tnTb3fTb0m13029Lx+2mHbebdtxu2nG7acftph23mw7cbjpwu+nA7aYDt5tenUqnWTpuNx243XTgdtOB200HbDdNG2w3TRtsN00bbDdNG2w3TRtsN00bbDdNG2w3TRtsN00bbDdNG243TbjdNOF204TbTRNuN706IkmzdNxumnC7acLtpgm3mybcbppxu2nG7aYZt5tm3G56dYSOZum43TTjdtOM200zbjfNuN10x+2mu+luWvPzt0urfC7ddDf9vnTT3fT70v+4JeX9/VHe0vr3paeyl+e3TqU0+Vj6Pwuq1gpq1grq1goaxgr689wR7YKStYKytYJ2awWJtYKs3dRi7aYWaze1WLupxdpNXazd1MXaTV2s3dTF2k1drN3UxdpNXazd1MXaTV2s3dTF2k1drd3U1dpNXa3d1NXaTV2t3dTV2k1drd3U1dpNXa3d1NXaTd2s3dTN2k3drN3UzdpN3azd1M3aTd2s3dTN2k3drN3UzdpN3a3d1N3aTd2t3dTd2k3drd3U3dpN3a3d1N3aTd2t3dTd2k09rN3Uw9pNPazd1MPaTT2s3dTD2k09rN3Uw9pNPazd1MPYTZ03Yzd13ozd1HkzdlPnzdhNnTdjN3XejN3UeTN2U+fN2E2dN2M3dd6s3dTJ2k2drN3UydpNnazd1MnaTZ2s3dTJ2k2drN3UydpNnazd1NnaTZ2t3dTZ2k2drd3U2dpNna3d1NnaTZ2t3dTZ2k2drd3Uu7Wber/6pi69vAqqbf9cULZW0G6tILFW0NU3de2vLWel1S/+UVdrBV19U/ctvQrq0j4X1K0VNIwVdPVnFGtJzy2Fj//9YaHdq6BkraBsraD96oLau6Ca6+eCxFpBxVpBF9/UtUp5F9S/KKhZK6hbK+jim7r29Lqpa2+f/7O/+jOKtY/3P+pR0+eCkrWCsrWCLr6pW2mvf9Stlvy5ILFW0MU3dauvvdaptf7ZD139GcXjgpq1gi6+qVsv/VVQr79cjF997/7egv3hH1z6+4366auPNiDnqz//2HrOb7Ft+17sd2sy89WflNQsPeGWnnFL33FLF9zSC27pFbf0Zrr0b7L1cu24pdvupt+V3mx3029Lt91Nvy3ddjf9tnTb3fTb0m13029Lt91Nvy3ddjf9tnTcbtpwu2nD7aYdt5t23G7acbtpx+2mV38yWrN03G7acbtpx+2m3XQ3/S6BPHfT3fTb0ofpbvpd6fvVSzH29Ba6J/n0S1771asujgsapgra93//NaL2uhdG//Bjly0//9T4nT/19S+SHv6p9Ft/Kv/4T6X8EPb150ZbH68/t334c+n95+Q3/1z5zT9Xf/PPtd/8c/03/9z4vT/39Qf5xuvngY8z67/8wa/+U6mv33AcH34p5OufHkotr/8I3z/8T7u8S0r2Ssr2StrtlSSnlvT6a8o1f0295q9p1/w1/Zq/Zlzy1+Ttmr8mXfPX5Gv+mv2av+bPb4FHl3/ZqW1sBxfT3/Mcn9/70T/fX13ebS4Xi0XVi4uqr9VTtf56hX81gdTX1+Yvr/vcsMvv2OUP6PL3Dbv8hF1+xi5/xy5fsMsv2OVjd90du+vu2F13x+66gt11BbvrCnbXFeyuK9hdV7C7rmB3XcHuuoLddQW76xbsrlss3/v764N3+5iUb/neXyjf8s0j27MMSfXr8i3fPAvlW755jsuvlm+ehfIt+/2F8i37/YXyLd/7xz+Nrpbv/YXyLfv9hfIt+/2F8k133ePyTXfd4/JNd93D8pvprntcvumue1y+6a57XD52123YXbdhd912ededvh58/tq/b0B61vH3rJjXV3/4lZjW0AV0dAEDXEDf0AUkdAEZXcBuRsCrJLFXkkKvfJzGs6T0IRt59juVr+CxlOTDo0X9UFS1WFS7uCjdHwD0jl3+gC5/bNjlJ+zyM3b5O3b5gl1+wS6/YpeP3XUHdtcd0F1336C77r5Bd919g+66+wbddfcNuuvuG3TX3Tforrtv0F1336C77r5hd92E3XUTdtdN2F03YXddhfSMW8vH7rrJ8r1/+FvCe7J87x+Xny3fPIe/KblnyzfPQvmWb56F8i3fPAvlW/b7C+Vb9vsL5Vu+9w9/4WfPlu/94/J3y35/oXzLfn+hfNNd97h80133uHzTXfe4fNNd97h80133uHzTXfe4fOyuu2N3XcHuunJ51/3Jrxdu/fXrYNv4UEf9ICCjC9jRBQi6gIIuoKILaOgCumkBpb4FjF8EfP7q9lop3rcPX9vLW+wIJLZskcSadgMffzl8//q/w2LaDawIMO0GVgQIugDTbmBFgGk3sCLAtBtYEWDaDRx/xmYvpjv8goBqumuvCLDTiV8l2emtr5I0uuV4bmHIueSDklJ5rWz4sMfql5LEXknl4pJ0f5tEI/3mzvIbdvkdu/wBXb5G+s2d5Sfs8jN2+Tt2+YJdPnbXbdhdt2F33YbddRt21+3YXbdjd92O3XU7dtfVyMa5s3zsrtuxu27H7rodu+t27K47sLvuwO66A7vrDuyuq5LNc2P52F13YHfdgd11B3bXHdBdVzborisbdNeVDbrrygbddWWD7rqyQXdd2aC7rmzQXVc26K4rG3bXTdhdN2F33YTddRN211XJ5rmxfOyum7C7bsLuugm76ybsrpuxu27G7roZu+tm7K6rkkt1Y/nYXTdjd92M3XUzdtfN2F13x+66O3bX3bG77o7ddVVyqW4sH7vr7thdd8fuujt2192xu65gd13B7rqC3XUFu+uqJFLdWD521xXsrivYXVewu65gd92C3XULdtct2F23YHddleSnG8vH7roFu+sW7K5bsLtuwe66FbvrVuyuW7G7bsXuupfnTSmXj911sbOpBDubSrCzqQQ7m0qws6kEO5tKsLOpBDubSrCzqQQ7m0qws6kEO5tKsLOpBDubSrCzqQQ7m0qws6kEO5tKsLOpBDubSrCzqQQ7m0qws6kEO5tKsLOpBDubSrCzqQQ7m0qws6kEO5tKsLOpBDubSrCzqQQ7m6pgZ1MV7Gyqgp1NVbCzqcoG3XULdjZVwc6mKtjZVAU7m6pgZ1MV7Gyqgp1NVbCzqQp2NlXBzqYq2NlUBTubqmBnUxXsbKqCnU1VsLOpCnY2VcHOpirY2VQFO5uqYGdTFexsqoKdTVWws6kKdjZVwc6mKtjZVAU7m6pgZ1MV7Gyqgp1NVbCzqQp2NlXBzqYq2NlUBTubqmBnUxXsbKqCnU1VsLOpCnY2VcHOpirY2VQFO5uqYGdTFexsqoKdTVWws6kKdjZVwc6mKtjZVAU7m6pgZ1MV7Gyqgp1NVbCzqQp2NlXBzqYq2NlUBTubqmBnUxXsbKqCnU1VsLOpCnY2VcHOpirY2VQFO5uqYGdTFexsqoKdTVWws6kKdjZVwc6mKtjZVAU7m6pgZ1MV7Gyqgp1NVbCzqQp2NlXBzqYq2NlUBTubqmBnUxXsbKqCnU1VsLOpCnY2VcHOpirY2VQFO5uqYGdTFexsqoKdTVWxs6kqdjZVxc6mqtjZVHWD7roVO5uqYmdTVexsqoqdTVWxs6kqdjZVxc6mqtjZVBU7m6piZ1NV7Gyqip1NVbGzqSp2NlXFzqaq2NlUFTubqmJnU1XsbKqKnU1VsbOpKnY2VcXOpqrY2VQVO5uqYmdTVexsqoqdTVWxs6kqdjZVxc6mqtjZVBU7m6piZ1NV7Gyqip1NVbGzqSp2NlXFzqaq2NlUFTubqmJnU1XsbKqKnU1VsbOpKnY2VcXOpqrY2VQVO5uqYmdTVexsqoqdTVWxs6kqdjZVxc6mqtjZVBU7m6piZ1NV7Gyqip1NVbGzqSp2NlXFzqaq2NlUFTubqmJnU1XsbKqKnU1VsbOpKnY2VcXOpqrY2VQVO5uqYmdTVexsqoqdTVWxs6kqdjZVxc6mqtjZVBU7m6piZ1NV7Gyqip1NVbGzqSp2NlXFzqaq2NlUFTubqmJnU1XsbKqKnU1VsbOpKnY2VcXOpmrY2VQNO5uqYWdTNexsqrZBd92GnU3VsLOpGnY2VcPOpmrY2VQNO5uqYWdTNexsqoadTdWws6kadjZVw86matjZVA07m6phZ1M17Gyqhp1N1bCzqRp2NlXDzqZq2NlUDTubqmFnUzXsbKqGnU3VsLOpGnY2VcPOpmrY2VQNO5uqYWdTNexsqoadTdWws6kadjZVw86matjZVA07m6phZ1M17Gyqhp1N1bCzqRp2NlXDzqZq2NlUDTubqmFnUzXsbKqGnU3VsLOpGnY2VcPOpmrY2VQNO5uqYWdTNexsqoadTdWws6kadjZVw86matjZVA07m6phZ1M17Gyqhp1N1bCzqRp2NlXDzqZq2NlUDTubqmFnUzXsbKqGnU3VsLOpGnY2VcPOpmrY2VQNO5uqYWdTNexsqoadTdWws6kadjZVw86matjZVA07m6phZ1M17Gyqhp1N1bCzqRp2NlXDzqZq2NlUDTubqmFnU3XsbKqOnU3VsbOpOnY2Vd+gu27Hzqbq2NlUHTubqmNnU3XsbKqOnU3VsbOpOnY2VcfOpurY2VQdO5uqY2dTdexsqo6dTdWxs6k6djZVx86m6tjZVB07m6pjZ1N17Gyqjp1N1bGzqTp2NlXHzqbq2NlUHTubqmNnU3XsbKqOnU3VsbOpOnY2VcfOpurY2VQdO5uqY2dTdexsqo6dTdWxs6k6djZVx86m6tjZVB07m6pjZ1N17Gyqjp1N1bGzqTp2NlXHzqbq2NlUHTubqmNnU3XsbKqOnU3VsbOpOnY2VcfOpurY2VQdO5uqY2dTdexsqo6dTdWxs6k6djZVx86m6tjZVB07m6pjZ1N17Gyqjp1N1bGzqTp2NlXHzqbq2NlUHTubqmNnU3XsbKqOnU3VsbOpOnY2VcfOpurY2VQdO5uqY2dTdexsqo6dTdWxs6k6djZVx86m6tjZVB07m6pjZ1N17Gyqjp1N1bGzqQZ2NtXAzqYa2NlUAzubamzQXXdgZ1MN7GyqgZ1NNbCzqQZ2NtXAzqYa2NlUAzubamBnUw3sbKqBnU01sLOpBnY21cDOphrY2VQDO5tqYGdTDexsqoGdTTWws6kGdjbVwM6mGtjZVAM7m2pgZ1MN7GyqgZ1NNbCzqQZ2NtXAzqYa2NlUAzubamBnUw3sbKqBnU01sLOpBnY21cDOphrY2VQDO5tqYGdTDexsqoGdTTWws6kGdjbVwM6mGtjZVAM7m2pgZ1MN7GyqgZ1NNbCzqQZ2NtXAzqYa2NlUAzubamBnUw3sbKqBnU01sLOpBnY21cDOphrY2VQDO5tqYGdTDexsqoGdTTWws6kGdjbVwM6mGtjZVAM7m2pgZ1MN7GyqgZ1NNbCzqQZ2NtXAzqYa2NlUAzubamBnUw3sbKqBnU01sLOpBnY21cDOphrY2VQDO5tqYGdTDexsqoGdTTWws6kGdjbVwM6mGtjZVGnDDqd61A/ddx/1QzfeR/3QnfdRP3TrfdQP3Xsf9UM330f90N33UT90+33UD95/sWOqHgWB91/soKpHQeD9Fzuq6lEQeP/FDqt6FATef7Hjqh4Fgfdf7MCqR3Xg/Rc7supRHXj/xQ6telQH3n+xY6se1YH3X+zgqkd14P0XO7rqUT94/8UOr3rUD95/seOrHvWD91/sAKtH/eD9FzvC6lE/eP/FDrF61A/ef7FjrB71g/df7CCrR/3g/Rc7yupRP3j/xQ6zetQP3n+x46we9YP3X+xAq0f94P0XO9LqUT94/8UOtXrUD95/sWOtHvWD91/sYKtH/eD9Fzva6lE/eP/FDrd61A/ef7HjrR71g/df7ICrR/3g/Rc74upRP3j/xQ65etQP3n+xY64e9YP3X+ygq0f94P0XO+rqUT94/8UOu3rUD95/seOuHvWD91/swKtH/eD9Fzvy6lE/eP/FDr161A/ef7Fjrx71g/df7OCrR/3g/Rc7+upRP3j/xQ6/etQP3n+x468e9WP33wSef5XA868SeP5VAs+/Sht2/03g+VcJPP8qgedfJfD8qwSef5XA868SeP5VAs+/SuD5Vwk8/yqB518l8PyrBJ5/lcDzrxJ4/lUCz79K4PlXCTz/KoHnXyXw/KsEnn+VwPOvEnj+VQLPv0rg+VcJPP8qgedfJfD8qwSef5XA868SeP5VAs+/SuD5Vwk8/yqB518l8PyrBJ5/lcDzrxJ4/lUCz79K4PlXCTz/KoHnXyXw/KsEnn+VwPOvEnj+VQLPv0rg+VcJPP8qgedfJfD8qwSef5XA868SeP5VAs+/SuD5Vwk8/yqB518l8PyrBJ5/lcDzrxJ4/lUCz79K4PlXCTz/KoHnXyXw/KsEnn+VwPOvEnj+VQLPv0rg+VcJPP8qgedfJfD8qwSef5XA868SeP5VAs+/SuD5Vwk8/yqB518l8PyrBJ5/lcDzrxJ4/lUCz79K4PlXCTz/KoHnXyXw/KsEnn+VwPOvEnj+VQbPv8rg+VcZPP8qg+df5Q27/2bw/KsMnn+VwfOvMnj+VQbPv8rg+VcZPP8qg+dfZfD8qwyef5XB868yeP5VBs+/yuD5Vxk8/yqD519l8PyrDJ5/lcHzrzJ4/lUGz7/K4PlXGTz/KoPnX2Xw/KsMnn+VwfOvMnj+VQbPv8rg+VcZPP8qg+dfZfD8qwyef5XB868yeP5VBs+/yuD5Vxk8/yqD519l8PyrDJ5/lcHzrzJ4/lUGz7/K4PlXGTz/KoPnX2Xw/KsMnn+VwfOvMnj+VQbPv8rg+VcZPP8qg+dfZfD8qwyef5XB868yeP5VBs+/yuD5Vxk8/yqD519l8PyrDJ5/lcHzrzJ4/lUGz7/K4PlXGTz/KoPnX2Xw/KsMnn+VwfOvMnj+VQbPv8rg+VcZPP8qg+dfZfD8qwyef5XB868yeP5VBs+/yuD5Vxk8/yqD519l8PyrDJ5/lcHzrzJ4/lUGz7/K4PlXGTz/agfPv9rB86928PyrHTz/at+w++8Onn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1g+df7eD5Vzt4/tUOnn+1m85f2kf662v3Mavf8v2/UL/p/B/ZnmVIqpP6Ld8/K/Vbvn9W6rd8/6zUL+D1W/b/K/Vbvv+llmf9PU3qt3z/r9Rv2f+v1G/Z/y/Ubzr/Z6V+0/13oX7T/XehftP9d6F+0/13oX7T/Xeh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PVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bf3YPntPVh+ew+W396D5bePYPntI1h++wiW3z6C5bePTYLpjeWvRrD89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fwfLbR7D89hEsv30Ey28fjvK9e37K7fnX7/xW66f7rqj1czf3/Vl0lzpR6+dmXlHr515eUevnVl5R62fmXVDrKPF5Ra2jfrug1lG/XVDrZ9ZdUSuh1IbyUo5SnlfUonqptwJUf/RWYNrz7CM/FZRNjubuVJ5fnVL9UPXjf7/02s5hPkGvad9zgl7TzucEvaa9zwl6JZhe0/7nBL2mHdAJek17oBP0mnZMJ+gN5q9s5zCfoDeYv7Kdw3yC3mD+ynYO8wl6g/kr2znMJ+gN5q9s5zCfoDeYv7Kdw3yC3mD+ynYO8wl6g/kr2znMJ+gN5q9s5zCfoDeYv7Kdw3yC3lD+Km+2c5hP0BvKXz30hvJXD72h/NVDrwTTG8pfPfSG8ld5s51b+yO9h5+ceKj1041W1Pq5qw5/2++h1s9NtaLWzz21otbPFLii1s8MuKLWzwS4oNZ2jqm6Wkf9dkGtn9lvRa2fyW9FrYRSG8pL2c4u/UbtWwGqP3orMO15Snl90qWldDR31yLPqmv9+LmYj//mTLsefb2280VP0Gva+Zyg17T3OUGvafdzgl4Jpte0AzpBr2kPdIJe047pBL3B/JXtfFF9vbbzRU/QG8xf2c4XPUFvMH9lO1/0BL3B/JXtfNET9AbzV7bzRU/QG8xflWD+ynZ+7Al6g/mrEsxfFQmmN5i/sp0SfILeYP7KdlLwCXqD+SvbacEn6PXTjxZ+E9l2yqq6Wj931cJvz9hO+NRWazvfU12tnylwRa2fGXBFrZ8JcEWto367oNZRv11Q62f2W1HrZ/JbURvKS9lO89RWazvL8xu1bwWo/uitwLTnafL6zfEu29HcnWR7Vp3Kh39zY/ug17TrOUGvBNNr2vmcoNe09zlBr2n3c4Je0/7nBL2mHZC+Xtt5myfoNe2YTtAbzF/Zzts8Qa8E0xvMX9nO2zxBbzB/ZTtv8wS9sfxVsp23eYLeWP4q2c7bPEFvLH+VNgmmN5a/SrbzNk/QG8tfpS2Wv0pbMH9lOz/2BL3B/FUK5q9SMH9lOyP4BL3B/JXtnOAT9AbzV7azgk/QG8xf2c4LPkFvMH9lOzP4BL3B/JXt3OAT9AbzV7azg0/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9Vg/mrGsxf2c7ZPkFvMH9Vg/mrGsxf2c5SP0FvMH9lO0/9BL3B/JXtTPUT9AbzV7Zz1U/QG8xf2c5WP0FvMH9lO1/9BL3B/JXtjPUT9AbzV8Hy21Ow/PYULL89BctvT8Hy21Ow/PYULL89BctvT8Hy21Ow/PYULL89BctvT8Hy21Ow/PYULL89BctvT8Hy21Ow/PYcLL89B8tvz8Hy23Ow/Pa8STC9sfxVDpbfnoPlt+dg+e05WH57DpbfnoPlt+dg+e05WH57DpbfnoPlt+dg+e05WH57DpbfnoPlt+dg+e05WH57DpbfnoPlt+dg+e05WH57DpbfnoPlt+dg+e05WH57DpbfnoPlt2dHedc9p7++uOdfv/NbrZ9utKLWz13V92fRXerXah0lIa+o9XNPraj1MwWuqPUzA66olVBqHfXbBbWO+u2CWj+z34paP5PfitpQXspR6vGKWlQv9VaA6o/eCkx7nt6ek3QbdRzN3bmMZ9W5fqh61A96JZhe077nBL2mnc8Jek17nxP0mnY/J+g17X/09drOJT5Br2kPdIJe047pBL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8xf2c4lPkFvMH9lO5f4BL3B/JXtXOIT9AbzV7ZziU/QG8tf7bZziU/QG8tf7bZziU/QG8tf7ZsE0xvLX+22c4lP0BvLX+22c4lP0BvMX9nOJT5BbzB/ZTuX+AS9wfyV7VziE/QG81e2c4lP0BvMX9nOJT5BbzB/ZTuX+AS9wfyV7VziE/QG81e2c4lP0BvMX9nOJT5BbzB/ZTuX+AS9wfyV7VziE/QG81d7MH+1B/NXuwTTG8xf2U7aPkFvMH+1B/NXtrPU9fXaTlM/QW8wf2U7Uf0EvcH8le1U9RP0BvNXtpPVT9AbzF/ZTlc/QW8wf2U7Yf0EvcH8le1E9hP0BvNXwfLb92D57Xuw/PY9WH77Hiy/fQ+W374Hy2/fg+W378Hy2/dg+e17sPz2PVh++x4sv30Plt++B8tv34Plt+/B8tv3YPnte7D89j1YfvseLL99D5bfvgfLb9+D5bfvwfLb92D57Xuw/PY9WH77Hiy/fQ+W374Hy2/fg+W378Hy2/dg+e17sPz2PVh++x4sv30Plt++B8tv34Plt+/B8tv3YPnte7D89j1YfvseLL99D5bfLsHy2yVYfrsEy2+XYPntskkwvbH8lQTLb5dg+e0SLL9dguW3S7D8dgmW3y7B8tslWH67BMtvl2D57RIsv12C5bdLsPx2CZbfLsHy2yVYfrsEy2+XYPntEiy/XYLlt0uw/HYJlt8uwfLbJVh+uwTLb5dg+e0SLL9dguW3S7D8dgmW3y7B8tslWH67BMtvl2D57RIsv12C5bdLsPx2CZbfLsHy2yVYfrsEy2+XYPntEiy/XYLlt0uw/HYJlt8uwfLbJVh+uwTLb5dg+e0SLL9dguW3S7D8dgmW3/7/s3dGaY7rSK7e0f1EKSRRi5u9X8902XKdTh7RVbAYEcDbPHiyhD9Oi0BkGjSy/nYj6283sv52I+tvN7L+diPrbzey/nZL1Hdd5/Lrw3X+/SefavOcRj1q87yr6vJ86GpbQ22eN1WP2jzvqR61eVJgj9o8GbBHbZ4E2KE2Uf9xj9pE522H2jzZr0dtnuTXo9ao1FJ5qbCdx6eCqP7oVODZ89SpPBXUaZ8v/ot77Ex+ffhx/jX+i/PseeBqXXcS49V69jx4tZ49D16tZ8+DV2tUaj17Hrxaz54Hr9azP8KrpfJSrhuI0WpX1/3DeLVMXmp13T2MV8vkpdbJqNQyeanVdecwXi2Tl1pd9w3j1VJ5Kdddw3i1VF7Kdc8wXi2Vl3LdMYxXS+WlXPcL49VSeSnX3cJ4tVReynWvMF4tlZdy3SmMV0vlpVz3CePV5jmBluP59//LMTfU5jmBOtS6bub88L/k6fnQVraG2kRvqQ61id5SHWoTJb4OtYkSX4faRImvQy1V4nPdxQlX67qJE6+WKvG5buHEq6VKfK4bOPFqqbbnrts38Wqptueumzfxaqm8lOvWTbzaqF7qVBDVH50KXHueUuangrIvF//FtX/yqdao1Lr2PHC1rj0PXK1rzwNX69rzwNW69jxota6bMPFqXXseuFrX/giulspLuW7AxKul8lKu2y/xaqm81EblpTYqL+W6xRWvlspL7VReaqfyUq4bevFqqbyU64ZevFoqL+W6oRevlspLuW7oxaul8lKuG3rxaqm8lOuGXrxaKi/luqEXr5bKS/lu/oWrpfJSvpt/4WqpvJTv5l+4Wiov5bv5F66Wykv5bv6Fq6XyUr6bf+FqmbzU5rv5F66WyUttvpt/4WqZvNQ2GZVaJi+1+W7+hatl8lKb7+ZfuFoqL+W7+ReulspL+W7+haul8lK+m3/haqm8lO/mX7haKi/lu/kXrpbKS/lu/oWrpfJSvpt/4WqpvJTv5l+4WiovNVN5qZnKS/nusIarpfJSC5WXWqi8lO9+crhaKi/lu58crpbKS/nuJ4erpfJSvludP1J7fUPG5rvVGa42z1vquml/8938C1eb5y3VozZP4utRmyfxdaj13fwLV5vnvL3uOd58twTD1eZJfD1qjUptIi/VoTaRl+pQm8hLdahN5KU61CbyUtdqEzUK96il8lKJGoV71FJ5qbCNwqeCqP7oVODa88zT88N1ec+WP/4Xd6zHrw8f29szr8ubWteeB67WteeBq3XtedBqfTf/wtW69jxwta49D1yta88DV2tUal37I7haKi/lu/kXrpbKS/lu/kWr9d38C1dL5aV8N//C1VJ5Kd/Nv3C1VF7Kd/MvXC2Vl/Ld/AtXS+WlfDf/wtVSeSnfzb9wtVReynfzL1wtlZfy3fwLV0vlpXw3/8LVMnmp3XfzL1wtk5fafTf/wtXmOYHq/PwGWp1//gba7rsvFa3Wd6fmZ2qX50NX2xpq87yletTmeUv1qM2T+HrUGpXaPImvR22i87ZDbaLztkNtnsTXozZP4utQ67tTE66Wykv57tT8F7Wngqj+6FRgnhUs6+s/omWfLv6Lu2652X13X8LVuvY8cLWuPc9Hauf59Ri2NtS69jxwta49D1qt7+5LuFrXngeu1rXngat17Y/gai2P2vX5XeVH4GyozeOletTm8VI9ahN5qQ61ibxUh9pEXuparSXyUh1q43ip/ed9hO9m1i4FcTxPS4F5VmDltdWy+fj7vYHvdly4Wtc+5iO1HY7cdzsuXK1rHwNX69rHoNX6bseFq3XtY+BqXXuez9Ree1Tf7bhwtUalNo+X6lGbyEt1qE3kpTrUJvJSHWrDeKml8XcMvhtvuxSE8TxNBb59zP78yXXd7eJ/M9ddrbvvZlq4WqNS69vHoNX69jFotb59DFqtbx+DVuvbx4DV+m68hav17Y/Qaqm8lO/GW7hao1JL5aV8N97C1VJ5Kd+Nt3C1VF7Kd+MtXC2Vl/LdeAtXS+WlfDfewtVSeSnfjbdwtVReynfjLVwtlZfy3XgLV0vlpXw33sLVUnkp3423cLVUXsp34y1cLZWX8t14C1fL5KWq78ZbuFomL1V9N97C1TJ5qToZlVomL1V9dzfD1TJ5qToxeak6UXkp373ccLVUXsp3LzdcLZWX8t3LDVdL5aV8txl/pPb6Zojqu80YrjbPW+q6zbj6btKFq83zlupRmyfx9ajNk/h61OZJfD1qE52312p9N+nC1eZJfD1q8yS+HrVUXsp3ky5cbVQvdSqI6o9OBa49z1ZeCvbLm1c6Urfvxlu4WteeB63Wd+MtXK1rzwNX69rzwNW69jxwtUal1rXngat17Y/gaqm8lO/WXbhaKi/lu3UXrpbKS/lu3YWrpfJSvlt34WqpvJTv1l24Wiov5bt1F66Wykv5buiFq6XyUr6bf+FqqbyU7+ZfuFoqL+W7+ReulspL+W7+haul8lK+m3/haqm8lO/mX7haKi/lu/kXrpbKS/lu/oWrpfJSvpt/4WqpvJTv5l+4Wiov5bv5F66Wykv5bv6Fq6XyUr6bf+FqqbyU7+ZfuFoqL+W7+ReuNs8J1PFtft99qXC1ed5SHd9A892pCVZ7+O7UhKvNk/h61OZJfD1q8yS+HrWJztsOtYnO2w61eRJfj9o8ia9HLZOXOnx3aqLV+u7U/Be1p4Ko/uhU4Nrz7Nv8UrCvF//FtX/yqda154GrNSq1rj3PR2rn+fUYtjbUuvY8cLWuPQ9crWvPA1fr2vOg1fpucYWrde2P4GrzeKl5ff4GY95LQ20eL9Wj1qjUJvJSHWoTeakOtYm8VIfaRF6qQ61rL1VfR2ity9X+qCPx+W7ohat17aU+UtvhpXw39MLVuvZScLVGpda1l4Krde2l4Gpde6nP1F67C9/Nv3C1ebxUh1rfzb9wtYm8VIfaRF6qQ20iL9Wh1lyr3Y6n2mOqF2rX+fnhdTnP27nUN7W+vRRarW8v9Ynabamvn1wufnJHFvbdEjyUjG+PNpKMbz83kIzvpuKhZHz7xJFkfHvKkWR8+8+RZExkGmTy+Fo0GXngFhl54BYZeeAWGXngBhnfDdNDycgDt8jIA7fIyAO3yJjINMjIA7fIyAO3yMgDt8jIA7fIyAM3yPhuBh9KRh64RUYeuEVGHrhFxkSmQUYeuEVGHrhFRh64RUYeuEVGHrhBxnej+1Ay8sAtMvLALTLywC0yJjINMvLALTLywC0y8sAtMvLALTLywA0yvpv4h5KRB26RkQdukZEHbpExkWmQkQdukZEHbpGRB26RkQdukZEH/pHMMvm+52UoGXngFhl54BYZeeAWGROZBhl54BYZeeAWGXngFhl54BYZeeAGGd/38wwlIw/cIiMP3CIjD9wiYyLTICMP3CIjD9wiIw/cIiMP3CIjD9wg4/u+pqFk5IFbZOSBW2TkgVtkTGQaZOSBW2TkgVtk5IFbZOSBW2TkgRtknN+zNZKMPHCLjDxwi4w8cIuMiUyDjDxwi4w8cIuMPHCLjDxwi4w8cIOM8/vRRpKRB26RkQdukZEHbpExkWmQkQdukZEHbpGRB26RkQdukZEHbpDRPXFNMvLALTLywC0y8sAtMiYyDTKcp/ZylF+fXY4WGc5Tu4MM6S1FNj0FWtkaZDjfwD1kON/APWQ4txA9ZDi3ED1kOLcQPWQ4/Yxt65NMLQ0ynH6mgwzpLUU9ZDi3ED1kSD1wBxlSD9xBxkSmQYbUA3eQIfXAHWRIPXAHGXngFhl54AYZ0luKesjIA7fIyAO3yMgDt8iYyDTIyAO3yCTywB/85LJuz1/FPf7P90/Pb2wSuWA4m0Q+GM4mkRNGs8l0WxGcTSI3/BGb4/mTy7b/zua/P73Ozw+vy/r67FzqG8dE3nkox0ROeyhHE0cIx0QufihHVs+P5siaD9AcWbMEmiNr7sByLJlukxrKUXkGw1F5BsNReQbD0cQRwlF5BsNReQbDUXkGw1F5BsNReQbCMdPNYEM5Ks9gOCrPYDjKP3ZwnF4cS21wlH/EcNR5DfnfdaZbjIZy1HmN4ajzGsNR+0cMRxPHf3A82cgTttnI57XZkO7+tlclU9mXFhvSfV4XG1LP38Mm001McDak3ryLDanf7mJD6qH3/flVrlKt/Mbmjzx0ptubhnIk9dtwjqTeHM6R1MfDOZJ6fjhH0nyA5pjpRquhHElzB5wjaUaBc1SewXA0cYRwVJ7BcFSewXBUnsFwVJ7BcFSegXDMdDvZUI7KMxiOyjMYjsozGI4mjhCOyjMYjsozGI7KMxiOyjMYjsozEI6b8gyGo/IMhqPyDIajfE8Hx+vvBma6VXEkx0z36Y3833Wm2/eGctQ5g+GovRmGo4kjhKP2Zv/keLKRJ2yzkc9rsyHdWdVterE5rMGGdA/VwybT/YFwNqQ+vosNqTfvYkPqt7vYGCebY7anwofY39j84KG354fXenKcJ3vjSOqh4RxJ/TacI6k3h3Mk9fFwjqSeH82R9U5FOEfSLAHnSJo74BxJMwqco4kjhKPyDIaj8gyGo/IMhqPyDIaj8gyC48x6/yKco/IMhqPyDIaj8gyGo4kjhKPyDIaj8gyGo/IMhqPyDIaj8gyEI+v9i3COyjMYjsozGI7KMxiOJo4QjsozGI7KMxiOyjMYjsozGI7KMxCOrPfTwjkqz2A4Ks9gOCrPYDiaOEI4Ks9gOCrPYDgqz2A4Ks9gOCrPQDiy3in6GcfLbrKZ9U5ROEedMx0cLzuMZtY7HOEcdc5AOLLe4QjnqL0ZhqP2Zv/keLKRJ2yzMbFpsuHcWc3T9PzwPC0tNpx7qD42nJ6/jw2nj+9jw+nNu9iQ3jHYx4bTQ8/TXp/PXGz+jc0f7Q5J7w3Ec+T023iOJo4Qjqw+Hs2R1fOjObLmAzRH1iyB5siaO8AcSe8NxHNUnsFwVJ7BcFSewXA0cYRwVJ7BcFSewXBUnsFwVJ7BcFSegXAkvZ8Wz1F5BsNReQbDUXkGw9HEEcJReQbDUXkGw1F5BsNReQbDUXkGwpH07l08R+UZDEflGQxH5RkMRxNHCEflGQxH5RkMR+UZDEflGQxH5RkIR9K7gvEclWcwHJVnMByVZzAcTRwhHJVnMByVZxAcF9I7RT/keNlNtpDeKYrnqHOmg+Nlh9FCeocjnqPOGQxH7c0wHLU3w3DU3uyfHF9sSO9l7GND6vNKfbGZzS7/9zf/9L+/99xBetciniPpfgvO0cQRwpE0d8A5kuYOOEfS3AHnSJo7PuN47lv3vcGRNHegOZLetYjnqDyD4ag8g+GoPIPhaOII4ag88xHH1u+ZSe9axHNUnsFwJM0z87njXt6y3s8c61Sej1HeOb79HoX0rkU4x4U0z8A5kuYZOEfSPAPnSJpn4BxNHK852tP31HVvcCTNM3COpHkGzpE0z8A5Ks9gOCrPQDiS3un7IcfXh+tRGhyVZzAclWcwHJVnMBxNHCEclWcwHJVnMByVZ645HuUp8Ji3BkflGQxH5RkIR9Y7k+EclWcwHJVnMByVZzAcjZPjsm4vjsd+wbGU7cWjbO8NCPsbSdJE8wWSpJnmCyRJU80XSJLmms9IzuX5C4Yy1/03kv/96Y5v+7PeyjyWOusdzoOpkyaswdRJ89hg6qTpbTB1E/UB1JULR1BXhhxBXXlzBHVl0xHUlU0HUGe9j3swdWXTEdSVTUdQVzYdQd1EfQB1ZdMR1JVNR1BXNh1BXdl0BHVl0wHUWe+y/ib165tnWG++HkxdHmbEG0YeZgR1eZgR1OVhBlBnvU95MHXt1/+O+klSHhxFUr4aRdJE8prkMj0//fhxLZLaV6NIKr+hSCqToUgqZ6FIKjthSBrrPesfktyfz1FsnX4j+cOn9/V5bVWpdpw/e61v3JWIxnBXfhrDXWlrDHcT9yHcleTGcFfuG8NdKXEMd2XKMdyVQIdwL8qrY7grr47hrrw6hrvy6hjuJu5DuCuvjuGuvDqGu/LqGO7Kq2O4K68O4T4rr47hrrw6hrvy6hjuyqtjuJu4D+GuvDqGu/LqGO7Kq2O4K6+O4a68OoT7orw6hrvy6hjuyqtjuCuvjuFu4j6Eu/LqGO7Kq2O4K68O4W7ykWju121hZnKRI6jrTIVTv+zyMdOJOoK6ztMR1LX9HUFdu98B1Fdtfv+O+klSHhxFUr66g+RangrLutfLN8H805tgsjfq2s2OoG6iPoC6MuQI6sqQI6grQ46grgw5groyJJz69qwCXvf9Z+qbMuQI6sqbI6grm46grmw6grqJ+gDqyqYjqCubfpF6tQZ1ZdMR1JVNR1BXNu2gvk3lyWNbywX1sq7Ta0bbcv7s97+N25VOx3BXPh3DXQl1DHdl1DHcTdyHcFdOxXPf1p885+/clVTHcFdWHcNdaXUMd+XVIdyr8uoY7sqrcO52bC/ux+8+8o92aFXZ1v+MlIP9z8g0I/SMtv1FbzumxhmjzDyGuzLzGO7KzGO4KzOP4a7MPIT7ocw8hrsyM5778er72ae1wV05eAx3Zdsx3E3ch3BXXh3DXXl1DHfl1THclVfx3OfX3y/v8+/+/Y92xoeyrfcZrZNysP8ZKTPDZ1Sn1+/Havm5I3edlJnHcFdmHsPdxH0Id2XmMdyVmcdwV2Yew12ZGc99fn26Ltbgrhw8hHtRth3DXXl1DHfl1THclVfHcDdxH8JdeRXO/V/u7PqjnXFRtvU/I+Vg/zMizcz2ughmtjpfzqi87ujY7O3Tx4881udXK+e9/PYcJ3XSxDyW+kyalwdTJ03Lg6mTZmUY9ZMkafr9AkkTSRBJ0oT6BZKkOfILJEnT3hdIKpOhSCpngUguyk49JBt/2f+ji9/X+uvD+/G+nXmDrug0ALqSExr6/PqD8dnWn/PqopQ1grqJ+gDqSm8jqCvpjaCuVDiCuhIknPr1zn1R2hxA3ZRMO6jvc31Rt/LXIcmUTAdAVzJFQ+84S03JdAR1E/UB1JVMR1BXMh1BXcl0BHUlUzj1joykZDqA+qpk2kP99Rxlr/Nfh6RVyXQAdCVTNPSOs3RVMh1B3UR9AHUl0xHUlUxHUFcyHUFdyRROvSMjKZkOoL4pmXZQr9OLR33vuf3DkLQpmQ6ArmSKht5xlm5KpiOom6gPoK5kOoK6kukI6kqmI6grmcKpd2QkJdMB1Hcl00+p779RP0kqbqJIKkOiSCoX9pDc7UWy7v/ztyuQ3QT9fuhKhWjoHU55VyocQV2pcAR1pcIR1JUKB1CvSoUjqCtBwqlfb0Cq0uYI6kqmPdTX8/aMWi+oH8vzRx/bW1O97X8UqKppQL4HpMTrfEAKx84HpBztfECK3M4HpHTue0CHgrzzASnzOx+Q1gPOB6RNgvMBmQZ0PaDDXjWNx/r3reqHtgMDoCvxo6F3/NrkUIwfQV3ZfAR1Be77qW+TUvQI6orGI6gr78KpX/46fJsUYkdQN1EfQF3RdAR1ZdMe6nV6fnq6/Hrdv3365K50Ooa78ima+7bU13OUi+doP/M5IWVZ5xMqyr3eJ6SM7H1CytPeJ6Ts7X1Cpgk5n5AyvfcJKf97n5A2Bd4npJ2C9wlpp+B8QrN2Ct4npJ2C9wlpp+B9QtopeJ+QaULOJ6SdgvcJaafgfULaKXifkHYK3ieknYLzCS3aKXifkHYK3ieknYL3CWmn4H1Cpgk5n5B2Ct4npJ2C9wkpD42c0HI8m1yWozEhUx7yPiF5uZETstfdSVa2xoRME3I+IXk57xOSl/M+If1+yPuE9Psh7xNSHho6oe3ZfWC10X2wKg95n5B+P+R9Qvr9kPcJaafgfUKmCTmfkHYK3ieknYL3CWmn4H1C2il4n5B2Cs4ntGmn4H1C2il4n5B2CvAJffAcZ8Xse8PsPL21aG7aKXifkGlCzieknYL3CWmn4H1C2il4n5B2Ct4npJ3C0AmtT9DHPv08oV07Be8T0k7B+4S0U/A+Ie0UvE/INCHnE9JOwfuEtFO4b0Inde0JRlBX9h9BXXl+APWqjD6CunL3COrK0iOoM+TjU61RqWXIbadahgx0qmXIHqdaBs9/qmXw2i+1h2uPeyz2UrtvF2rL+nyMslpDrWtvCVfr2tN9pBbca3a49l1DyZjINMi49nNDybj2fkPJuPaJQ8m49pRDybj2nwPJ7FMer4omk8fXosnIA7fIyAO3yJjINMjIA7fIyAO3yMgDt8jIA7fIyAM3yBR54BYZeeAWGXngFhl54BYZE5kGGXngFhl54BYZeeAWGXngFhl54AaZWR64RUYeuEVGHrhFRh64RcZEpkFGHrhFRh64RUYeuEVGHrhFRh64QWaRB26RkQdukZEHbpGRB26RMZFpkJEHbpGRB26RkQdukZEHbpGRB26Q8X33/VAy8sAtMvLALTLywC0yJjINMvLALTLywC0y8sAtMvLADTK+74z+GpnlKL8+uxwtMpx+pocM59lk01Ogla1BhvNs6iHDeTb1kOE8m3rIcO5nOsj4vjdzKBlOP3N9T+Tu+57IoWQ49zM9ZExkGmRIPXAHGVIP3EGG1AN3kCH1wB1kSD3wNRnf97wNJSMP3CIjD9wiIw/cImMi0yAjD9wiIw/cIiMP3CIjD9wik8gDf/CTy7o+r6Mu6/52H3X56dPz+uQ47w2Ovm9dCsQxkb8eyjGRGx/KMZF3B3E82ZjYNNkk8u9wNokcPJxNIg8PZ5PIxcPZyMc32SS6LQrPhtRvb68bNMtm829s/ihHZ7q1aihHUr/9Ecd5fgm0tcHRxBHCkdTHwzmSen44R9J8AOdImiXgHElzB5hjzXRL2Pc4Xu5ra6Y7xYZyZM0zr4hStr3+dZ6pme4rG8rRxPGSY885w5pn0BxZ8wyaI2ueQXNkzTNojqx5Bswx041vQzmy5pmPOF7nmUy3yQ3lqDyD4WjiCOFImmf26fnhsq/TBceyPgWW1RocSfMMnCNpnvmII7ZnrWa6jS8Mc9KcNJJ5phsEwzAnzV9DmZNmtaHMSXPdUOYm5rczV168n7my5f3MlUPvZ64cej9z5dDbmWe6xTMMc+XQ+5krh97PXDn0fuYm5rczVw69n7ly6P3MlUPvZ64cej9z5dDbmWe6STcMc+XQ+5krh97PXDn0fuYm5rczVw69n7ly6P3MlUPvZ64cej9z5dDbma/KofczVw69n7ly6P3MlUPvZ25ifjtz5dD7mSuH3s9cOfR+5sqh9zNXDr2d+aYcej9z5dD7mSuH3s9cOfR+5ibmtzNXDr2fufw5lvlylF+fXY4Wc/nz25nv8i1Y5jY90VnZGszlW+5nbmJ+O3P5lvuZa39+P3Ptz+9nLn8OZn5938kuf34786r9+f3MtT+/n7ly6P3MlUPvZ25ifjtz5dD7mSuH3s9cOfR+5sqh9zNXDr2d+aEcej9z5dD7mSuH3s9cOfR+5ibmtzNXDr2fuXJoB/MPfvI8L9NJYzk/XT+jcU5IqdX7hJRxvU9Iidj3hI5J+fm+CZ3UlaBHUFeGHkFdKXoEdRP1AdSVpEdQV5YeQV35eAR1Zd4R1JVjB1AvyqZo6vVFfXn/BsOP24Ni9amwrMv7p+vbjJRk/c9IuXfkjLANAEdRns40TdM0E01T+T/TNLVXyDRN7SsyTVN7kEzT1H4l0TRn7W0yTVMbnkzT1C4o0zS1C8o0TdM0E01Tu6BM09QuKNM0tQvKNE3tgjJNU7ugRNNctAvKNE3tgjJNU7ugTNPULijTNE3TTDRN7YIyTVO7oEzT1C4o0zS1C8o0Te2CEk3TtAvKNE3lzSjTvL5v8TDTNBNNU542yjSv7xQ7TJ420zTlaRNNc5WnzTRN/X4z0zT1+81M01TeDDPNy/7zYzVNM9E09fvNTNPU7zczTVO7oEzT1C4o0zS1C0o0zU27oEzT1C4o0zS1C8o0Te2CMk3TNM1E09QuKNM0tQsaOs1PntlenMs6NbrAN22Dcs1T+6Bc89RGKNU8d+2Ecs1TW6Fc89ReKNc8tRkKOc+yNOZpmmeqeWo7lGue2g+Fmeda1tc836fy2zy1H8o1T+2Hcs1T+6FU86zaD+Wap/ZDueap/VCueWo/FHKey9qYp2meqeap/VCueWo/5HOe54S08fE+Ie1wwBNaSn1NaLWLCRWrdr7nGr93rNrLuJ/RoV3LyBmB+ycPbVoyTVN7lkzT1JYl0zRN00w0TW1YMk1T+5VM09QuJtM0tbfJNE1teNJM06ZJu6BM09QuKNM0tQvKNE3tgjJN0zTNRNPULijTNLULyjRN7YIyTVO7oEzT1C4o0TSLdkGZpqldUKZpaheUaZraBWWapmmaiaapXVCmaWoXlGma2gVlmqZ2QYmmOStvRpnmcpRfn12O1jSVNzNNU542yjQvbwB/TFOeNtM05WkzTVOeNtM09fvNRNNc9PvNTNNU3gwzzav79R7TVN7MNE39fjPTNE3TTDRN7YIyTVO7oEzT1C4o0zS1C8o0Te2CEk3TtAvKNE3tgjJNU7ugTNPULijTNE3THDnNT575+p7oxzy1Dco1T+2Dcs1TG6Fc89ROKNc8tRVKNc9Ve6Fc89RmKOQ8y9KYp3ZDueap7VCueZrmGWWe1/dEP+ap/VCueWo/lGue2g/lmqf2Q7nmqf1Qqnlu2g/lmqf2QyHnuayNeWo/lGue2g/lmqdpni7neU5IGx/vE9IOBz2hdXtN6NguJnTMx68PH/v5V5Lzg/M5IW1lvE9Ie5aREwJ3T27asiSa5q4dS6ZpasOSaZrar2SaprYrmaZpmmaiaWoPk2ma2tlkmqb2O5mmqV1QpmlqF5RomlW7oEzT1C4o0zS1C8o0Te2CMk3TNM1E09QuKNM0tQvKNE3tgjJNU7ugTNPULijRNA/tgjJNU7ugTNPULijTNLULyjRN0zQTTVO7oEzT1C4o0zSVN6NMcznKr88ux8/TLJPyZqZpytNGmeb17d9lMk0z0TTlaTNNU5420zT1+81M09TvNzNNU3kzzDQv79YrRXkz0zT1+81M09TvNzNNU7ugTNM0TTPRNLULyjRN7YIyTVO7oEzT1C4o0zS1C0o0zVm7oEzT1C5o6DQ/+MmHzb8+e6znHQbv3dFl1i4o0zS1C8o0TdM0E01Tu6BM09QuKNM0tQvKNE3tgsJMc30O5dinxjS1C0o0zUW7oEzT1C4o0zS1C8o0Te2CMk3TNM1E09QuyOc0zwlpv+N9QtrZoCd0vO52tlIuJjTP23J+ev7t0+eMtInxPyPtV8bO6BzR+vObzrQz8T4h7UG8T0i7De8T0r7C+4RME3I+Ie0Vhk5off717Lw3/nrWtFfwPiHtFbxPSFsF7xPSTsH5hFbtFLxPSDsF7xPSTsH7hLRT8D4h04ScT0g7Be8T0k7B+4S0U/ibCZ0clfwxHJXPIRw3pWgMR2VdDEclUgxH5UYMRxNHCEdlMAxHJSUMR+UZDEflGQxH5Zl/cnyx2Vkzyj6/2NT94r+xY30KPOry839jO2tGQXNkzShojqwZBc3RxBHCkTWjoDmyZhQ0R9aMgubImlHQHFkzCphjVZ7BcFSewXBUnsFwVJ7BcDRxhHBUnsFwVJ7BcFSewXBUnsFwVJ6BcDyUZzAclWcwHJVnMByVZzAcTRwhHJVnMByVZzAclWcwHJVnMByVZxAc50l5BsNReQbDUXkGw1F5BsPRxBHCUXkGw1F5BsNReQbDUXkGw1F5BsKxKM9gOCrPYDgqz2A4Ks9gOJo4Qjgqz2A4Ks9gOCrPYDgqz2A4Ks9AOM7KMxiOyjMYjsozGI7KMxiOJo4QjsozGI7KMxiOyjMYjsozGI7KMxCOi/IMhqPyDIaj8gyGo/IMhqOJI4Sj8gyGo/IMhqPyDIaj8gyGo/IMhKMpz2A4Ks9gOCrPYDgqz2A4mjhCOCrPYDgqz2A4Ks9gOCrPYDgqz0A4rsozGI7KMxiOyjMYjsozGI4mjhCOyjMYjsozGI7KMxiOyjMYjsozEI6b8gyGo/IMhqPyDIaj8gyGo4kjhKPyDIaj8gyGo/IMhqPyDIaj8gyE4648g+GoPIPhqDyD4ag8g+Fo4gjhqDyD4ag8g+GoPIPhqDyD4ag8A+FYlWcwHJVnMByVZzAclWcwHE0cIRyVZzAclWcwHJVnMByVZzAclWcgHA/lGQxH5RkMR+UZDEflGQxHE0cIR+UZDEflGQxH5RkMR+UZDEflGQTHZVKewXBUnsFwVJ7BcFSewXA0cYRwVJ7BcFSewXBUnsFwVJ7BcFSegXAsyjMYjsozGI7KMxiOyjMYjiaOEI7KMxiOyjMYjsozGI7KMxiOyjMQjrPyDIaj8gyGo/IMhqPyDIajiSOEI0OeOdUypI5TLUM2ONUyOPhTLYPPfqmluF3+VMvgWU+1DM7yVMvg/061RqWWyktR3CB+qo3qpU4FUf3RqSCq53kpCHur9Kkgqjc5FUT1G6eCqB7iVGDhFUQ9608FUc/vU0H4MznsLbGngvBnctibUU8F4c/ksLeBngrCn8lhb8A8FYQ/k8Pe+ngqCH8mO7/p8Ki/PnxMZflNwR/9/s/5fYRgtc5vDUSr9e0L0Gp9ewi0Wt9+A63WqNT69jFotb49D1qtb3+EVkvlpZzfhQZW6/zGMrRaKi/l/PYvtFoqL+X8Ji20Wiov5fxWKrRaKi/l/IYntFoqL+X8tiS0Wiov5fzmIbRaKi/l/BYftFoqL+X8Rhy0Wiov5fx2GbRaKi/l/KYWtFoqL+X81hO0Wiov5fwGEbRaKi/l/DYOtFoqL+X8Zgu0WiYvZc5viUCrZfJS5vzGBbRaJi9lk1GpZfJS5vwmALRaJi9lzlv10WqpvJTzhnq0Wiov5bztHa2Wyks5b05Hq6XyUs5byNFqqbyU80ZvtFoqL+W8HRutlspLOW+aRqul8lLOW5vRaqm8lPNuZbRaKi/lvFsZrZbKSznvVkarpfJSzruV0WqpvJTzbmW0Wiov5bxbGa2Wyks572FGq6XyUs77ndFqqbyU895otFoqL+W8jxqtlspLOe+5Rqul8lLO+7PRaqm8lPNebrRaKi/lvO8brZbKSznvEUerpfJSzvvJ0WqpvBRV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nhtV77lR9Z4bVe+5UfWeG1XvuVH1nq9UvecrVe/56qj3/HwmP47nfCZz+Ex+3MP5TH7O+POZ/JzE5zP5OS/PZ/Jzqr2eyVFP9PlMfk6I85kcvscdNSOfz+TwPe6oZfh8JofvcUeNveczOXyPO2q/fT2To47a85kcvscd9b2ez+TwPe6oO/V8JofvcUc9pOczOXyPO+r0PJ/J4XvcUT/m+UwO3+OOuibPZ3L4Hv9yb+P576w3/TvbTf/OftO/U2/6d457/p0vd9Kd/0656d+Zb/p3lpv+nZveB3bT+8Bueh/YTe8Du+l9YDe9D9ab3gfrTe+D9ab3wXrT+2C96X2w3vQ+WG96H6w3vQ/Wm94H603vg+2m98F20/tgu+l9sN30Pthueh9sN70PtpveB9tN74PtpvfBdtP7YL/pfbDf9D7Yb3of7De9D/ab3geIbxDPu73+nXr8z7/vTjr+dgfxPV/4M+0On6k6fKbD3zMhvn8Kf6bi8Jlmh8+0OHwmc/hMDt/j1eF7vDp8j1eH7/Hq8D1+OHyPHw7f44fD9/jh8D1+OHyPHw7f44fD9/jh8D1+OHyPH/7e49vk7z2+Tf7e49vk7z2+Tf7e49vk7z2+Tf7e49vk7z2+Tf7e49vk7z2+TQ7f48Xhe7w4fI8Xh+/x4vA9Xhy+x4vD93hx+B4vDt/jxeF7vDh8j88O3+Ozw/f47PA9Pjt8j88O3+Ozw/f47PA9Pjt8j88O3+Ozw/f44vA9vjh8jy8O3+OLw/f44vA9vjh8jy8O3+OLw/f44vA9vjh8j5vD97g5fI+bw/e4OXyPm8P3uDl8j5vD97g5fI+bw/e4OXyPrw7f46vD9/jq8D2+OnyPrw7f46vD9/jq8D2+OnyPrw7f46vD9/jm8D2+OXyPbw7f45vD9/jm8D2+OXyPbw7f45vD9/jm8D2+OXyP7w7f47vD9/ju8D2+O3yP7w7f4w6/z7k5/D7n5vD7nJvD73NuDr/PuTn8Pufm8Pucm8Pvc24Ov8+5Ofw+5+bw+5ybw+9zbg6/z7k5/D7n5vD7nJvD73NuDr/PuTn8Pufm8Pucm8Pvc24Ov8+5Ofw+5+bw+5ybw+9zbg6/z7k7/D7n7vD7nLvD73PuDr/PuU/+3uO7w+9z7g6/z7k7/D7n7vD7nLvD73PuDr/PuTv8Pufu8Pucu8Pvc+4Ov8+5O/w+5+7w+5y7w+9z7g6/z1m/3BP935/+7Fbd5am2Hvt2fvrHW3U/+cnlYT6eCvd1en16LvaXP3le1ueH5+V4e+b6I42lvn5yufjJy1F+fXY55sY0fd9/rWl+NM0vd55rmvdO0/f95ZrmZ9P0c4+Ypvn30/RzA5um+ffTNE0z0TT93N6qaf79NP3ce6tp/v00/dwYrGn+/TS1C8o0Te2CokzT5uPXZ83s52nu2gVlmqZ2QZmmqV1QpmlqFxRmmuWc5tqYpmmaiaapXVCmaWoXlGma2gVlmqZ2QZmmqV1QmGlOz6FY2X6eZtUuKNM0tQvKNE3tgjJNU7ugTNM0TTPRNLULyjRN7YIyTVO7oEzT1C4o0zS1C0o0zUO7oEzT1C4o0zS1C8o0Te2CMk3TNM1E09QuKNM0tQvKNE3tgjJNU7ugTNPULijPNI9Ju6BM09QuKNM0tQvKNE3tgjJN0zTNRNPULijTNLULyjRN7YIyTVO7oEzT1C4o0TSLdkGZpqldUKZpaheUaZraBWWapmmaiaapXVCmaWoXlGma2gUlmuasvImeZqmvaa4GnOZ1d/QxK29mmqbyZqZpKm9mmqZpmommqbyZaZrKm5mmqbyZaZr624NM09TfHiSa5qJdUKZpahcUZZrXt9sci3ZBmaapXVCmaZqmmWia2gWFmeblDRrHol1QpmlqF5RpmtoFZZqmdkGJpmnaBWWapnZBYaZ5/Td7pl1QpmlqF5RpmqZpJpqmdkGZpqldUKZpaheUaZraBWWapnZBiaa5aheUaZraBWWapnZBmaapXVCmaZqmmWia2gVlmqZ2QZmmqV1QpmlqF5RpmtoFJZrmpl1QpmlqF5RpmtoFZZqmdkGZpmmaZqJpaheUaZraBWWapnZBmaapXVCmaWoXlGiau3ZBmaapXVCmaWoXlGma2gVlmqZpmommqV1QpmlqF5RpmtoFZZqmdkGZpqldUKJpVuVN8DTnOr2mWZC3wnV0R1flzUzTNE0z0TSVNzNNU3kz0zSVNzNNU3kz0zSVNxNN89DfHmSapv72INM0tQvKNE3tgqJMs+N2m8M0zUTT1C4o0zS1C8o0Te2Cwkzz+gaNQ7ugTNPULijNNNdp0i4o0zS1C8o0Te2CMk1Tu6Aw07z6m73HNE3TTDRN7YIyTVO7oEzT1C4o0zS1C8o0Te2CEk2zaBeUaZraBWWapnZBmaapXVCmaZqmmWia2gVlmqZ2QZmmqV1QpmlqF5RpmtoFJZrmrF1QpmlqF5RpmtoFZZqmdkGZpmmaZqJpaheUaZraBWWapnZBmaapXVCmaWoXlGiai3ZBmaapXVCmaWoXlGma2gVlmqZpmommqV1QpmlqF5RpmtoFZZqmdkGZpqldUKJpmnZBmaapXVCmaZqmeT1NZMPzg7lS4f3Mld3uZ66EdT9z5aD7mSut3M58Vaa4n7mc//3M9bva+5nrN6r3Mzcxv525ciiW+eUtFQ/myqH3M1cOvZ+5cuj9zJVDwcyvG9o35dD7mSuH3s9cOfR+5sqh9zM3Mb+duXIomPn17/035dD7mSuH3s9cOfR+5sqhtzPflUPvZ64cej9z5dD7mSuH3s/cxPx25sqh9zNXDr2fuXLo/cyVQ+9nrhx6O/OqHHo/c+XQ+5krh97PXDn0fuYm5rczVw69n7ly6P3MlUPvZ64cej9z5dDbmR/KofczVw69n7ly6P3MlUPvZ25ifjtz5dD7mSuH3s9cOfR+5sqh9zNXDr2beZmUQ+9nrhx6P3Pl0PuZK4fezzyRP4e2CZUpkYsGk0nkdcFkEjlSLJmSyDeCySRyd2AyiTwYmEwipwQmYyLTIJNo+w0mIw/cIsPpga+76Urh9MA9ZDg9cAeZmdMD95Dh9MDXXVJl5vTAPWQ4PXAPGROZBhlOD9xDhtMD95Ah9cDXvzuYST1wBxlSD3xNZiH1wB1kSD1wBxlSD9xBhtQDd5AxkWmQIfXAHWRIPXAHGXngFhl54BYZeeAGGZMHbpGRB26RkQdukZEHbpExkWmQkQdukZEHbpGRB26RkQdukZEHbpDJdN89mIw8cIuMPHCLjDxwi4yJTIOMPHCLjDxwi4w8cIuMPHCLjDxwg0ymu7bBZOSBW2TkgVtk5IFbZExkGmTkgVtkXPuZuh0vMlO9IvPBT57PL6vMVt8/Pf/w6XLU6fnpaZ7enqP85YQ6vpvn+1ZaTWgtvu+w1YQeE3LtMzWhx4Rc+11N6DEh175bE3pMyDQh5xNynUM0oceEXP9OQBN6TMj17yY0oceEtFPwPiHtFEZOqKMpxfd9xJrQY0LaKXifkHYK3iekncLQCV23ovi+R1kTekxIOwXvE9JOwfuEtFPwPiHtFLxPSDuFoRO6/lsf33dLa0KPCWmn4H1C2il4n5B2Ct4nZJqQ8wlpp+B9QtopeJ+QdgreJ6SdgvcJaafge0Kz73vCNaHHhLRT8D4h7RS8T0g7Be8TMk3I+YS0U/A+Ie0UvE9IOwXvE9JOwfuEtFNwPqGinYL3CWmn4H1C2il4n5B2Ct4nZJqQ8wlpp+B9QtopeJ+QdgreJ6SdgvcJaafgfEKzdgreJ6SdgvcJaafgfULaKXifkGlCzieknYL3CWmn4H1C2ik4n9BCmoeW9fnheTn2qwkt+/M5iq3nhB47sx8+vU7PD6+lvn22vlEnzTiDqZPmlsHUSbPIYOom6gOok2aGb1K3+Un9jcbv1ElzwGDqpN5+MHXS3wEOpk76e71vUn/l2HVdfqZuyqYjqCubjqCubDqCurLpCOom6gOoK5vCqb/W/OuyNqgrm46grmw6grqy6QjqyqYDqK/KpiOoK5uOoK5sOoK6sukI6ibqA6grm46grmw6grqy6QjqyqYjqCubDqC+KZuOoK5sOoK6sukI6sqmI6ibqA+grmw6grqy6QjqyqYjqCubjqCubDqA+q5sOoK6sukI6sqmI6grm46gbqI+gLqy6QjqyqYjqCubjqCubDqCurLpAOpV2XQEdWXTEdSVTUdQVzYdQV1+vYP6XOzJY677FfXrLqQqvz6Cuvz6COry6wOoH/LrI6jLr8OpX7c3HPLrI6jLr4+gbqI+gLp+lzSCurLpCOrKpnDq13uYQ9l0BHVl0/upL5Oy6QjqyqYjqCubjqCubDqCuon6AOrKpiOoK5uOoK5sOoK6sukI6sqmA6gXZdMR1JVNR1BXNh1BXdl0BHUT9QHUlU1HUFc2HUFd2XQEdWXTEdSVTQdQn5VNR1BXNh1BXdl0BHVl0xHUTdQHUFc2HUFd2XQEdWXTEdSVTUdQVzYdQH1RNh1BXdl0BHVl0xHUlU1HUDdRH0Bd2XQEdVK/Pu3PL4U+iM4X1K9bMJaF1IGjORqpp4ZzJHXJcI6kvhfOkdTJfsbR5ifHN32/czRxhHAkdZtwjqS/24BzJP1txWccL5tcFlOewXBUnoFwXJVnMByVZzAclWcwHJVnOjhe7x9XE0cIR+UZDEflGQxH5RkMR+UZDEflGQjHTXkGw1F5BsNReQbDUXkGw9HEEcJReQbDUXkGw1F5BsNReQbDUXkGwnFXnsFwVJ7BcFSewXBUnsFwNHGEcFSewXBUnsFwVJ7BcFSewXBUnoFwrMozGI7KMxiOyjMYjsozGI4mjhCOyjMYjsozGI7KMxiOyjMYjsozEI6H8gyGo/IMhqNRcizH/OqdOepVS01HH8DB6R/xHDn9I54jp3/Ec+T0j3iOnP7xQ46XvQo2cfpHPEdO/4jnyLkPx3Pk3Id/yPHye+w2mThCOCrPYDgqz2A4Ks9gOCrPYDgqz3RwvNw/WlGewXBUnsFwVJ7BcFSewXA0cYRwVJ7BcFSewXBUnsFwVJ7BcFSegXAkvd8dz1F5BsNReQbDUXkGw9HEEcJReQbDUXkGw1F5BsNReQbDUXkGwpH0TnA8R+UZDEflGQxH5RkMRxNHCEflGQxH5RkMR+UZDEflGQxH5RkIR9L72PEclWcwHJVnMByVZzAcTRwhHJVnMByVZzAclWcgHEnvvy77vj4VVitXHC/7AIz0/ms8R1L/COdI6h/hHE0cIRxJ/eNnHK97FUjvv8ZzJPWPcI6k+3A4R9J9+Gccr7/HTnr/NZ6j8gyGo/IMhqPyDIajiSOEo/JMB8fr/SPp/dd4jsozGI7KMxiOyjMQjqT3X+M5Ks9gOCrPYDgqz2A4mjhCOCrPYDgqz2A4Ks9gOCrPYDgqz0A4kt5/jeeoPIPhqDyD4ag8g+Fo4gjhqDyD4ag8g+GoPIPhqDyD4ag8A+FIev81nqPyDIaj8gyGo/IMhqOJI4Sj8gyGo/IMhqPyDIaj8gyGo/IMguPKeh87nKPyDIaj8gyGo/IMhiOpf1yP508u2z5fcbzsA1hZ77+GcyT1j3COpP4RzZH1/ms4R1L/+BnHy+9prqz3X8M5kvpHOEcTRwhH0n04nKPyDIaj8kwHx+t8zXr/NZyj8gyEI+v913COyjMYjsozGI7KMxiOJo4QjsozGI7KMxiOyjMYjsozGI7KMxCOrPdfwzkqz2A4Ks9gOCrPYDiaOEI4Ks9gOCrPYDgqz2A4Ks9gOCrPQDiy3n8N56g8g+GoPIPhqDyD4WjiCOGoPIPhqDyD4ag8g+GoPIPhqDwD4ch6Hzuco/IMhqPyDIaj8gyGo4kjhKPyDIZjIv/4+pbLtpWLn7wc5ddnl+P3pzjJJHKEWDKZ7qgGk0nk2sBkEvkwMJlEzgpMxkSmQSaR+wGTSbSfBZNJtHEFk5EHbpHh9MD2yk1m9jOZTPcag8lweuAeMpweuIcMpwe2cpJZG2RMZBpkOD1wDxlOD9xDhtMD95Dh9MA9ZEg98PQUaGX7mUymu3DBZEg9cAcZUg/cQYbUA3eQMZFpkCH1wB1kSD1wBxlSD9xBhtQDd5CRB26QyXR/KpiMPHCLjDxwi4w8cIuMiUyDjDxwi4w8cIuMPHCLjDxwi4w88M9ktkx3boLJyAO3yMgDt8jIA7fImMg0yMgDt8jIA7fIyAO3yMgDt8jIAzfIZLo3FExGHrhFRh64RUYeuEXGRKZBRh64RUYeuEVGHrhBxve9gY8D4klmf1fwI5k6P7/nVue5oda1R4Grde074Gpdewm4WqNS6/rM/0ytvV72e736yctTYLXW+9v1mT+UjOszfygZ13uvoWRc771GkvF9H9tQMok8JZhMIv/5AZlPElr7iU+KiXztQIomigCKnD4cTZHTs6Mpcvp7NEXOLICmyJkbwBR935EWhiJnHkFTVHZBUFR2QVA0UQRQVHZBUFR2QVBUdkFQVHZBUFR2AVD0fR9aGIrKLgiKyi4IisouCIomigCKyi4IisouCIrKLgiKyi4IisouAIq+7/kLQ9FE8eKz1zcRbb5vPAtDUacL4LtRvm/FikLR9w1aYShqM4agqM0YgqI2YwiKJopXFLf1SbGWBkX5RQRFbcYQFLUZQ1BUdkFQVHYBUPR981kYisouCIrKLgiKyi4IiiaKAIrKLgiKyi4IiqTZ5YOnKOvx/MFl+62n7XjjSJpe4BxJ8wuao+976wJxJM0wcI6kKQbOkTTHwDmaOF5x3Jby4mhTgyNploFzJE0zcI7KMxiOyjMYjsozCI677zsIA3FUnvmM497gqDyD4ag8g+Fo4vjbZ08ySigtMsocLTJKES0yygUtMnL6DTK+704cSiaRG7/shd9934cIV5vI2XaoNSq1iTxlh9pEPrFDbSLv16E2kZ/rUJvIo12rzXTHY4daKi+V6Y7HDrVUXirTHY8daqm8VKZ7GzvUUnmpTPcrdqil8lKZ7kHsUEvlpTLdV9ihlspLZbr/r0MtlZfKdJ9eh1oqL5XpfroOtVReKtN9bx1qqbxUpvvTOtRSealM95F1qKXyUpnu9+pQS+WlMt2X1aGWyktlun+qQy2Vl8p0n1OHWiovlel+pA61VF4q031DHWqpvFSm+3s61FJ5qUz34XSopfJSG5WX2qi8VKYbmDrUUnmpjcpLbVReKtNtVR1qqbxUptufOtRSealMtyl1qKXyUpluJ+pQS+WlMt3206GWyktluj2nQy2Vl8p0G02HWiovlel2lw61VF4q020pHWqpvFSm20c61FJ5qUx3eXSopfJSrPcQfHBr0HI86yaXY25Q1G1qCIomigCKuk0NQVG3qSEo6iZoBEXdBI2gqJug/55iZb13AExRN0EjKCq7ICgqu1xRtPn5c82sQdFEEUBR2QVBUdkFQVHZ5ZJiOSmuDYrKLgiKyi4Aiqz3LoApKrsgKCq7ICgqu1xSnJ4wrGwNiiaKAIrKLgiKyi4IisouCIrKLgiKyi4AipnuLhlIUdkFQVHZBUFR2QVB0UQRQFHZBUFR2QVBUdkFQVHZBUFR2QVAMdNdQQMpKrsgKCq7ICgquyAomigCKCq7ICgquyAoKrsgKCq7ICgquwAoZrqbayBFZRcERWUXBEVlFwRFE0UARWUXBEVlFwRFZRcERWUXBEVlFwDFTHfhDaSo7IKgaJ4p2v6iuO52RXF+fqe+zo3v1Pu+3w2u1rX/gqt17ZPgal37Gbha177jM7UfvOuveyKr77vghpJx7Q+GknG9rxxKxvUOcigZE5kGmUSeEkwmkf/8UkJrP/FJMZGvHUgxkV8eSJHTh4Mp+r5zMAxFTn+PpsiZBdAUOXMDmqKJIoAiZx5BU1R2QVBUdkFQVHZBUFR2AVD0fcdnGIrKLgiKyi4IisouCIomigCKyi4IisouCIrKLgiKyi4IisouAIqHsguCorILgqKyC4KisguCookigKKczhXFjlsPfd8GG4Ti4fsGThcUr78bdfi+gTMMRZ0uCIrajCEoajOGoKjNGIKi/OIlxW19UqylQVF+EUDR9w2cYShqM4agqOyCoKjsgqBoogigqOyCoKjsgqCo7IKgqOyCoKjsAqDo+wbOMBRJs8sHT1HW4/mDyza9/eTjeONIml7gHEnzC5yjiSOEI2mGgXMkTTFwjqQ5Bs6RNMl8wnFbyoujTQ2OpFkGzdH3nZyBOCrPYDgqz2A4Ks9gOJo4Qjgqz3zGcW9wVJ7BcFSewXBUnmn8TbzvezdHkvF9l+ZQMkoRLTLKBS0ycvotMiYyDTKJ3PhlL/zh+15IuNpEzrZDbSL/2aE2kae8Vuv73kK42kTer0NtIj/XoTaRR+tQa1RqqbxUpjseO9RSealMdzx2qKXyUpnubexQS+WlMt2v2KGWyktlugexQy2Vl8p0X2GHWiovlen+vw61VF4q0316HWqpvFSm++k61FJ5qUz3vXWopfJSme5P61BL5aUy3UfWoZbKS2W636tDLZWXynRfVodaKi+V6f6pDrVUXirTfU4daqm8VKb7kTrUUnmpTPcNdail8lKZ7u/pUEvlpTLdh9OhlspLHVRe6qDyUpluYOpQS+Sltmki8lIPtURe6qGWyEs91BJ5qYdao1JL5KUeaom81EMtkZd6qCXyUg+1VF4q020/HWqpvFSm23M61FJ5qUy30XSopfJSmW536VBL5aUy3ZbSoZbKS2W6faRDLZWXynSXR4daKi/Feg/BB7cGLcezbnI55gZF3aaGoKjb1BAUdZsagCLr/QNgiroJGkFRN0EjKOomaARFE0UARd0EjaCo7IKgqOxyRdHm5881swZFZRcERWUXAEXWewzAFJVdLimWk+LaoKjsgqCo7IKgaKIIoKjsgqCo7IKgqOxySXF6wrDS+B1gprsqBlJUdgFQzHS3xkCKyi4IisouCIrKLgiKJooAisouCIrKLgiKyi4IisouCIrKLgCKme6yGUhR2QVBUdkFQVHZBUHRRBFAUdkFQVHZBUFR2QVBUdkFQVHZBUAx091RAykquyAoKrsgKCq7ICiaKAIoKrsgKCq7ICgquyAoKrsgKCq7AChmuqttIEVlFwRFZRcERWUXBEUTRQBFZRcERdd+cZ6eH67Lu4KfKc7P79TXufGdet/3u6HV+r7fDa7WtU+Cq3XtZ+BqXfuOz9R+8K7v6In0fRfcUDKu/cFQMq73lUPJuN5BDiWTyCeCySTylFAyxfedeF8j80lCaz/xSTGRrx1IMZFfHkiR04ejKZooAihy+ns0Rc4sgKbImRvQFDkzBpoiZx4BU/R9B2UYisouCIrKLgiKyi4IiiaKAIrKLgiKyi4IisouCIrKLgiKyi4Air7vfA1DUdkFQVHZBUFR2QVB0UQRQFHZBUFR2QVBUdkFQVHZBUDR922wLihe33pYfN8GG4aiTpe//25U8X0DZxiKOl0QFLUZA1D0fQNnGIrajCEoyi9eUtzWJ8VaGhTlFxEUTRQBFLUZQ1BUdkFQVHZBUFR2QVBUdgFQ9H0DZxiKyi4IisouCIrKLgiKJooAiqTZ5YOnOF6fPZa3e+/X5Y0iaXYBUyTNLmCKpNkFTJE0u2Ap+r6BMwxF0uwCpkiaXT6hOC0vittvFH/47PJ8hmM7zs/a/sNn9/XpWffDXp+dp7fhkEaiGMMxDcfvcBTgHA9HudDxcBQ3HQ9HKdbxcBSO/Q7H982x7MNRlHc8HG0IHA9HG4LL4awn8PrzEsz39blhKCpzIygqHCMoKsUiKCpuIigqFwIo+r4+dwDFk4zSU4uMokuLjHJDi4yJTIOM/H2LjDx7i0wiH359xVem64M71CbytddqM10f3KE2kafsUJvIJ3aoTeT9OtQaldpEHq1DbSLf1aGWyktlumK3Qy2Tl5ozXYXboZbJS82ZrpbtUMvkpebJqNQyeak509WnHWqZvNSc6SrRDrVUXirT1Zwdaqm8VKarLjvUUnmpTFdHdqil8lKZrmLsUEvlpTJdbdihlspLZboqsEMtlZfKdPVeh1oqL5XpKrsOtVReKtPVcB1qqbxUpqvWOtRSeamFykstVF4q0+V+HWqpvNRiVGqpvFSmixA71FJ5qUwXC3aopfJSmS7q61BL5aUyXXzXoZbKS2W6SK5DLZWXynQxW4daKi+V6aKzDrVUXirTxWEdaqm8VKaLuDrUUnmpTBdbdail8lKZLorqUEvlpTJdvNShlspLZbrIqEMtlZfKdDFQh1oqL5Xp6poOtVReivWKiA8ugF2O8uuzyzE3KOqSdgBF1ksXwBR1STuCoi5pR1DUJe0IiiaKAIqkfaRgiqTdpWCKpPcNgCkquyAoKrtcUbT5+XPN7GeKrPcNgCkquyAoKrsgKCq7XFIsJ8W1QdFEEUBR2QVBUdkFQVHZBUFR2QVBUdnlkuL0hGGl8TvATHdVDKSo7IKgqOyCoKjsgqBoogigqOyCoKjsgqCo7IKgqOyCoKjs8vcUl0x3wwykqOyCoKjsgqCo7IKgaKIIoKjsgqCo7IKgqOyCoKjsgqCo7AKgmOkupoEUlV0QFJVdEBSVXRAUTRQBFJVdEBSVXRAUlV0QFJVdEBSVXQAUM919NpCisguCorILgqKyC4KiiSKAorILgqKyC4KisguAou/73UqZn2DKvlxQvP5O/eL7fje4Wtf+C67WtU+CqzUqta59B1yta38AV+v6HIerdb0rhKt1vdNDq/V9vxtcbR4vdd06svi+3w2uNo+X6lFrVGrzeKnrJoLF9/1ucLV5vFSP2jxeqkdtHi/Vodb3/W5wtYm81PXO0ff9bnC1ibxUh1qjUpvIS3Wo3ajUJvJSHWoTeakOtYm81LVa3/e7wdVSeSnf97vB1VJ5Kd/3u8HVUnmpjcpLbVReyvfdfXC1VF7K9114cLVUXsr33XJwtVReyvddbXC1VF7K991ncLVUXsr3XWJwtVReyvfdXHC1VF7K911XcLVUXsr33VFwtVReyvddTHC1VF7K991GcLVUXsr3/SxTmZ5qp32+UNvxt+e+71GBq3V93sLVuj5v4Wpdn7dwta7PW7ha1+ctXK3r8xas1nzfbwFX63p3AVfL5KXM970OH6m9/vaTTUalNo+X6lGbx0v1qM3jpa6/IWO+7weAq83jpTrU+u7bh6vN46V61ObxUj1qE3mpy52j+e6Dh6tN5KU61CbyUh1qE3mpDrWJvFSH2kRe6lqt7/5vuNpEXqpDbSIv1aGWykv57qeGq6XyUr77nuFqqbzUTOWlZiov5bsbG66Wykv57saGq6XyUr67seFqqbyU725suFoqL+W7GxuulspL+e7Ghqul8lK+u7Hhaqm8lO9ubLhaKi/luxsbrpbKS/nuxoarpfJSvrux4WqpvJTr/uS97k+1+7EdF2rr/Pzb8zrPDbWez1u8Ws/nLV6t5/MWr9bzeYtX6/m8/VDtB3ev1uUpsFrj/e26a3ksGc/n+FgynvcnY8l43rWMJWMi0yCTyFOCySTyn1+6Mb39xCfFRL52IMVEfnkgRU4fDqboutM7DkVOf4+myJkF0BQ5cwOaookigCJnHkFTVHZBUFR2QVBUdkFQVHYBUHTdoR+HorILgqKyC4KisguCookigKKyC4KisguCorILgqKyC4KisguA4qHsgqCo7IKgqOyCoKjsgqBoogigqOyCoKjsgqCo7IKgqOzy9xRX17eb+KB4fWvK6vrWlDgUdbpcUbz+zujq+iaQOBR1uiAoajMGoOj6RpQ4FLUZQ1CUX7ykuK1PirU0KMovIiiaKAIoajOGoKjsgqCo7IKgqOyCoKjsAqDo+gaiOBSVXRAUlV0QFJVdEBRNFAEUSbPLB09RSn1+uPzfv/x6iu2NI2l6gXMkzS9wjqQJBs6RNMOgObq++ysSR9IcA+dImmQ+4TiXp9Us87w3OJJmGThHE0cIR+UZDEflGQxH5RkMR+UZDEflmY84/u8nfuLo+v69SByVZzAclWeuOa7Hi+NWGxyVZzAcTRwhHJVnMByVZzAclWcwHJVnMByVZxrfBXR9q+VYMsocLTJKES0yygUtMiYyDTLy7i0yidz45T1ha6abWzvUJnK2HWoT+c9rtZluY+1Qm8gndqhN5P061Cbycx1qjUptIt/VoZbKS2W6LbRDLZWXynT75rXaTLdkdqil8lKZbp3sUEvlpTLd4tihlspLZboVsUMtlZfKdMtgh1oqL5Xp1r4OtVReKtMteB1qqbxUplvlOtRSealMt7R1qKXyUpluPetQS+WlMt0i1qGWyktlupWrQy2Vl8p0y1WHWiovlenWqA61VF4q0y1MHWqZvNQ2MXmpbWLyUlume7861DJ5qW0yKrVMXmrLdEdah1omL7VlunOsQy2Vl8p0h1eHWiovlelOrA61VF4q0x1THWqpvFSmO5s61FJ5qUx3IHWopfJSme4U6lBL5aUy3dHToZbKS2W686ZDLZWXynSDTIdaKi+V6TaWDrVUXirTzSYdaqm8VKZbQjrUUnmpTDdudKil8lKZbq/oUEvlpTLdBNGhlspLZbpVoUMtlZfKdENBh1oqL5Wp7b9DLZWXytSc36GWyktlaqHvUEvlpTL1v3eopfJSmXraO9RSealMfeodaqm8FFXv+UbVe75R9Z5vVL3nG1Xv+UbVe75R9Z5vVL3nG1Xv+UbVe75R9Z5vVL3nW6Zu7E9uTlrq6ynKxWeXo/z67HLMDYqk99yBKZLeiQemSHp/HpiiiSKAIum9fGCKpDdqgymS3qcNpkh6mzaYIuld2liKmbroB1JUdrmiaPPz55pZg6KyC4KisguCookigKKyyyXFclJcGxSVXRAUlV0QFJVdEBSVXQAUM939MJCissslxekJw0rjd4CZ7qoYSFHZBUHRRBFAUdkFQVHZBUFR2QVBUdkFQVHZ5e8p7pnuWhlIUdkFQVHZBUFR2QVB0UQRQFHZBUFR2QVBUdkFQVHZBUFR2QVAMdPdRgMpKrsgKCq7ICgquyAomigCKCq7ICgquyAoKrsgKCq7ICgquwAoZrpLbCBFZRcERWUXBEVlFwRFE0UARWUXBEVlFwRFZRcERWUXBEVlFwBF3/e77TY/KVabrijOz+/U13luqHXt6+BqjUqta58EV+vaz8DVuvYdn6n94F1/3RO5+74LbigZ1/5gJBnfd8wNJeN6BzmUTCKfCCaTyFOCyRglmU8SWvuJT4qJfO1Aion88kCKnD4cTZHTs6Mpcvp7MEXfdySGociZG9AUOTMGmiJnHkFTNFEEUFR2QVBUdkFQVHZBUFR2QVBUdgFQ9H0naRiKyi4IisouCIrKLgiKJooAisouCIrKLgiKyi4IisouCIrKLgCKvu93DkNR2QVBUdkFQVFO54ri9a2Hu+/bYKNQ9H0DpwuKHd+N8n0DZxiKOl0QFLUZQ1A0UQRQ1GYMQVF+8ZLitj4p1tKgKL+IoKjNGIKiNmMAir5v4AxDUdkFQVHZBUFR2QVB0UQRQFHZBUFR2QVBUdkFQVHZBUGRNLt88BSlTE/kpZT97SmmF8fq+w7OQBxJ8wucI2mCgXMkzTBwjiaOEI6kOQbOkTTJfMTRphdHOxocSbMMnCNpmoFzVJ6BcPR9L2cgjsozGI7KMxiOyjMfcVy3BkcTRwhH5RkMR+WZn/8mvvq+d3MoGWWOFhmliAYZ33deDiUjp98iI+/eIpPIjV/2wlff90LC1SZyth1qE/nPDrWJPGWH2kQ+sUNtIu93rXZJ5Oc61CbyaB1qE/muDrVUXirTHY8daqm8VKY7HjvUUnmpTPc2dqil8lKZ7lfsUEvlpTLdg9ihlspLZbqvsEMtlZfKdP9fh1oqL5XpPr0OtVReKtP9dB1qqbxUpvveOtRSealM96d1qKXyUpnuI+tQS+WlMt3v1aGWyktlui+rQy2Vl8p0/1SHWiovlek+pw61VF4q0/1IHWqpvFSm+4Y61FJ5qUz393SopfJSme7D6VBL5aV2o1JL5aUy3cDUoZbKS+1UXmqn8lKZbqvqUEvlpTLd/tShlspLZbpNqUMtlZfKdDtRh1oqL5Xptp8OtVReKtPtOR1qqbxUpttoOtRSealMt7t0qKXyUpluS+lQS+WlMt0+0qGWyUsdme7y6FDL5KWOKdF5+6Vbg5aj/PrscswNirpNDUFRt6khKOo2NQRF3aaGoKiboAEUWe8eAFPUTdAIiroJGkFRN0EjKJooAigqu1xRtPn5c82sQVHZBUFR2QVBUdkFQVHZ5ZJiOSmuP1NkvR8BTFHZBUFR2QVBUdkFQdFEEUBR2eWS4vSEYaXxO8BMd1UMpKjsgqCo7IKgqOwCoJjpLpCBFJVdEBSVXRAUlV0QFE0UARSVXRAUlV0QFJVdEBSVXRAUlV0AFDPdvTOQorILgqKyC4KisguCookigKKyC4KisguCorILgqKyC4KisguAYqa7rgZSVHZBUFR2QVBUdkFQNFEEUFR2QVBUdkFQVHZBUFR2QVBUdgFQzHS33ECKyi4IisouCIrKLgiKrv3iuj5/8r6XckVxfn6nvs6N79T7vt8Nrta1/4Krde2T0Gp93+8GV+vad3ym9oN3fUdPpO+74IaSce0PhpIxkWmQcb2DHEomkU8Ek0nkKcFkEvnPLyW09hOfFBP52nEUfd/hF4Yipw9HU+T07GiKnP4eTdFEEUCRMzegKXJmDDRFzjyCpqjsgqCo7AKg6PvOzDAUlV0QFJVdEBSVXRAUTRQBFJVdEBSVXRAUlV0QFJVdEBSVXf6a4j75vqM2DEVlFwRFZRcERWUXBEUTRQBFZRcERWUXBEVlFwRFZRcERWUXAEXf9zuHoWiiePHZy9tgHxTldBAUdbpcUbz8zuiDok4XAEXfN3CGoajNGIKiNmMIitqMISiaKF5R3NYnxVoaFOUXERS1GUNQ1GYMQVHZBUFR2QVA0fcNnGEoKrsgKCq7ICgquyAomigCKCq7ICgquyAokmaXD56irC99ZZvePn28cyRNL3COpPkFzdH3PZyBOJJmGDhH0hQD50iaY+AcTRyvOG6TvTiWpcGRNMvAOZKmGThH5RkMR+UZDEflGQhH33dzBuKoPHPNcT05bi2OyjMYjsozGI4mjhCOyjMYjsozGI7KMxiOyjON7wz5vn9zJBnfd2oOJaMU0SKjXNAiI6ffImMi0yCTyI1f3Sf0UJvIM3eoTeRsO9Qm8p8dahN5ymu1me4q7VCbyPt1qE3k5zrUJvJoHWqNSi2Vl8p0n2eHWiovlenezQ61VF4q0z2WHWqpvFSmeyE71FJ5qUz3LHaopfJSme4t7FBL5aUy3QPYoZbKS2W6V69DLZWXynRPXYdaKi+V6d63DrVUXirTPWodaqm8VKZ7yTrUMnmpkumerw61TF6qZLo3q0Mtk5cqk1GpZfJSJdO9Th1qmbxUyXRPUodaKi+V6d6hDrVUXqpQealC5aUy3XTVoZbKSxUqL1WovFSmW8E61FJ5qUy3bHWopfJSmW6t6lBL5aUy3QLVoZbKS2W6ValDLZWXynRLUYdaKi+V6dafDrVUXirTLTodaqm8VKZbaTrUUnmpTLe8dKil8lKZ7kzpUEvlpTLdP9KhlspLZbrLo0MtlZfKdC9Gh1oqL5XpjokOtVReKtN9DR1qqbxUprsPOtRSealM9wh0qKXyUpk6+TvUUnmpTP32HWqpvFSmrvgOtVReKlOne4daKi+VqXu9Qy2Vl8rUkd6hlspLUfWeF6re80LVe16oes8LVe95oeo9L1S954Wq97xQ9Z4Xqt7zQtV7XjJ1Y39yc9JSX09RLj67HOXXZ5dj/plips7tgRRJ78QDUyS9Pw9MkfSuPTBFE0UARdIbtcEUSe/TBlMkvU0bTJH0Lm0wRWUXAMVMHfdfomjz8+eaWYOisguCorILgqKyC4KiieIVxXJSXBsUlV0QFJVdEBSVXRAUlV0QFJVd/p7inOlOiW9RnJ4wrGwNisouCIrKLgiKyi4IiiaKAIrKLgiKyi4IisouCIrKLgiKyi4AipnucBlIUdkFQVHZBUFR2QVB0UQRQFHZBUFR2QVBUdkFQVHZBUFR2QVAMdOdSQMpKrsgKCq7ICgquyAomigCKCq7ICgquyAoKrsgKCq7ICgquwAoZrqjbCBFZRcERWUXBEVlFwRFE0UARWUXBEVlFwRFZRcERWUXAEXf97stx/ykuE52RXF+fqe+znNDrWtfB1fr2n/B1RqVWtd+Bq7Wte/4TO0H7/rrnsjZ911wQ8m49gdDybjeV44k4/s+uqFkEvlEMJlEnhJMJpH//FJCaz/xSdFEEUAxkV8eSJHTh6Mpcnp2NEVOf4+myJkFwBR9370YhiJnxkBT5MwjaIrKLgiKJooAisouCIrKLgiKyi4IisouCIrKLgCKvu86DUNR2QVBUdkFQVHZBUHRRBFAUdkFQVHZBUFR2QVBUdkFQVHZBUDR9/3OYSgquyAoyulcUby+9XD2fRtsGIo6XQDfjfJ9A2cYijpdEBS1GUNQ1GYMQdFEEUBRfvGS4rY+KdbSoCi/iKCozRiCojZjCIrKLn9PcfF9A2cYisouCIrKLgiKyi4IiiaKAIrKLgiKyi4IisouCIqk2eWDpyhlnp40ynycn97qG0fS9ILm6PsWzkAcSRMMnCNphoFzJE0xcI4mjhCOpEnmI47r/OL47jV/40iaZeAcSdMMnKPyDIaj8gyEo++bOQNxVJ7BcFSe+YxjbXBUnsFwNHGEcFSe+flv4hff924OJaPM0SKjFNEio1zQIOP7HsuhZOTdW2QSufHLXvjF972QcLVGpTaR/+xQm8hTdqhN5BM71Cbyfh1qE/m5a7WWyKN1qE3kuzrUUnmpTHc8dqg1KrVUXirTHY8daqm8VKa7GDvUUnmpTHcmdqil8lKZ7jbsUEvlpTLdK9ihlspLZbqnr0MtlZfKdO9dh1oqL5XpHrkOtVReKtO9bB1qqbxUpnvOOtRSealM94Z1qKXyUpnu4epQS+WlMt1r1aGWyktluieqQy2Vl8p071KHWiovlekeow61VF4q071AHWqpvFSme3Y61FJ5qUrlpSqVl6pGpZbKS2W6KalDLZWXqlReKtNtVddqM90q1aGWyktluqWpQy2Vl8p061GHWiovlekWoQ61VF4q0608HWqZvJRluuWmQy2Tl7JMt8Z0qGXyUjYZlVomL2WZbjXpUMvkpSzTLSEdaqm8VKYbNzrU6ja1q1uDHru7X599PE6DYqJzfCBF3aaGoKjb1BAUdZsagqJugkZQ1E3QAIqsNw+AKeomaARF3QSNoKjsgqBoonjxWZufP9fMGhSVXRAUlV0QFJVdEBSVXS4plpPi2qCo7AKgyHqXApiisguCorILgqKyC4KiieIVxekJ4/GbgQZFZRcERWUXBEVlFwRFZRcERWUXAMVMd4wMpKjsgqCo7IKgqOyCoGiiCKCo7IKgqOyCoKjsgqCo7IKgqOwCoJjpTp+BFJVdEBSVXRAUlV0QFE0UARSVXRAUlV0QFJVdEBSVXRAUlV0AFDPdoTWQorILgqKyC4KisguCookigKKyC4KisguCorILgqKyC4KisguAYqY76wZSVHZBUFR2QVB07Rdne/7kfVmXK4rz8zv1dW58p973/W5wta79F1yta58EV+vaz6DV+r7f7TO1H7zrO3oifd8FN5SMa38wlIzrfeVQMiYyDTKJfCKYTCJPCSaTyH9+KaG1n/ikmMjXDqSYyC+Po+j7bsAwFDk9O5oip79HU+TMAmiKJooAipwZA02RM4+gKSq7ICgquyAoKrv8PcXV912cYSgquyAoKrsgKCq7ICiaKAIoKrsgKCq7ICgquyAoKrsgKCq7ACj6vvs2DEVlFwRFZRcERWUXBEUTRQBFZRcERTmdK4rXtx6uvm+DDUNRp8vffzdq9X0DZxiKOl0QFLUZQ1DUZgxBUZsxBEX5xUuK2/qkWMvPFH3fwBmGojZjCIrajCEoKrsgKJooAigquyAoKrsgKCq7ICgquyAoKrsAKPq+gTMMRWUXBEXS7PLBU5T1eP7gsk1vP/k43jiSphc4RxNHCEfSBAPnSJph4BxJUwycI2mOgXMkTTKfcNyW8uJo088cfd/IGYgjaZqBc1SewXBUnsFwNHGEcFSewXBUnvmM497gqDyD4ag8g+GoPNP4m3jf924OJaPM0SKjFNEio1zQImMi0yAj794ik8iNX/bCr77vhYSrTeRsO9Qm8p/Xan3fhwhXm8gndqhN5P061Cbycx1qjUptIt/VoZbKS2W647FDLZWXynTH47XaTHc8dqil8lKZ7mLsUEvlpTLdmdihlspLZbrbsEMtlZfKdK9gh1oqL5Xpnr4OtVReKtO9dx1qqbxUpnvkOtRSealM97J1qKXyUpnuOetQy+Sltkz3hnWoZfJSW6Z7uDrUMnmpbTIqtUxeast0T1SHWiYvtWW6d6lDLZWXynSPUYdaKi+V6V6gDrVUXirTPTsdaqm8VKHyUoXKSxUqL5XpBqZrtZluSupQS+WlZiovlem2qg61RqWWyktluqWpQy2Vl8p061GHWiovlekWoQ61VF4q0608HWqpvFSmW2461FJ5qUy3xnSopfJSmW5h6VBL5aUy3WrSoZbKS2W6JaRDLZWXynTjRoda3aZ2dWvQcjzrJpdjblDUbWoIirpNDUCR9QYCMEXdpoagqJugERR1EzSCookigKJugkZQ1E3QCIrKLgiKyi5XFG1+/lwza1BUdgFQZL2bAExR2QVBUdnlkmI5Ka4NisouCIomigCKyi4IisouCIrKLgVAUdnlkuL0hGGl8TvATHdVjKOY6Q6MgRSVXRAUlV0QFJVdEBRNFAEUlV0QFJVdEBSVXRAUlV0QFJVdABQz3TkzkKKyC4KisguCorILgqKJIoCisguCorILgqKyC4KisguCorILgGKmO54GUlR2QVBUdkFQVHZBUDRRBFBUdkFQVHZBUFR2QVBUdkFQVHb5e4p7pjvVBlJUdkFQVHZBUFR2QVA0UQRQVHZBUFR2QVB07RfL+nyOfZ7sgiL2+/e777vghpJx7euGknHt1YaSce2/hpIxkWmQce2ThpJx7X2GknG9ix1KxvV+dSgZeeAGGd93+H2NzHULze77vr+hZDg9cA8ZTg/cQ8Y4yVw2aey+7yccSobTA/eQ4fTAPWQ4PXAPGU4P3EHG992L3yNz/bsD3/c0DiVD6oE7yJB64A4yJjINMqQeuIMMqQfuIEPqgTvIkHrgDjKkHviajO87M4eSkQdukZEHbpGRB26RMZFpkJEHbpGRB26RkQdukZEHbpGRB26Q8X1/61Ay8sAtMvLALTLywC0yJjINMvLALTLywC0y8sAtMvLALTLywA0yvu8BHUpGHrhFRh64RUYeuEXGRKZBRh64RUYeuEVGHrhFRh64Qcb1fX/bsczPDx/7BiTT8Z0413f4jSXj2c+MJWMi0yDj2c+MJePZz4wl49nPjCXj2c+MJeN5pzeUjOs75saSkQdukeH0wB3fZHd9v9tYMiYyDTKcHriHDKcH7vhWsuv70saS4fTAPWQ4PXAHGdd3lY0lw+mBe8iQeuDr3x24vidsLBkTmQYZUg/cQYbUA3eQIfXAHWRIPXAHGVIPfEmmur7zaiwZUg/cQUYeuEVGHrhFxkSmQUYeuEVGHrhFRh64RUYeuEVGHrhBxvWdX2PJyAO3yMgDt8jIA7fImMg0yMgDt8jIA7fIyAO3yMgDt8jIAzfIuL7zaywZeeAWGXngFhl54BYZE5kGGXngFhl54BYZeeAWGXngFhl54AYZ13d+jSVzu5+BfnOt3n/LEvj51+DPvwV//j3489fgz3/Efv77b9IBP38J/vxz8OcPfv7ef8ML9Bup1Tyfvz3P7/n87Xl+z+dvz/N7Pn+vv/VWzfP52/H8q+fzt+f5PZ+/Pc/v+fzteX7P52/P87s+f6/3D6vr87fj+V2fvx3P7/r87Xh+1+dvx/O7Pn+vn39zff52PL/r87fj+V2fvx3P7/r87Xj+4OfvFvz83YKfv1vw83cLfv5uwc/fPfj5uwc/f/fg5+8e/Py9v4kd/PzBz989+Pm7Bz9/9+Dn7x78/K3Bz98a/Pytwc/fGvz8vb8FGvz8wc/fGvz8rcHP3xr8/K3Bz98j+Pl7BD9/j+DnL6Sn9PVr2rlsBnz+jr+/grSJjnz+Pfjz1+DPf4R+/gPScjny+Uvw55+DP/8S/Pkt+PPHPn+PyfP5e/33q8fk+fzteX7P52/P83s+fzuev3g+f6//fvIons/fnuf3fP72PL/n87fn+T2fvz3P7/n87Xl+1+fv5f7hKK7P347nd33+djy/6/P3+vln1+dvx/O7Pn87nt/1+dvx/K7P347nd33+djy/6/O34/mDn79z8PN3Dn7+zsHP3yX4+bsEP3+X4OfvEvz8hfQvjXz+4OfvEvz8XYKfv0vw83cJfv5a8PPXgp+/Fvz8teDnL6R/aeTzBz9/Lfj5a8HPXwt+/lrw83cNfv6uwc/fNfj5uwY/fyH9SyOfH/D+n2x9Pv90TMDn7/j7K0T/z9DnP2I/P6L/Z+jzl+DPPwd//iX481vw51+DP/8W/PmDn7+b5/O34+9XN8/nb8fz757P357n93z+9jy/5/O34+8nd8/nb8/zez5/e57f8/nb8/yez9+e5/d8/vY8v+vz93r/sLs+f6+fv7o+fzue3/X52/H8rs/fjud3ff52PL/r87fj+V2fvx3P7/r87Xh+1+dvx/MHP39r8PP3CH7+HsHP3yP4+XsEP3+P4OfvEfz8PYKfv0fw8/cIfv4eoc/fOk2hz9/H84c+fx/PH/r8fTx/6PP38fyhz9/H84c+fx/PH/r8fTx/6PP38fyhz9/H8wc/f0vw87cEP39L8PO3BD9/Ef1LQ58/+Plbwp6/a7X/93N7wn5Mv/7fHr9eenv4+fX/dvzR/9vPXQHX/2/lz/7f5o//3/ay/r/5Z0e+1+P1/zf9NtDX/5/94f/f+of/f9sf/v/tf/j/V//w/+/4s/8/wMleju3ZrF4evym6+F+Wbc//GVot//xfy38eqfh7pNnfIy3+Hsm++kivf2a955/Z7vln9nv+mXrPP3Pc8s/M0z3/TLnnn5nv+WeWe/6Zu71yKfv2/NmP8/P89Hoec/Pq8aE8u9pt3l6fnX983c+el0odj+95p9Tx+J5XStePv3jeKHU8vueFUsfje94ndTy+53VSx+Nb7Mf3vEzqePzYp+4S+9RdYp+6S+xT12Kfuhb71LXYp67FPnURHWYjHz/2qWuxT12Lfepa7FPXYp+6a+xTdw1bnvKfx/f83u94/LB/uvWfxw/7l1v/efywf7j1f4/vujer4/HD/tnWfx4/7F9t/efxXf/R1uVvo113ZnU8vus/2bp+fNd/sXX9+K5P3evHd33qXj++61P38vF9t2VdP77rU/f68V2futePH/vU9d2Udf34sU/d+3uymtuD//5sKcdTa5mn/fz025/E3F+UhRZQows4ggu4vysLLaBEFzBHF7C4EfB6JPP3SHdfqlPK/BRQir0tLba3h9o8PpTn6286Bu359puOx/d8+c314x+e777peHzPV990PL7nm286Ht/zxTcdj2+xH9/ztXMdj+/51rmOx4996h6xT90j9Km7TKFP3WUKfeouU+hTd5lCn7rLFPrUXabQp+4yhT51lyn0qbtMoU/dZYp96pbYp26JfeqW2KduiX3qIjqmRj5+7FO3eH7vX/6V8FI8v/evH38Oe7/0fx4/7PXS/3l8z2+ejsf3/ObpeHzPfr/j8T37/Y7H9/zev/yDn2X2/N6/fvzFs9/veHzPfr/j8V2futeP7/rUvX5816fu9eO7PnWvH9/1qXv9+K5P3evHj33qLrFPXYt96trtp+4nf1441defg03H23NsbwLm6AKW6AIsuoA1uoAtuoA9uoDqWsC6nQKO3wT896f34/nQdXr7bF1PsQeR2HViEuvaDbz/cfjy8/8OV9duoEeAazfQI8CiC3DtBnoEuHYDPQJcu4EeAa7dwPV3bJbV9QnfIWBzfWr3CPBzEr8eyc/Z+nokxGl5PG9hmOd1vniksr6ubFjt50cyf4+03vxI2L8mQbTfjHz8Pfbj19iPf4R+fET7zcjHL7Eff479+Evsx7fYjx/71N1jn7p77FN3j33q7rFP3Rr71K2xT90a+9StsU9dRDfOyMePferW2KdujX3q1tinbo196h6xT90j9ql7xD51j9inLqSbZ+Djxz51j9in7hH71D1in7pH6FPXptCnrk2hT12bQp+6NoU+dW0KferaFPrUtSn0qWtT6FPXptCnrk2xT90S+9QtsU/dEvvULbFPXUg3z8DHj33qltinbol96pbYp26JferOsU/dOfapO8c+defYpy6kl2rg48c+defYp+4c+9SdY5+6c+xTd4l96i6xT90l9qm7xD51Ib1UAx8/9qm7xD51l9in7hL71F1in7oW+9S12KeuxT51LfapC2mkGvj4sU9di33qWuxT12Kfuhb71F1jn7pr7FN3jX3qrrFPXUjz08DHj33qrrFP3TX2qbvGPnXX2KfuFvvU3WKfulvsU3eLfere3jcFfvzYp27sbiqL3U1lsbupLHY3lcXuprLY3VQWu5vKYndTWexuKovdTWWxu6ksdjeVxe6mstjdVBa7m8pid1NZ7G4qi91NZbG7qSx2N5XF7qay2N1UFrubymJ3U1nsbiqL3U1lsbupLHY3lcXuprLY3VQWu5vKYndTWexuKovdTbXG7qZaY3dTrbG7qdbY3VTrFPrUXWN3U62xu6nW2N1Ua+xuqjV2N9Uau5tqjd1Ntcbuplpjd1Otsbup1tjdVGvsbqo1djfVGrubao3dTbXG7qZaY3dTrbG7qdbY3VRr7G6qNXY31Rq7m2qN3U21xu6mWmN3U62xu6nW2N1Ua+xuqjV2N9Uau5tqjd1Ntcbuplpjd1Otsbup1tjdVGvsbqo1djfVGrubao3dTbXG7qZaY3dTrbG7qdbY3VRr7G6qNXY31Rq7m2qN3U21xu6mWmN3U62xu6nW2N1Ua+xuqjV2N9Uau5tqjd1Ntcbuplpjd1Otsbup1tjdVGvsbqo1djfVGrubao3dTbXG7qZaY3dTrbG7qdbY3VRr7G6qNXY31Rq7m2qN3U21xu6mWmN3U62xu6nW2N1Ua+xuqjV2N9Uau5tqjd1Ntcbuplpjd1Otsbup1tjdVGvsbqo1djfVGrubao3dTbXG7qZaY3dTrbG7qdbY3VRr7G6qNXY31Rq7m2qN3U21xe6m2mJ3U22xu6m22N1U2xT61N1id1NtsbupttjdVFvsbqotdjfVFrubaovdTbXF7qbaYndTbbG7qbbY3VRb7G6qLXY31Ra7m2qL3U21xe6m2mJ3U22xu6m22N1UW+xuqi12N9UWu5tqi91NtcXuptpid1NtsbupttjdVFvsbqotdjfVFrubaovdTbXF7qbaYndTbbG7qbbY3VRb7G6qLXY31Ra7m2qL3U21xe6m2mJ3U22xu6m22N1UW+xuqi12N9UWu5tqi91NtcXuptpid1NtsbupttjdVFvsbqotdjfVFrubaovdTbXF7qbaYndTbbG7qbbY3VRb7G6qLXY31Ra7m2qL3U21xe6m2mJ3U22xu6m22N1UW+xuqi12N9UWu5tqi91NtcXuptpid1NtsbupttjdVFvsbqotdjfVFrubaovdTbXF7qbaYndTbbG7qbbY3VRb7G6qLXY31Ra7m2qL3U21xe6m2mJ3U22xu6m22N1UW+xuqi12N9UWu5tqi91Ntcfuptpjd1Ptsbup9tjdVPsU+tTdY3dT7bG7qfbY3VR77G6qPXY31R67m2qP3U21x+6m2mN3U+2xu6n22N1Ue+xuqj12N9Ueu5tqj91Ntcfuptpjd1Ptsbup9tjdVHvsbqo9djfVHrubao/dTbXH7qbaY3dT7bG7qfbY3VR77G6qPXY31R67m2qP3U21x+6m2mN3U+2xu6n22N1Ue+xuqj12N9Ueu5tqj91Ntcfuptpjd1Ptsbup9tjdVHvsbqo9djfVHrubao/dTbXH7qbaY3dT7bG7qfbY3VR77G6qPXY31R67m2qP3U21x+6m2mN3U+2xu6n22N1Ue+xuqj12N9Ueu5tqj91Ntcfuptpjd1Ptsbup9tjdVHvsbqo9djfVHrubao/dTbXH7qbaY3dT7bG7qfbY3VR77G6qPXY31R67m2qP3U21x+6m2mN3U+2xu6n22N1Ue+xuqj12N9Ueu5tqj91Ntcfuptpjd1Ptsbup9tjdVHvsbqo9djfVHrubao/dTVVjd1PV2N1UNXY3VY3dTVWn0Kdujd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VQ1djdVjd1NVWN3U9XY3VRH7G6qI3Y31RG7m+qI3U11TKFP3SN2N9URu5vqiN1NdcTupjpid1MdsbupjtjdVEfsbqojdjfVEbub6ojdTXXE7qY6YndTHbG7qY7Y3VRH7G6qI3Y31RG7m+qI3U11xO6mOmJ3Ux2xu6mO2N1UR+xuqiN2N9URu5vqiN1NdcTupjpid1MdsbupjtjdVEfsbqojdjfVEbub6ojdTXXE7qY6YndTHbG7qY7Y3VRH7G6qI3Y31RG7m+qI3U11xO6mOmJ3Ux2xu6mO2N1UR+xuqiN2N9URu5vqiN1NdcTupjpid1MdsbupjtjdVEfsbqojdjfVEbub6ojdTXXE7qY6YndTHbG7qY7Y3VRH7G6qI3Y31RG7m+qI3U11xO6mOmJ3Ux2xu6mO2N1UR+xuqiN2N9URu5vqiN1NdcTupjpid1MdsbupjtjdVEfsbqojdjfVEbub6ojdTXXE7qY6YndTHbG7qY7Y3VRH7G6qI3Y31RG7m+qI3U11xO6mOmJ3Ux2xu6mO2N1UZYpdTvV4/tDn7uP5Qx+8j+cPffI+nj/00ft4/tBn7+P5Qx++j+cPffo+nj/08ft4/uDnb+yaqscDBT9/YxdVPR4o+Pkbu6rq8UDBz9/YZVWPBwp+/sauq3o8UPDzN3Zh1ePpgp+/sSurHk8X/PyNXVr1eLrg52/s2qrH0wU/f2MXVz2eLvj5G7u66vH8wc/f2OVVj+cPfv7Grq96PH/w8zd2gdXj+YOfv7ErrB7PH/z8jV1i9Xj+4Odv7Bqrx/MHP39jF1k9nj/4+Ru7yurx/MHP39hlVo/nD37+xq6zejx/8PM3dqHV4/mDn7+xK60ezx/8/I1davV4/uDnb+xaq8fzBz9/YxdbPZ4/+Pkbu9rq8fzBz9/Y5VaP5w9+/saut3o8f/DzN3bB1eP5g5+/sSuuHs8f/PyNXXL1eP7g52/smqvH8wc/f2MXXT2eP/j5G7vq6vH8wc/f2GVXj+cPfv7Grrt6PH/w8zd24dXj+YOfv7Errx7PH/z8jV169Xj+4Odv7Nqrx/MHP39jF189nj/4+Ru7+urx/MHP39jlV4/nD37+xq6/ejx/7PO3BO+/KsH7r0rw/qsSvP+qTLHP3xK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuvSvD+qxK8/6oE778qwfuv5uD9V3Pw/qs5eP/VHLz/ap5in79z8P6rOXj/1Ry8/2oO3n81B++/moP3X83B+6/m4P1Xc/D+qzl4/9UcvP9qDt5/NQfvv5qD91/Nwfuv5uD9V3Pw/qs5eP/VHLz/ag7efzUH77+ag/dfzcH7r+bg/Vdz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O1l/+07W376T9bfvZP3tO1l/+07W376T9bfvZP3tO1l/+07W376T9bfvZP3tO1l/+07W376T9bfvZP3tO1l/+07W376T9bfvZP3tO1l/+07W376T9bfvZP3tO1l/eyXrb69k/e2VrL+9kvW318nI9HL5q0rW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL+9kvW3V7L+9krW317J+tsrWX97Jetvr2T97ZWsv72S9bdXsv72StbfXsn62ytZf3sl62+vZP3tlay/vZL1t1ey/vZK1t9eyfrbK1l/eyXrb69k/e2VrL/9IOtvP8j62w+y/vaDrL/9mIxML5e/Osj62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9IOtvP8j62w+y/vaDrL/9SNTvXeen3Dr//pNPtXlO3x61ed7NdXk+dLWtoTbPm7lHbZ73co/aPG/lHrV5Mm+H2kSNzz1qE523HWoTnbcdavNk3R61RqWWykslannuURvVS50KovqjU4Frz7Mc81PBOtlV7i7r89OlbG9P/fi/X3p99zB/Qa9r3/MFva6dzxf0uvY+X9BrZHpd+58v6HXtgL6g17UH+oJe147pC3rJ/JXvHuYv6CXzV757mL+gl8xf+e5h/oJeMn/lu4f5C3rJ/JXvHuYv6CXzV757mL+gl8xf+e5h/oJeMn/lu4f5C3rJ/JXvHuYv6CXzV757mL+gl8pfzZPvHuYv6KXyVw+9VP7qoZfK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X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qy15/9WWvP9qS95/tSXvv9qS919tyfuvtuT9V1vy/qstef/Vlrz/akvef7Ul77/akvdfbcn7r7bk/Vdb8v6rLXn/1Za8/2pL3n+1Je+/2pL3X23J+6+25P1XW/L+qz15/9WevP9qT95/tSfvv9ofuc/fPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/Vd78v6rPXn/1Z68/2pP3n+1J++/2pP3X+3J+6/25P1Xe/L+qz15/9WevP9qT95/tSfvv9qT91/tyfuv9uT9V3vy/qs9ef/Vnrz/ak/ef7Un77/ak/df7cn7r/bk/VdH8v6rI3n/1ZG8/+pI3n91PHKfv0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvjuT9V0fy/qsjef/Vkbz/6kjef3Uk7786kvdfHcn7r47k/VdH8v6rI3n/1ZG8/+pI3n91JO+/OpL3Xx3J+6+O5P1XR/L+qyN5/9WRvP/qSN5/dSTvvzqS918dyfuvevL+q568/6on77/qyfuv+iP3+duT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/VU/ef9WT91/15P1XPXn/1Zm8/+pM3n91Ju+/OpP3X52P3Ofvmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qszef/Vmbz/6kzef3Um7786k/dfncn7r87k/Vdn8v6rM3n/1Zm8/+pM3n91Ju+/OpP3X53J+6/O5P1XZ/L+qzN5/9WZvP/qTN5/dSbvvzqT91+dyfuvzuT9V2fy/qv2SF6A9RSQ+wR+Csh9BD8F5D6DnwJyH8JPAblP4aeA3MfwU0Duc/gpIPdB/BSQ/SROXoX1fKLsJ3HyMqznE2U/iZPXYT2fKPtJnLwQ6/lE2U/i5JVYzyfKfhInL8V6Pl72kzh5Ldbz8bKfxMmLsZ6Pl/0kTl6N9Xy87Cdx8nKs5+NlP4mT12M9BWQ/iZMXZD0FZD+Jk1dkPQVkP4mTl2Q9BWQ/iZPXZD0FZD+JkxdlPQVkP4mTV2U9BWQ/iZOXZT0FZD+Jk9dlPQVkP4mTF2Y9BWQ/iZNXZj0FZD+Jk5dmPQVkP4mT12Y9BWQ/iZMXZz0FZD+Jk1dnPQVkP4mTl2c9BWQ/iZPXZz0FZD+JkxdoPQVkP4mTV2g9BWQ/iZOXaD0FZD+Jk9doPQVkP4mTF2k9BWQ/iZNXaT0FZD+Jk5dpPQVkP4mT12k9BWQ/iZMXaj0FZD+Jk1dqPQVkP4mTl2o9BWQ/iZPXaj0FZD+JkxdrPQVkP4mTV2s9BWQ/iZOXaz0FZD+Jk9drPQVkP4mTF2w9BWQ/iZNXbD0FJD+JW/aOrZa9Y6tl79hq2Tu22iP5Sdyyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvHVsvesdWyd2y17B1bLXvH1pK9Y2vJ3rG1ZO/YWrJ3bC2P5Cfxkr1ja8nesbVk79hasndsLdk7tpbsHVtL9o6tJXvH1pK9Y2vJ3rG1ZO/YWrJ3bC3ZO7aW7B1bS/aOrSV7x9aSvWNryd6xtWTv2Fqyd2wt2Tu2luwdW0v2jq0le8fWkr1ja8nesbVk79hasndsLdk7tpbsHVtL9o6tJXvH1pK9Y2vJ3rG1ZO/YWrJ3bC3ZO7aW7B1bS/aOrSV7x9aSvWNryd6xtWTv2Fqyd2wt2Tu2luwdW0v2jq0le8fWkr1ja8nesbVk79hasndsLdk7tpbsHVtL9o6tJXvH1pK9Y2vJ3rG1ZO/YWrJ3bC3ZO7aW7B1bS/aOrSV7x9aSvWNryd6xtWTv2Fqyd2wt2Tu2luwdW0v2jq0le8fWkr1ja8nesbVk79hasndsLdk7tpbsHVtL9o6tJXvH1pK9Y2vJ3rG1ZO/YWrJ3bC3ZO7aW7B1bS/aOrSV7x9aSvWNryd6xtWTv2Fqyd2wt2Tu2luwdW0v2jq01e8fWmr1ja83esbVm79haH8lP4jV7x9aavWNrzd6xtWbv2Fqzd2yt2Tu21uwdW2v2jq01e8fWmr1ja83esbVm79has3dsrdk7ttbsHVtr9o6tNXvH1pq9Y2vN3rG1Zu/YWrN3bK3ZO7bW7B1ba/aOrTV7x9aavWNrzd6xtWbv2Fqzd2ytoRue1rP9+ux6DgVEPgc8AkL3C9nj9RjW9pGAyG8hl4DIbyGXgMhvIZcAyy4gch5wCYh8Dti+vQT0NhIQ+RxwCYicB1wCIucBj4DQ/UIuAaFPYo+A0CexR0Dok9gjIPRJ7BEQ+iT2CMh+EofuF3IJyH4Sh+4X8ggI3S/kEpD9JA7dL+QSkP0k/vl+oeF14R8+27fXT9778RYqz+3vyt245O5ccg8uuT2p3DcJZ3oJP9+NhJfQ8ktY8ktY80uw/BKyOoQ3CVlP/TcJWU/yNwmhT+dzXV4fPi/NSPvS2zYbmJEj9EkOl9tDn/ofyUX/sUcP7SbmogntUuaiCe1+5qIxoRmhCe3W5qIJ7QLnogntLueiqeNa4WjqOFw0mlNueIhGbniIRm54iEZueIjGhGaERm54iEZueIhGbniIRm54iEZueIDGHnLDQzRyw0M0csNDNHLDQzQmNCM0csNDNHLDQzRyw0M0csNDNHLDIzRNbniIRm54iEZueIhGbniIxoRmhEZueIhGbniIRm54iEZueIhGbniEZpEbHqKRGx6ikRseopEbHqIxoRmh4fQ1jqZIWzh9jQfNynlCOZr9bOU8oVxoOE8oFxrOE8qFhvO+xoWG877GhYbT1zjaUmzl9DUuNJz3NR40xnlf40JD6oY9aEjdsAcNqRv2oDGhGaEhdcMeNKRu2INGbniIRm54iKaQG/7gJ7e+20th78f3p/c/PfOyvUAuxwjkVsg7zwVZyGnPBVnIl88FWcjFg0C+wTHBGcMp5OTxcAp5eTycQm4eD6eQn8fDkaMfw9nl0v8NHFLnfe6Pl8LzWH+D8x8/fZwvHP1xfn+2b+8gSZ03HiSp8/4I5LJ8CbRtEGFib77JBJLU0eNBkrp/PEjSpIAHSZoq8CBJEwgcZOxtS1FAOm5wY+98ygSSM9ksj/V8PfPj/Zn/drKJvf8qE0gTyEuQrsOGM9ncAJIz2dwAkjPZ3ACSM9ncAJIz2eBBVtooNxckZ7L5EKQj2VTaVjcXJGmyae2LTXtX+LeTTaVNeHNBkiabj0C6DhvSZIMHSZps8CBJkw0eJGmygYOstB1wLkjSZIMHSZpsPgPpSDaV9hTOBWmkWbvv3yBPQLKptANxLkjW39nAQbImm719gTwMAZI12cBBsiabT0A6fORWadPjXJCsyQYOkjXZwEGyJhs4SBNIDEjW39nAQbL+zuYjkNeXFlulXZlzQSrZtP77X1q8wVFaGcOptF0TD4c0VTwvrr6eedn++YXBVmkb51yQpKniI5AeD1dp0+dckKSpAg+SNFXgQZKmCjxI0lSBB0maQOAgK20/vQ+k48Kg0q7UuSCVbJZ1HeTnSrtV8XBMcMZwWFPF3r+e+X3BwN++MFhYUwUcJGuq+ASky8Oxpgo4SNZUgQa5sqYKOEjWVAEHyZoq4CBZEwgcpAnkNUjHhUGlvdxzQSrZgEAq2YBAKtmAQCrZYEBW2j4+F6SSDQikks3Sf//C9xscpZV/A8cEZwyHIVW8yWXw/m9yIzv04/F4/Sn18WiGkBvZR98gN7Lb/Uyu5yYp9FbvG+RGdo43yI3s726QG9mx3SDXuORGdlUfynVks9Dbo2+QW8dVueTWcVUuuYVclUNu6C3MN8iN7aps+ZK7bYCIEHr78Q1yY7uqT+R6bEboTcI3yI3tquByY7squNzYrgouN7argsuN7ao+kuuwGaG3xd4gt46rcsmt46pccgu5Ko9c45Ib2lW1x0vB0VoHRITQG0FvkBvaVX0k12MzQm/XvEFuaFcFlxt6U+UNckO7Krzc0K4KLze0q/pMrsNmhN6geIPcOq7KJbeOq3LJLeSqPHILuSqP3EKuyiE39Ja83+Quv+fdNwlpnNJYQhr3M5YQ29Fsr+c4lsfVr5L78rpl6fb2k8/+Lte45MZ2NJ/I3df+9ZPbxU/2XLKE3lg2GU1spzQVTWxXNRVNbAc2Ec0eevPXZDSxXeBUNLHd5VQ0dVwrHI0JzQiN3PAQjdzwEI3c8BCN3PAQjdzwCE3oLVST0cgND9HIDQ/RyA0P0ZjQjNDIDQ/RyA0P0cgND9HIDQ/RyA2P0ITecjQZjdzwEI3c8BCN3PAQDaevWc9XIcF6DtFw+hoPmtAbM+5DY4/XD7a2j9BwnlAuNJwnlAsN5wnlQmNCM0LDeV/jQsPpa2x//YGv9TZCw+lrXGg472tcaDjvazxoQm9ZmIyG1A170JC6YQ8aUjfsQWNCM0JD6oY9aOSGh2jkhodo5IaHaAq54U9+8vH1/dH3VTTvXzDcY+93mIumkBtGoynkhtFoCrlhNBoTmhGaQm4YjaaQG/57aM59hKaQG0ajKeSG0Wg43fBb3ca6DdDE3ssxFw2nG3ah4XTDLjScbtiFxoRmhIbTDbvQcLphR1fWHnuXyVw0nG7YhYbBDX/Ljb0jBS83tGtd7PWTj3VbL+T+9cfKr6d+/h7s7dPnu+DQXvQOwaEd5h2CjU1waDd4h+DQHu8OwaGd2x2CQ/uxOwSHdlk3CI69NeUOwWxOK/bmlDsEszmt2NtT7hDM5rRib1C5QzCb04q9ReUOwWxOK/YmlTsEszmt2Fta7hDM5rRib3W5QzCb04q9reUOwWxOK/ZmlTsEkzmtI/YWlDsEkzmtI/bGkjsEkzmt42Fsgsmc1hF7E8gdgsmc1hF7a8cdgtmcVuwNG3cIZnNasbdh3CGYzWnF3lxxh2A2pxV7y8QdgtmcVuyNEHcIZnNasbc33CGYzWnF3rRwh2A2p7UYm2A2pxV778Udgtmc1sLmtBY2pxV7C8kdgtmcVuyNIXcIZnNasbd73CGYzWnF3sRxh2A2pxV7a8YdgtmcVuwNF3cIZnNasbdR3CGYzWnF3hxxh2A2pxV7y8MdgtmcVuyNDHcIZnNasbcn3CGYzWnF3nRwh2A2pxV7K8EdgtmcVuwNAncIZnNasdv+7xDM5rRiN/PfIZjNacVu0b9DMJvTit14f4dgNqcVu53+DsFsTit2k/wdgtmcVuyG+DsEszktto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuIPto74g60j/mDriD/YOuI7W0d8Z+uI72wd8Z2tI74/jE0wmdPqbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72wd8Z2tI76zdcR3to74ztYR39k64jtbR3xn64jvbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72wd8Z2tI76zdcR3to74ztYR39k64jtbR3xn64jvbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72wd8Z2tI76zdcR3to74ztYR39k64jtbR3xn64jvbB3xna0jvrN1xHe2jvjO1hHf2TriO1tHfGfriO9sHfGdrSO+s3XEd7aO+M7WEd/ZOuI7W0d8Z+uI72wd8Z2tI76zdcR3to74ztYR39k64k+2jviTrSP+ZOuIP9k64s+HsQkmc1onW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ9sHfEnW0f8ydYRf7J1xJ+FGsT78tLbl99/8pvcOqewS26dN3RfXw/dbR/JrfN+dsmt83Z2ya3zbnbJrZOBPXILNUq75BY6dz1yC527Hrl1sq9LrnHJ5XJVhVqkXXKzuqo3CVmd0puE0O5nPZeXhO1hV0G8ba9Pt7a/PfXz//0tOHbP8x2CQzugOwSH9kB3CA7tgu4QbGyCQzuhOwSH9kJ3CA7thu4QHNo73SGYzWnF7nm+QzCb04rd83yHYDanFbvn+Q7BbE4rds/zHYLZnFbsnuc7BLM5rdg9z3cIZnNasXue7xDM5rRi9zzfIZjNacXueb5DMJvTit3zfIdgLqe1PGL3PN8hmMtpPQVzOa2nYC6n9RRsbIK5nNZTMJfTWh6xS3E/Enz9dYun3DqHkktunRfW9R8GPuXWeV255NZ5Wbnk1gmFLrl1IqFLbp1A6JEbuyIVL7fQueuRWycKuuTWCYIuucYll8tVxa5F/Tdy3yRkdUpvEkK7n237+oLM0dpVEN83ez31vr9/nea3/+xC+58bBMeuLr1DcGgPdIfg0C7oDsGhfdAdgo1NcGgvdIfg0G7oDsGhvdMdgtmcVuzq0hsEx64uvUMwm9OKXV16h2A2pxW7uvQOwWxOK3Z16R2C2ZxW7OrSOwSzOa2NzWnFLqe9QzCb09rYnNZmbILZnFbsEuI7BLM5rdhFxHcIZnNascuI7xBc51jy/OVy7AZXvNw6LyzP39jE7g6Fy43dHIqXWycUuuTWiYQuuXUCoUtuoXPXI7fQueuRWycKuuTWCYIuuVyuKnZPKFxu7JbQfyP3TUJWp/QmIbT7Oezrb827Pa6CeLPH66nb9vaf3fl4Fxza/9wh2NgEh/ZAdwgO7YLuEBzaB90hOLQTukNwaC90g+DYTZ53CA7tne4QzOa0Yjd53iHY2ASzOa3YTZ53CGZzWrGbPO8QTOa0WuwmzzsEkzmtFrvJ8w7BZE6rPYxNMJnTarGbPO8QTOa02oPMabUHm9OKXU57h2A2p9XYnFZjc1qxK4jvEMzmtGLXEN8hmM1pxa4ivkMwm9OKXUd8h2A2pxW7kvgOwWxOK3Yt8R2C2ZxW7GriOwSzOa3Ytcd3CGZzWrFrj+8QzOa0Ytce3yGYzWnFrj2+QzCb04pde3yHYDanFbv2+A7BbE4rdu3xHYLZnFbs2uM7BLM5rdi1x3cIZnNasWuP7xDM5rRi1x7fIZjNacWuPb5DMJvTil17fIdgNqcVu/b4DsFsTit27fEdgtmcVuza4zsEszmt2LXHdwhmc1o7m9Pa2ZxW7CbvOwSzOa2dzWntbE4rdl/7HYLZnFbszvY7BLM5rdi97XcIZnNasbvb7xDM5rRi97ffIZjNacXucL9DMJvTit3jfodgNqfF1hHf2DriG1tHfGPriG9sHfGNrSO+sXXEN7aO+MbWEd/YOuIbW0d8Y+uIb2wd8Y2tI76xdcQ3to74xtYR39g64he2jviFrSN+YeuIX9g64peHsQkmc1oLW0f8wtYRv7B1xC9sHfELW0f8wtYRv7B1xC9sHfELW0f8wtYRv7B1xC9sHfELW0f8wtYRv7B1xC9sHfELW0f8wtYRv7B1xC9sHfELW0f8wtYRv7B1xC9sHfELW0f8wtYRvxQq1O5L+/Xhvvz+k9/k1jmUXHLrvLD6+nrobvtAbqGiZZfcOi8rl9w6odAlt04kdMk1LrmFzl2P3ELnrkdunSjoklsnCLrkcrmqQqXKLrlZXdWbhKxO6U1CaPfTj1e0Ps79vAriy3a+nnrZ35763N8FG5vg0A7oDsGhPdAdgkO7oDsEh/ZBdwgO7YRuEBy79vgOwaHd0B2CQ3unOwSzOa3Ytcd3CGZzWrFrj+8QzOa0Ytce3yGYzWnFrj2+QzCb04pde3yHYDanFbv2+A7BbE4rdu3xHYLZnFbs2uM7BLM5rdi1x3cIZnNasWuP7xDM5rRi1x7fIZjNacWuPb5DMJvTil17fIdgNqcVu/b4DsFsTit27fEdgtmcVuza4zsEszmt2LXHdwhmc1qxa4/vEEzmtNbYtcd3CCZzWmvs2uM7BJM5rfVhbILJnNYau/b4DsFkTmuNXXt8h2A2pxW79vgOwWxOK3bt8R2C2ZxW7NrjOwSzOa3Ytcd3CGZzWrFrj+8QzOa0Ytce3yGYzWnFrj2+QzCb04pde3yHYDanFbv2+A7BbE4rdu3xHYLZnFbs2uM7BLM5rZXNaa1sTms1NsFsTit2l/cdgtmc1srmtGL3td8gOHZj+x2C2ZxW7Nb2OwSzOa3Yze13CGZzWrHb2+8QzOa0Yje43yGYzWnFbnG/QzCb04rd+n6HYDanxdYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xK9sHfErW0f8ytYRv7J1xBtbR7yxdcQbW0e8sXXE28PYBJM5LWPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriDe2jnhj64g3to54Y+uIN7aOeGPriLdChdp9ab8+3Jfff/Kb3DqHkktunRdWX18P3W0fya3zunLJrfOycsmtEwpdcutEQpfcOoHQI7dQvbJLbqFz1yO3ThR0ya0TBF1yjUsul6tKW6n8JiGrU3qTENn99Ed7SeiPY7n4j+55i/Lrw89jcPQfXWT3g5cbuvL4BrmR3c8NciO7nxvkRnY/N8g1LrmR3c8NciO7nxvkRnZKN8jlclWhC47hcrfQ9cY3yKVyVVvoauMb5FK5qu1hXHKpXNUWutL4BrlUrmoLXWd8g1wuVxW6yvgGuVyuKnSN8Q1yuVxV6ArjG+RyuarQ9cU3yOVyVaGri2+Qy+WqQtcW3yCXy1WFriy+QS6XqwpdV3yD3DoH0Xq+vjOwnstIbp2DyCM3dOfnh/8xP14PbW0fyS30qvLILfSq8sgtFAA9cgsFQI/cQgHQI5crAIZu+cTLDd3xeYNcrgAYut/zBrlcATB0t+cNcrmu1UP3et4gl+taPXSn5w1yuVxV6D7PG+RmdVVvErI6pTcJod1Pa8tLQjvWi//oxj/5Ta5xyQ3tfvByQ7sfvNzQ7gcvN7T7wcsN7X7gckN3bN4gN7T7wcsN7ZTwcrlcVehuzRvkcrmq0L2aN8jlclU7l6vauVxV6IrYG+RyuaqDy1UdXK4qdAHwDXK5XFXoAuAb5HK5qtAFwDfI5XJVoQuAb5DL5apCFwDfIJfLVYUuAL5BLperCl0AfINcLlcVu1gYL5fLVcUuFsbL5XJVsYuF8XK5XFXsYmG8XC5XFbtYGC+Xy1XFLhbGy6VyVXvsYmG8XCpXtccuFsbLpXJV+8O45FK5qj12sTBeLpWr2mMXC+Plcrmq2MXCeLlcrip2sTBeLperil0sjJfL5apiFwvj5XK5qtjFwni5XK4qdrEwXi6Xq4pdLIyXy+WqYhcL4+VyuaqFy1UtXK4qdks2Xi6Xq1q5XNXK5apid6Dj5XK5qtgd6Hi5XK4qdgc6Xi6Xq4pdG/2RXMcyjj12bTRebp1XlaPQf49dLIyXW+dV5ZJbJwC65NYJgB65sYuF8XLrnLuOHuU9dgkxXm6dAOiSa1xyC7kqj9xCrsojt5Cr8sgt5Ko8cgu5KofcQoXFLrlcrqpQYbFLLperSltY/CYhq1N6kxDa/SyP14f7+p41//gf3bmdvz587m/PvK3vckO7H7zc0O4HLze0+4HLjV0sjJcb2v3g5YZ2P3i5od0PXq5xyQ3tlPByuVxV7GJhvFwuVxW7WBguN3axMF4ul6uKXSyMl8vlqmIXC+Plcrmq2MXCeLlcrip2sTBeLperil0sjJfL5apiFwvj5XK5qtjFwni5XK4qdrEwXi6Xq4pdLIyXS+WqjtjFwni5VK7qiF0sjJdb5yDqy+vLa30ZfHntiN3FCpcbu63zM7nr66G77SO5dV5VLrl1XlUuuXUCoEuuccmtEwBdcgudux65hc5dj9w6AdAlt04A9MiN3daJl8vlqmK3df4buW8SsjqlNwkWWcK6ff13tB6Pi//oHJU5R+xWTbzc0O4HLze0+/lI7rJ8PYZtI7mh3Q9ebmj3A5cbu1UTLze0+8HLDe1+8HJDOyW8XKsjd3t92/mZP0dy67gql9w6rsolt5Cr8sgt5Ko8cgu5KodcK+SqPHLzuKpjcEMRu/bVJ2HNL8EiS7D2ddVlywm4SYhdvouXG9rRfCTXY89jl+/i5YZ2NHi5oR0NXG7s8l283NCOBi83tPv5TK7Dr8Yu38XLNS65dVyVS24hV+WRW8hVeeQWclUeuWlc1Tr6W4fYhbo+CWncz1hCbEdzvH5y3w67+N+Nown2iF18i5drXHJjOxq43NiOBi43tqOBy43taOByYzsatNzYhbp4ubGdElwul6uKXaiLl2tccrlcVexCXbxcLlcVu1AXL5fLVcUu1MXL5XJVsQt18XK5XFXsQl28XC5XFbtQFy+Xy1XFLtTFy+VyVbELdfFyuVxV7EJdvFwuVxW7UBcvl8tVxS7UxcvlclWxC3XxcqlcVY9dqIuXS+WqeuxCXbxcKlfVH8Yll8pV9djt0Hi5VK6qP6hcVX9wuarY3d94uVyuKnb3N14ul6uK3f2Nl8vlqmLXJX8k17GEoseuS8bLrfOqctQl99hFvXi5dV5VLrl1AqBLbp0A6JJbJwC65BY6dx1yYxf14uXWCYAuuXUCoEsul6uKXdSLl5vVVb1JyOqU3iSEdj97+5JwXC568cTw2IW6eLmh3Q9cbuxCXbzc0O4HLze0+8HLDe1+8HKNS25o94OXG9op4eVyuarYpb54uVyuKnapL14ul6uKXeqLl8vlqmKX+uLlcrmq2KW+eLlcrip2qS9eLperil0AjJfL5apiFwvj5XK5qtjFwni5XK4qdrEwXi6Xq4pdLIyXy+WqYhcL4+VyuarYxcJ4uVyuKnaxMF4ul6uKXSyMl8vlqmIXC+Plcrmq2MXCeLlcrip2sTBeLperil0sjJfL5apiFwvj5XK5qtjFwni5XK4qdrEwXm6dg8hTCRC7ixUvt86ryvPltdhtnWi5Z+y2TrzcOgHQJbdOAHTJrRMAXXILnbseuYXOXY/cOgHQJbdOAHTJpXJVZ+y2Trjc2G2d/0bum4SsTulNQmj3c+zLl4Rju/iPbvyT3+SGdj94ucYlN7T7+Ujusnw9hm0juaHdD15uaPeDlxva/eDlhnY/cLmxK2LxckM7JbzcOq5q2V6/3FiONpJbx1W55BqX3EKuyiO3kKvyyC3kqjxyC7kqj9zQrqp/HaW9r1d3Sp4AGLsAGC83tKv6SK7HVcUuAMbLDe2q8HKNS25oV4WXG9pV4eWGdlWfyXXYjNjFwni5dVyVR27sYmG83EKuyiO3kKvyyC3kqjxyLbTc/XzJPR/9Qu62vD68rd/n7tL6u9zYrgouN7ar+kTuvvavn9wufrInG8cuIZ6LJrZbm4omtrObiSZ2EfJcNLEd41Q0sd3lVDSxnehUNCY0IzR1HC4cjdzwEI3c8BCN3PAQjdzwCE3sAuu5aOSGh2jkhodo5IaHaExoRmjkhodo5IaHaOSGh2jkhodo5IZHaGIXj89FIzc8RCM3PEQjNzxEY0IzQiM3PEQjNzxEIzc8RCM3PEQjNzxCE7swfi4aueEhGrnhIRq54SEaE5oRGrnhIRq54SEaueEhGrnhIRq54RGa2EX/c9HIDQ/RyA0P0cgND9GY0IzQyA0P0cgND9HIDQ/RyA0P0cgN/xnN+oi9S2YuGrnhIRq54SEaueEhGhOaERq54SEaueEhGrnhIRq54SEaueERmtg7gOaikRseopEbHqKRGx6iMaEZoZEbHqKRGx6ikRseopEbHqKRGx6hib0Tai4aueEhGrnhIRq54SEaE5oRGrnhIRq54SEaueEhGrnhIRq54RGa4Lu8pqKRGx6ikRseopEbHqIxoRmhkRseopEbHqKRGx6ikRseopEbHqEJvoNtKhq54SEaueEhGrnhIRoTmhEaueEhGrnhIRq54SEaueEhGrnhERrtohujkRseopEbHqKRGx6iMaEZoeE8vNez/frseg7RcB7eHjSkS5Ds8RJobR+h4XwNu9BwvoZdaDgvJVxoOC8lXGg4LyVcaDh9je3bC01vIzScvsaDhnQJkgsN56WECw2pG/agIXXDHjQmNCM0pG7Yg4bUDXvQkLphDxq54SEaueERGtIlSC40csNDNHLDQzRyw0M0JjQjNHLDQzSF3PAHP7lt++t3dM//5/unl3c4hfwwHk4hR4yHU8gTw+FUWoaEh1PIF38E53z95LYfv8P5j5/elteHt3X7+uzS+jvIQi56LshCnnsuSBNIDMhCfn4uSFb3DwfJmhTgIFlTBRwkawIBg2yVllXNBalkAwKpZAMCqWQDAmkCiQGpZAMCqWQDAqlkAwKpZAMCqWSDAVlp8dhckEo2IJBKNiCQ8pEOkI8vkK2PQMpHgkDq1Mb8T7vSgqS5IHVqg0Dq1AaB1H0kCKQJ5L+AfIMjb/hv4Mjv/Rs4pHeB+1ehUzvWIRzS+z0fHFL374JTackTHg6pS/fBIXXePjikbvo4Xl/7at3ab3D+npuutBhqLkhS540HSerS8SBJHT0eJKn7x4MkTQpwkJWWZc0FSZpA8CBJ0woepJINCKQJJAakkg0IpJINCKSSDQikkg0IpJINBmSlxWdzQSrZgEAq2YBAKtmAQJpAYkAq2YBAKtmAQCrZgEAq2YBAKtlgQO5KNiCQSjYgkEo2IJCyPw6Qji8SVlrZOBVkpVV9U/+nXWmx31yQOmxAIHWNBgJpAokBqWu0fwX5Bkfe8N/Akd/7N3BIr7D6/viCc9oIDum1lAtOpdWEeDikjt4Hh9Sl++CQOm8fHOOEcy72UvgU+xucP7jp/fXhrX+DXB72DpLUTeNBkjpvPEhSl44HSero8SBJ3T8cJOu6RjxI0lSBB0maQPAgSdMKHqQJJAakkg0IpJINCKSSDQikkg0IpJINBOTCutoRD1LJBgRSyQYEUskGBNIEEgNSyQYEUskGBFLJBgRSyQYEUskGA5J1tSMepJINCKSSDQikkg0IpAkkBqSSDQikkg0IpJINCKSSDQikkg0GJOv6WzxIJRsQSCUbEEglGxBIE0gMSCUbEEglGxBIJRsQSCUbEEglGwxI1n2ln4G8LjZbWPeV4kHqsHGAvG4/Wli3Q+JB6rDBgGTdDokHqWs0EEhdo/0ryDc48ob/Bo4JzhgO5xXW8ni8Prw81iEczmspJxxO9++Ew+nonXA4XboPDun2QiccTje9PI7+euZmy29w/t5lIulGwhtAcjrvG0CaQGJAsjp6OEhW9w8HyZoU4CBZUwUcJGsCQYMk3Uh4A0glGxBIJRsQSCUbEEgTSAxIJRsQSCUbEEglGxBIJRsQSCUbDEjS9bc3gFSyAYFUsgGBVLIBgTSBxIBUsgGBVLIBgVSyAYFUsgGBVLLBgCRd7XsDSCUbEEglGxBIJRsQSBNIDEglGxBIJRsQSCUbEEglGxBIJRsMSNJVxDeAVLIBgVSyAYFUsgGBNIHEgFSyAYFUsoGAXEn3lX4I8rrYbCXdV3oDSB02DpDX7Ucr6XbIG0DqsAGB1DUaCKSu0UAgdY32ryC/4ZBufHTCIfV7rX/BWcwu/ye4/Ol/gr8lENItjjeAJL3uwoM0gcSAJE0geJCkCQQPkjSB4EGSJpDPQH5fwB7HCCRpAoGDJN3ieANIJRsQSCUbEEglGxBIE0gMSCWbj0AOf/9MusXxBpBKNiCQpMlm+b71Xt9i359B9kd7PUZ7B/n+uxXSLY54kCtpssGDJE02eJCkyQYPkjTZ4EGaQF6DtJf96dsxAkmabPAgSZMNHiRpssGDVLIBgVSywYAkXRn8IcivD/ezjUAq2YBAKtmAQCrZgECaQGJAKtmAQCrZgEAq2VyDPNtL4LnsI5BKNiCQSjYYkKwrmfEglWxAIJVsQCCVbEAgjRPkuu1fIM/jAmRr+xePtr+XJhzvKEmzzR0oSdPNHShJ880dKEkTzmcol/b6nUNb+vEbyv/4aU8/AOvS58nYWVdEz8ZOmrVmYydNZrOxk+a42dhN2GdgV0Kcgl1pcgp2Jc8p2JVSp2BXSp2BnXXd92zsSqlTsCulTsGulDoFuwn7DOxKqVOwK6VOwa6UOgW7UuoU7EqpM7CzLsq+E7tjjQ3rWu3Z2OVkprxk5GSmYJeTmYJdTmYGdtZVzbOx6779n2F/QykvDkMpfw1DaUJ5jXJ9vD79/HFDlLq/hqFUkoOhVDqDoVTigqFUigKhNNYt7h+iPF7P0Wx7/IbyD58+ttcWrNbt/P7ZW38Hr2w0CbyS1CTwyl2TwJvAzwGvTDcJvBLgJPDKi5PAK11OAq8sOgd8U3KdBF7JdRJ4JddJ4JVcJ4E3gZ8DXsl1Engl10nglVwngVdynQReyXUO+EXJdRJ4JddJ4JVcJ4FXcp0E3gR+Dngl10nglVwngVdynQReyXUSeCXXOeBXJddJ4JVcJ4FXcp0EXsl1EngT+DnglVwngVdynQReyXUOeJOdRIN3VIyZyUxOwa6DFY79uv3HTMfqFOw6VKdg12XwFOy6Cp6BfdNF8D/D/oZSXhyGUv7agXJrL4VtO/rly2D508vgYe/YdVU7BbsJ+wzsSpNTsCtNTsGuNDkFu9LkFOxKk3Ds+6tHeDuOAfZdaXIKdiXPKdiVUqdgV0qdgt2EfQZ2pdQp2JVSb8TebYRdKXUKdqXUKdiVUh3Y90d78di3doG9bdvja0j7+v2zf/uzuUM5dRJ4JdVJ4JVVJ4FXWp0E3gR+DnglVjz4ffuT9fwX8Mqsk8ArtU4Cr9w6CbyS6xzwXcl1EnglVzh4O/cv8OfvdvLvXah1pdwEQ1IiTjAk05DQQ9qPL3r7+RidM0rPk8ArPU8Cr/Q8CbzS8yTwSs9zwJ9Kz5PAKz3jwZ9fBUHHYxuBVyKeBF4pdxJ4E/g54JVcJ4FXcp0EXsl1EnglVzz45euvm4/ldx//966QT6Xc8EPaHkrECYak9AwfUn98/cast0G97vZQep4EXul5EngT+DnglZ4ngVd6ngRe6XkSeKVnPPjl69N9tRF4JeI54JtS7iTwSq6TwCu5TgKv5DoJvAn8HPBKrnDw/2b519+7Qm5KuQmGpEScYEik6dm+tsks1pfLIbWvNR+7vX36/COP7fUFzOVovz3HG3bS7DwZ+0KanGdjJ83Ns7GTpmYY9jeUpDn4DpQmlCiUpFn1DpSkifIOlKS57w6USmcwlEpcKJSrUpQH5eBP//9o54+t//rwcb5f1bxTV4iaQV0ZCk19+fqD8sW2QXRdlbemYDdhn4FdOW4KdmW+KdiVD6dgV5aEY3dcwq/KnTOwmzKqA/ux9C/s1v55WjJl1BnUlVHR1D0HqimjTsFuwj4DuzLqFOzKqFOwK6NOwa6MCsfuCUvKqDOwb8qoHuxfz9GOvvzztLQpo86groyKpu45UDdl1CnYTdhnYFdGnYJdGXUKdmXUKdiVUeHYPWFJGXUG9l0Z1YG9P7549PeO3L+blnZl1BnUlVHR1D0H6q6MOgW7CfsM7MqoU7Aro07Brow6BbsyKhy7Jywpo87Afiijfor9+A37G0oFTxhKpUkYSiVED8rDvlD247//4+uQw0R9AnXlQzR1j2M+lA+nYFc+nIJd+XAKduXDGdi78uEU7MqScOyO25Cu3DkFuzKqB/v2vYKj9wvs5/r60ef+1nVvx99LVt00oeATUvaNPiHF5OgTUqKOPiGF7+gTUk4PPqFTkT76hJT+o09IFwXRJ6Q7hegTMk3oekKnfbU7nhuglP3UPcEM6sr+aOqeX6OcCvRTsCulT8Gu6D0B+/5Qnp6CXSF5CnYlXzj261+R7w/F2SnYTdhnYFdInYJdKdWDvT9en35cfgfv3336Dbxy6iTwSqpo8Pvav56jXTzH+JnfRqRUG31ETQk4/IiUlsOPSMk6/IiUwsOPyDSi6CNSug8/It0EhB+R7gzCj0i3C+FHpNuF6CNadLsQfkS6XQg/It0uhB+RbhfCj8g0ougj0u1C+BHpdiH8iHS7EH5Eul0IPyLdLkQf0arbhfAj0u1C+BHpdiH8iHS7EH5EphFFH5FuF8KPSLcL4UekXDRzROv5an1Zz9GITLko/Ijk6GaOyL7WL1nbRyMyjSj6iOTowo9Iji78iPT7ovAj0u+Lwo9IuWjqiPZXR4L1UUfCplwUfkT6fVH4Een3ReFHpNuF8CMyjSj6iHS7EH5Eul0IPyLdLoQfkW4Xwo9ItwvRR7TrdiH8iHS7EH5Eul2Aj+iD5/jupX2vpV0e78Wbu24Xwo/INKLoI9LtQvgR6XYh/Ih0uxB+RLpdCD8i3S5MHdH2An0ej8GIDt0uhB+RbhfCj0i3C+FHpNuF8CMyjSj6iHS7EH5Eul34uRG9YdeNwRTsugWYgl3Jfgb2rrQ+BbsS+BTsStVTsDMk5Te5xiWXIcG9yWVIQ29yGVLIm1wG9/8ml8F1f8s9Q7vdc7Uvucd+Ibdtr8dom43khnaZeLmh3d1HctFdaGdoBzYXjQnNCE1oZzcXTWgXOBdNaMc4F01odzkXTWgnOhPN8ajjWuFo6jhcOBq54SEaueEhGhOaERq54SEaueEhGrnhIRq54SEaueERmiY3PEQjNzxEIzc8RCM3PERjQjNCIzc8RCM3PEQjNzxEIzc8RCM3PEKzyA0P0cgND9HIDQ/RyA0P0ZjQjNDIDQ/RyA0P0cgND9HIDQ/RyA2P0Kxyw0M0csNDNHLDQzRyw0M0JjQjNHLDQzRyw0M0csNDNHLDQzRywyM0Jjc8RCM3PEQjNzxEIzc8RGNCM0IjNzxEIzc8RCM3PEQjNzxCE3sr9W1o1rP9+ux6DtFw+hoXGs4Tyh4vgdb2ERrOE8qFhvOEcqHhPKFcaDjvazxoYu/lnIuG09c49lAesfdQzkXDeV/jQmNCM0JD6oY9aEjdsAcNqRv2oCF1wx40pG7YgSb2Hrm5aOSGh2jkhodo5IaHaExoRmjkhodo5IaHaOSGh2jkhodoCrnhD35y27bX5uu2HW+rr9ufPr1sL5DLMQIZe6tTJpCFnPZckIV8+VyQhVw8COQbHBOcMZxCTh4Pp5CXx8Mp5ObxcAr5eTwcOfoxnELbqG6AQ+q8969VnW235Tc4fy9UV9qKNRckqfP+COSyfAm0bQTSBBIDktTR40GSun88SNKkgAdJmirwIEkTCBpkr7SF7D6Q1ze4vdLOsrkgWZPNV1hp+9H/ebLplfahzQVpAnkJ0nXYsCYbOEjWZAMHyZps4CBZkw0cJGuyQYOstFFuLkjWZPMRSEeyqbStbi5IJRsQSBNIDEjSZHM8Xh9ux/a4ANm2l8C22QgkabLBgyRNNh+BBBe19Urb/vJAJ01MU6FX2lCYBzppEpsLnTS1zYVOmvDmQjdB/3noSo4ToCtlToCuRDoBuhLpBOhKpD8PvdKW0DzQlUgnQFcinQBdiXQCdBP0n4euRDoBuhLpBOhKpBOgK5FOgK5E+vPQK23qzQNdiXQCdCXSCdCVSCdAN0H/eehKpBOgK5FOgK5EOgG6EukE6EqkPw99UyKdAF2JdAJ0JdIJ0JVIJ0A3Qf956EqkE6ArkU6ArkQ6AboS6QToSqQ/D31XIp0AXYl0AnQl0gnQlUgnQDdB/3noSqQToMunY6GvZ/v12fUcQpdP/3noh9wLFro9Xuis7SPoci8ToJug/zx0uZcJ0HWfPgG67tMnQJdPB0N3rE055NN/HnrXffoE6LpPnwBdiXQCdCXSCdBN0H8euhLpBOhKpBOgK5FOgK5EOgG6EunPQz+VSCdAVyKdAF2JdAJ0JdIJ0E3Qfx66EukE6EqkDugf/ORlWR/fNNbvT/fPaLyNSPk1/IiUdsOPSNk4+IjOh5L0z43oDbuy9BTsStNTsCtPT8Fuwj4DuzL1FOxK1VOwKylPwa70OwW7Eu0M7E0pFY29f2Ff37/i8MeLhGb9pbBt6/un+/uQlGkTDEkJeOaQwGUBZ1OyLjVO0zgrjVM3AaXGqRuGUuPUzUWpcepGpNQ4ddNSaZyLbnBKjVN3PaXGqVuhUuPUrVCpcZrGWWmcuhUqNU7dCpUap26FSo1Tt0KlxqlboUrjXHUrVGqcuhUqNU7dCpUap26FSo3TNM5K49StUKlx6lao1Dh1K1RqnLoVKjVO3QpVGqfpVqjUOJU7s4zTsbXxNNM4K41TzjbLOB1byU6Tsy01TjnbSuPc5GxLjVO/7yw1Tv2+s9Q4lTvTjPO6Nf3cTOOsNE79vrPUOPX7zlLj1K1QqXHqVqjUOHUrVGmcu26FSo1Tt0KlxqlboVLj1K1QqXGaxllpnLoVKjVO3QpNHecnz2xfnNv2GNWH77oXKjZQ3QwVG6juhmoN9NDtULGB6n6o2EB1Q1RsoLojSjnQto4GahporYHqnqjYQHVTlGagW9u+Bvo+ld8HqpuiYgPVTVGxgeqmqNZAu26Kig1UN0XFBqqbomID1U1RyoGu22igpoHWGqhuiooNVDdFMQf6NiLd/YQfkW5zwCNaW/8a0WYXI2rW7ftVN/o9ZNcNTfwhnbp1mTkkdFvlqTuXUuPUjUupceq+pdQ4TeOsNE7dtZQap25aSo1TtzKlxqkbnFLj1F1PnXHa46FboVLj1K1QqXHqVqjUOHUrVGqcpnFWGqduhUqNU7dCpcapW6FS49StUKlx6lao0jibboVKjVO3QqXGqVuhUuPUrVCpcZrGWWmcuhUqNU7dCpUap26FSo1Tt0KVxrkod2YZ53q2X59dz+E4lTtLjVPONss4r9eIP8cpZ1tqnHK2pcYpZ1tqnPp9Z6Vxrvp9Z6lxKnemGefldr7nOJU7S41Tv+8sNU7TOCuNU7dCpcapW6FS49StUKlx6lao1Dh1K1RpnKZboVLj1K1QqXHqVqjUOHUrVGqcpnHOHOcnz+zYNf0cqO6Fig1UN0PFBqq7oWID1e1QsYHqfqjWQDfdEBUbqO6IUg60raOB6pao2EB1T1RsoKaBZhmoY9f0c6C6KSo2UN0UFRuoboqKDVQ3RcUGqpuiWgPddVNUbKC6KUo50HUbDVQ3RcUGqpuiYgM1DTTkQN9GpLuf8CPSbQ56RNv+NaJzvxjRuZy/Pnwe3388uTw5v41I9zPhR6Qbl5kjQjdV7rpvqTTOQ7ctpcapu5ZS49RNS6lx6p6l1DhN46w0Tt3IlBqnbm9KjVM3PaXGqVuhUuPUrVClcXbdCpUap26FSo1Tt0KlxqlboVLjNI2z0jh1K1RqnLoVKjVO3QqVGqduhUqNU7dClcZ56lao1Dh1K1RqnLoVKjVO3QqVGqdpnJXGqVuhUuPUrVCpcSp3ZhnnerZfn13PwTjbQ7mz1DjlbLOM07FCvD1M46w0TjnbUuOUsy01Tv2+s9Q49fvOUuNU7kwzzuvNfK0pd5Yap37fWWqc+n1nqXHqVqjUOE3jrDRO3QqVGqduhUqNU7dCpcapW6FS49StUKVxLroVKjVO3QpNHecHP/m05ddnz+1788FvbdNt0a1QqXHqVqjUOE3jrDRO3QqVGqduhUqNU7dCpcapW6E049xeQzmPx2icuhWqNM5Vt0KlxqlboVLj1K1QqXHqVqjUOE3jrDRO3QrFHOfbiHTTE35Eur1Bj+j82g9trV2MaFn29fvTy2+ffhuS7mQSDEk3LXOH9D2jbfCyM92ehB+RbkTCj0i3HOFHpJuL8CMyjSj6iHTDMHVE2+vPapdj9Ge1phuG8CPSDUP4Eel+IfyIdLsQfUSbbhfCj0i3C+FHpNuF8CPS7UL4EZlGFH1Eul0IPyLdLoQfkW4X/smI3kDqDgAEUkkdA3JXngaBVOoFgVQ2BYFUggSBNIHEgFQaA4FUZgKBVLIBgVSyAYFUsvlXkN9wDta0cixfcPpx8V/Zub0Enn0d/Fd2sKYVOEjWtAIHyZpW4CBNIDEgWdMKHCRrWoGDZE0rcJCsaQUOkjWtoEF2JRsQSCUbEEglGxBIJRsQSBNIDEglGxBIJRsQSCUbEEglGxBIJRsMyFPJBgRSyQYEUskGBFLJBgTSBBIDUskGBFLJBgRSyQYEUskGBFLJBgJyeSjZgEAq2YBAKtmAQCrZgECaQGJAKtmAQCrZgEAq2YBAKtmAQCrZYEA2JRsQSCUbEEglGxBIJRsQSBNIDEglGxBIJRsQSCUbEEglGxBIJRsMyEXJBgRSyQYEUskGBFLJBgTSBBIDUskGBFLJBgRSyQYEUskGBFLJBgNyVbIBgVSyAYFUsgGBVLIBgTSBxIBUsgGBVLIBgVSyAYFUsgGBVLLBgDQlGxBIJRsQSCUbEEglGxBIE0gMSCUbEEglGxBIJRsQSCUbEEglGwzITckGBFLJBgRSyQYEUskGBNIEEgNSyQYEUskGBFLJBgRSyQYEUskGA3JXsgGBVLIBgVSyAYFUsgGBNIHEgFSyAYFUsgGBVLIBgVSyAYFUssGAPJRsQCCVbEAglWxAIJVsQCBNIDEglWxAIJVsQCCVbEAglWxAIJVsMCC7kg0IpJINCKSSDQikkg0IpAkkBqSSDQikkg0IpJINCKSSDQikkg0G5KlkAwKpZAMCqWQDAqlkAwJpAokBqWQDAqlkAwKpZAMCqWQDAqlkAwG5PpRsQCCVbEAglWxAIJVsQCBNIDEglWxAIJVsQCCVbEAglWxAIJVsMCCbkg0IpJINCKSSDQikkg0IpAkkBqSSDQikkg0IpJINCKSSDQikkg0G5KJkAwKpZAMCqWQDAqlkAwJpAokByZBs3uQy5I83uQwp4U0ug5d/k8vguL/lUmywf5PL4F7f5DJ4zDe5DE7wTa5xyeVyVRRbyt/kZnVVbxKyOqU3CVndz7eEtJur3yRkdSlvErI6jzcJWd3EmwTLLyHrqf8mIetJ/iYh/+mcdhPtm4T8p3Pa7atvEvKfzmk3jr5JyH86p92y+SYh/+mcdrPkm4T8p3PwbYpn//Xh89HW3yT8vd8QBt95iJYbfDMhXG5shwCXG9tNwOXGdh5wucYlN7ajgcuN7X7gcmM7JbhcLlcVfN8aWm7wrWhwuVyuKviGMbhcLlcVfFsXXC6Xqwq++Qoul8tVBd8iBZfL5aqCb2SCy+VyVcG3G8Hlcrmq4JuC4HK5XFXwrTtwuVyuKvgGG7hcLlcVfBsMXC6Xqwq+WQUul8tVBd9SApfL5aqCb/yAy+VyVcG3Z8DlUrkqC76JAi6XylVZ8K0OcLlUrsoexiWXylVZ8G0DcLlUrsqCN/fD5XK5quAt+HC5XK4qeKM8XC6Xqwrezg6Xy+Wqgjedw+VyuargreFwuVyuKngDN1wul6sK3mYNl8vlqoI3Q8Plcrmq4P3NcLlcrip4fzNcLperCt7fDJfL5aqC9zfD5XK5quD9zXC5XK4qeH8zXC6Xqwre9QyXy+WqgndIw+Vyuarg3dRwuVyuKnjnNVwul6sK3qUNl8vlqoJ3dMPlcrmq4N3fcLlcrip4pzhcLperCt5VDpfL5aqCd6DD5XK5Kq5udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pWN65udePqVjeubnXj6lY3rm514+pW37i61TeubvUtULf620PF8T5vD2URHyqOj3h7qDin/dtDxTmT3x4qzsn59lBxzrfvhwrURf32UHHOireHivhGD9S+/PZQEd/ogZqM3x4q4hs9UCvw20NFfKMHatj9fqhAPbhvDxXxjR6oU/btoSK+0QP1s749VMQ3eqCu07eHivhGD9Qb+vZQEd/ogTo43x4q4hs9UJ/l20NFfKPf3A359i/afupftP/Uv+j4qX9R/6l/0flD/6Kbe+/e/kXtp/5Fy0/9i9af+hf91JvBfurNYD/1ZrCfejPYT70Z7KfeDNtPvRm2n3ozbD/1Zth+6s2w/dSbYfupN8P2U2+G7afeDNtPvRm2n3oz7D/1Zth/6s2w/9SbYf+pN8P+U2+G/afeDPtPvRn2n3oz7D/1Zth/6s1w/NSb4fipN8PxU2+G46feDMdPvRkQ31JeDvv6F/Xzv//7WxbPXwEhvkuMf6gj4kP1iA91BnwoxHdc8Q/VIj7UEvGh1ogPZREfKuIbvUd8o/eIb/Qe8Y3eI77Rz4hv9DPiG/2M+EY/I77Rz4hv9DPiG/2M+EY/I77Rz4hv9DPgG31/BHyj74+Ab/T9EfCNvj8CvtH3R8A3+v4I+EbfHwHf6Psj4Bt9fwR8o++PiG/0FvGN3iK+0VvEN3qL+EZvEd/oLeIbvUV8o7eIb/QW8Y3eIr7Rl4hv9CXiG32J+EZfIr7Rl4hv9CXiG32J+EZfIr7Rl4hv9CXiG32N+EZfI77R14hv9DXiG32N+EZfI77R14hv9DXiG32N+EZfI77RLeIb3SK+0S3iG90ivtEt4hvdIr7RLeIb3SK+0S3iG90ivtG3iG/0LeIbfYv4Rt8ivtG3iG/0LeIbfYv4Rt8ivtG3iG/0LeIbfY/4Rt8jvtH3iG/0PeIbfY/4Rt8jvtH3iG/0PeIbfY/4Rt8jvtGPiG/0I+Ib/Yj4Rj8ivtGPiG/0iN8Z3SN+Z3SP+J3RPeJ3RveI3xndI35ndI/4ndE94ndG94jfGd0jfmd0j/id0T3id0b3iN8Z3SN+Z3SP+J3RPeJ3RveI3xndI35ndI/4ndE94ndG94jfGd0jfmd0j/id0T3id0b3iN8ZPSJ+Z/SI+J3RI+J3Ro+I3xk9HgHf6EfE74weEb8zekT8zugR8TujR8TvjB4RvzN6RPzO6BHxO6NHxO+MHhG/M3pE/M7oEfE7o0fE74weEb8z2m8usv6Pn/5sX/D6ktvPY//+9B/3BX/yk9vTibwUHtvj69NLs3/4k5d1e314Wc+3Z+5/pLH2r5/cLn7yerZfn13PZTTO2Mu9Nc7PxnlzKbvG+cPjjL2cXeP8cJxx1qBpnIBxxlkgp3ECxmkaZ6VxxllDq3ECxhlnga/GCRhnnNXHGidgnLoVKjVO3QplGact56/PmtlgnIduhUqNU7dCpcapW6FS49StUJpxtu9xbqNxmsZZaZy6FSo1Tt0KlRqnboVKjVO3QqXGqVuhNON8vIZibR+Ms+tWqNQ4dStUapy6FSo1Tt0KlRqnaZyVxqlboVLj1K1QqXHqVqjUOHUrVGqcuhWqNM5Tt0KlxqlboVLj1K1QqXHqVqjUOE3jrDRO3QqVGqduhUqNU7dCpcapW6FS49StUKFxng/dCpUap26FSo1Tt0KlxqlboVLjNI2z0jh1K1RqnLoVKjVO3QqVGqduhUqNU7dClcbZdCtUapy6FSo1Tt0KlRqnboVKjdM0zkrj1K1QqXHqVqjUOHUrVGmci3Inepytf41zM+A4HW3T56LcWWqcyp2lxqncWWqcpnFWGqdyZ6lxKneWGqdyZ6lx6q8RSo1Tf41QaZyrboVKjVO3QlnG6ViLc666FSo1Tt0KlRqnaZyVxqlboTTjvF68ca66FSo1Tt0KlRqnboVKjVO3QpXGaboVKjVO3QqlGafjL/lMt0KlxqlboVLjNI2z0jh1K1RqnLoVKjVO3QqVGqduhUqNU7dClca56Vao1Dh1K1RqnLoVKjVO3QqVGqdpnJXGqVuhUuPUrVCpcepWqNQ4dStUapy6Fao0zl23QqXGqVuhUuPUrVCpcepWqNQ4TeOsNE7dCpUap26FSo1Tt0KlxqlboVLj1K1QpXEeuhUqNU7dCpUap26FSo1Tt0KlxmkaZ6Vx6lao1Dh1K1RqnLoVKjVO3QqVGqduhSqNsyt3gse59MfXOBtypZynbbord5Yap2mclcap3FlqnMqdpcap3FlqnMqdpcap3FlpnKf+GqHUOPXXCKXGqVuhUuPUrVCWcXrW4pymcVYap26FSo1Tt0KlxqlboTTjdCzeOHUrVGqcuhWqM87t8dCtUKlx6lao1Dh1K1RqnLoVSjPOy7/ke47TNM5K49StUKlx6lao1Dh1K1RqnLoVKjVO3QpVGmfTrVCpcepWqNQ4dStUapy6FSo1TtM4K41Tt0KlxqlboVLj1K1QqXHqVqjUOHUrVGmci26FSo1Tt0KlxqlboVLj1K1QqXGaxllpnLoVKjVO3QqVGqduhUqNU7dCpcapW6FK41x1K1RqnLoVKjVO3QqVGqduhUqN0zTOSuPUrVCpcepWqNQ4dStUapy6FSo1Tt0KVRqn6Vao1Dh1K1RqnKZxXo8T2gn9hK50OAG6MtwE6EpaE6ArD02ArtTy89A3ZYsJ0JUAJkDXb28nQNfvWCdAN0H/eehKpFjo1+stntCVSCdAVyKdAF2JdAJ0JVIwdEex+65EOgG6EukE6EqkE6ArkU6AboL+89CVSMHQHX8NsCuRToCuRDoBuhLpBOhKpD8P/VAinQBdiXQCdCXSCdCVSCdAN0H/eehKpBOgK5FOgK5EOgG6EukE6EqkPw+9K5FOgK5EOgG6EukE6EqkE6CboP88dCXSCdCVSCdAVyKdAF2JdAJ0JdKfh34qkU6ArkQ6AboS6QToSqQToJug/zx0JdIJ0JVIJ0BXIp0AXYl0AnQl0h+H3h5KpBOgK5FOgK5EOgG6EukE6IV8OrZ/qD0KuWk0mkKeF42mkDMFo2mF/CMaTSGXh0ZTyIuh0RRyTGg0JjQjNIXuw9Fo5IaHaDjdsKPUrjVON+xCw+mGPWgWTjfsQsPphh0VVG3hdMMuNJxu2IXGhGaEhtMNu9BwumEXGlI37PiNwkLqhj1oSN2wA81K6oY9aEjdsAcNqRv2oCF1wx40JjQjNKRu2IOG1A170MgND9HIDQ/RyA2P0Jjc8BCN3PAQjdzwEI3c8BCNCc0IjdzwEI3c8BCN3PAQjdzwEI3c8AjNJjc8RCM3PEQjNzxEIzc8RGNCM0IjNzxEIzc8RCM3PEQjNzxEIzc8QlNpmzcajdzwEI3c8BCN3PAQjQnNCI3c8BBNaF/T9/MLzaNfofngJy/fX21ZrL9/evnDp9vZH69PP5bH23O0fzgiz7f5Ym+91YieI4q9I1cj+mtEof2mRvTXiEL7Xo3orxGF9t8a0V8jMo0o+ohC5xGN6K8Rhf4tgUb014hC/7ZCI/prRLpdCD8i3S7MHJGnYiX2vmON6K8R6XYh/Ih0uxB+RLpdmDoiR5lK7D3NGtFfI9LtQvgR6XYh/Ih0uxB+RLpdCD8i3S5MHZHjL4Bi767WiP4akW4Xwo9ItwvhR6TbhfAjMo0o+oh0uxB+RLpdCD8i3S6EH5FuF8KPSLcLwUe0xN5DrhH9NSLdLoQfkW4Xwo9ItwvhR2QaUfQR6XYh/Ih0uxB+RLpdCD8i3S6EH5FuF6KPqOl2IfyIdLsQfkS6XQg/It0uhB+RaUTRR6TbhfAj0u1C+BHpdiH8iHS7EH5Eul2IPqJFtwvhR6TbhfAj0u1C+BHpdiH8iEwjij4i3S6EH5FuF8KPSLcL0Ue0kuaidXt9eFnP42pE6/F6jmbb94ie12d/+PT2eH14a/3ts/0dO2nWmY2dNL/Mxk6aSWZjN2GfgZ00O9yJ3ZYX9jca/4KdNA/Mxk7q8WdjJ/2t4GzspL/puxP7V6LdtnWA3ZRSp2BXSp2CXSl1Cnal1CnYTdhnYFdKhWP/uvbf1m2EXSl1Cnal1CnYlVKnYFdKnYF9U0qdgl0pdQp2pdQp2JVSp2A3YZ+BXSl1Cnal1CnYlVKnYFdKnYJdKXUG9l0pdQp2pdQp2JVSp2BXSp2C3YR9Bnal1CnYlVKnYFdKnYJdKXUKdqXUGdgPpdQp2JVSp2BXSp2CXSl1CnYT9hnYlVKnYFdKnYJdKXUKdqXUKdiVUmdg70qpU7ArpU7BrpQ6BbtS6hTs8u0O7EuzF4+lH1fYHe1JXb59Cnb59inY5dtnYD/l26dgl2+HY3dUPZzy7VOwy7dPwW7CPgO7frs0BbtS6hTsSqlw7I47mVMpdQp2pdQJ2NeHUuoU7EqpU7ArpU7BrpQ6BbsJ+wzsSqlTsCulTsGulDoFu1LqFOxKqTOwN6XUKdiVUqdgV0qdgl0pdQp2E/YZ2JVSp2BXSp2CXSl1Cnal1CnYlVJnYF+UUqdgV0qdgl0pdQp2pdQp2E3YZ2BXSp2CXSl1Cnal1CnYlVKnYFdKnYF9VUqdgl0pdQp2pdQp2JVSp2A3YZ+BXSl1CnZS3/44Xl8efSJdLrA7OjPWldSJw0EaqbfGgyR1y3iQpP4XD5LU0X4G0pYXyDd9/wLSBBIDktR14kGS/rYDD5L09xefgbyufllNyQYEUskGA3JTsgGBVLIBgVSyAYFUsnGAdNxHbiaQGJBKNiCQSjYgkEo2IJBKNiCQSjYYkLuSDQikkg0IpJINCKSSDQikCSQGpJINCKSSDQikkg0IpJINCKSSDQbkoWQDAqlkAwKpZAMCqWQDAmkCiQGpZAMCqWQDAqlkAwKpZAMCqWSDAdmVbEAglWxAIJVsQCCVbEAgTSAxIJVsQCCVbEAglWxAIJVsQCCVbDAgTyUbEEglGxBIowTZzuWrrubsV+U2ngaBk9NH3gCS00feAJLTR94AktNH3gCS00d+CPK6isEenD7yBpCcPvIGkJw35DeA5Lwh/xDk9Rff7WECiQGpZAMCqWQDAqlkAwKpZAMCqWTjAHl9H2lNyQYEUskGBFLJBgRSyQYE0gQSA1LJBgRSyQYEUskGBFLJBgRSyQYDknR//A0glWxAIJVsQCCVbEAgTSAxIJVsQCCVbEAglWxAIJVsQCCVbDAgSXeO3wBSyQYEUskGBFLJBgTSBBIDUskGBFLJBgRSyQYEUskGBFLJBgOSdOP7DSCVbEAglWxAIJVsQCBNIDEglWxAIJVsQCCVbDAgSfdrt+PYXgq7tSuQ1w0CRrpf+waQpD4SD5LUR+JBmkBiQJL6yM9AOqoYSPdr3wCS1EfiQZLekONBkt6QfwbS8cV30v3aN4BUsgGBVLIBgVSyAYE0gcSAVLJxgHTcR5Lu174BpJINCKSSDQikkg0GJOl+7RtAKtmAQCrZgEAq2YBAmkBiQCrZgEAq2YBAKtmAQCrZgEAq2WBAku7XvgGkkg0IpJINCKSSDQikCSQGpJINCKSSDQikkg0IpJINCKSSDQYk6X7tG0Aq2YBAKtmAQCrZgECaQGJAKtmAQCrZgEAq2YBAKtmAQCrZQEBurBvf8SCVbEAglWxAIJVsQCBJfeR2vn5y24/lCuR1g8DGul8bD5LUR+JBkvpIOEjW/dp4kKQ+8jOQ11/q3Fj3a+NBkvpIPEgTSAxI0htyPEglGxBIJRsHSEfWZt2vjQepZIMBybpfGw9SyQYEUskGBFLJBgTSBBIDUskGBFLJBgRSyQYEUskGBFLJBgOSdb82HqSSDQikkg0IpJINCKQJJAakkg0IpJINCKSSDQikkg0IpJINBiTrfm08SCUbEEglGxBIJRsQSBNIDEglGxBIJRsQSCUbEEglGxBIJRsMSNaN73iQSjYgkEo2IJBKNiCQJpAYkEo2IJCFfOTXt2H2vV385PVsvz67nr8/xRuaQs4QjKbSDmw0mkLuDY2mkB9DoynksNBoTGhGaAq5IDSaQje2aDSF7mDRaOSGh2g43bB9ZSgzG6CptDcZjYbTDbvQcLphFxpON2ztG802QmNCM0LD6YZdaDjdsAsNpxt2oeF0wy40pG748RJobR+gqbRrF42G1A170JC6YQ8aUjfsQWNCM0JD6oY9aEjdsAcNqRv2oCF1wx40csMjNJX2s6LRyA0P0cgND9HIDQ/RmNCM0MgND9HIDQ/RyA0P0cgND9HIDQ/Q7JV2eqLRyA0P0cgND9HIDQ/RmNCM0MgND9HIDQ/RyA0P0cgND9HIDY/QVNpMikYjNzxEIzc8RCM3PERjQjNCIzc8RCM3PEQjNzxCE3sv4fOUeKE53iX8EU1fXt+M68sykhvaq+DlhvYfeLmhPQVernHJDX32fybXvl75R7/6yetLYLfhWzz02T8XTeizfy6a0Ddhc9GEvgmbiib2vre5aAq5SzSaQk70AzSfxLXxE79hLORwZ2I0YURg5HTkcIyc7h2OkdPpwzFypgI4Rs4EgcYYewdbHoycyQSOUSkGglEpBoLRhBGBUSkGglEpBoJRKQaCUSkGglEpBoEx9r61PBiVYiAYlWIgGJViIBhNGBEYlWIgGJViIBiVYiAYlWIgGJViEBhjbxLMg9GE8eKzjiVHe+yFankw6ohBfI8q9sqtNBhjr+fKg1EXZRCMuiiDYNRFGQSjCeMVxn17YexthFG+EYJRF2UQjLoog2BUioFgVIpBYIy9Vi0PRqUYCEalGAhGpRgIRhNGBEalGAhGpRgIRtIU88FTtO18/eC2/1bzdr6DJM0xeJCkSQYOMvZSvEwgSdMMHiRpnsGDJE00eJAmkFcg97V9gbTHCCRpqsGDJM01eJBKNiCQSjYgkEo2EJBH7AWHmUAq2XwG8hiBVLIBgVSyAYE0gfzts29olFWGaJQ+hmiUJ4ZolBCGaOT5R2hiL2aci6aQL7+umD9iL1vEyy3kcT1yjUtuIXfpkVvIMXrkFnKBHrmFnJ1HbiG35pBbaYWkRy6Xq6q0QtIjl8tVVVoh6ZHL5aoqrYX0yOVyVZXWN3rkcrmqSmsWPXK5XFWldYgeuVyuqtJ6QY9cLldVaV2fRy6Xq6q0/s4jl8tVVVon55HL5aoqrWfzyOVyVZXWnXnkcrmqSuvDPHK5XFWldVweuVyuqtJ6K49cLldVaV2URy6Xq6q0fskjl8tVVVpn5JHL5aoqrQfyyOVyVZXW7XjkcrmqnctV7VyuqtKOJ49cLle1c7mqnctVVdqI5ZHL5aoqbZjyyOVyVZU2NnnkcrmqShuQPHK5XFWljUIeuVyuqtKGHo9cLldVaeONRy6Xq6q0QcYjl8tVVdrI4pHL5aoqbTjxyOVyVZX2hXjkcrkq1k0HH2wnWs9Xi+V6LiOM2twGwWjCiMCozW0QjNrcBsGo/dMQjNo/DcGo/dMAjJ11swEao/ZPQzAqxUAwKsVcYbTl9XPNbITRhBGBUSkGglEpBoJRKeYSY/vGuI0wKsVAMCrFIDCybnZAY1SKgWBUioFgVIq5xPh4wbC2jzCaMCIwKsVAMCrFQDAqxUAwKsVAMCrFIDBW2o4yE6NSDASjUgwEo1IMBKMJIwKjUgwEo1IMBKNSDASjUgwEo1IMAmOlbUQzMSrFQDAqxUAwKsVAMJowIjAqxUAwKsVAMCrFQDAqxUAwKsUgMFba/jUTo1IMBKNSDASjUgwEowkjAqNSDASjUgwEo1IMBKNSDASjUgwCY6VtezMxKsVAMFpkjHZ8YdwOu8K4vL6F35fRt/Bj74/Dyw3tw/ByQ/slvNzQvgYvN7T/+EzuB298R9Nkj71rbi6a0D5hLprQN5hz0YS+lZyLxoRmhKaQu0SjKeREb4pr4yd+w1jI4c7EWMg5z8TI6cjRGGPvNMyDkdPpwzFypgI4Rs4EAcdowojAyJlM4BiVYiAYlWIgGJViIBiVYhAYY+8QzYNRKQaCUSkGglEpBoLRhBGBUSkGglEpBoJRKQaCUSkGglEpBoHxVIqBYFSKgWBUioFgVIqBYDRhRGCU4bnC6FmoGHvZbBaMZ+z1niEwOr5HdcZe75kHo44YCEZdlEEw6qIMglEXZRCM8o2XGPfthbG3EUb5RgTG2Os982DURRkEo1IMBKNSDASjCSMCo1IMBKNSDASjUgwEo1IMBKNSDAJj7PWeeTCSppgPnqJt5+sHt/3x9pPP8x0kaY7BgyRNMniQJpAYkKRpBg+SNM/gQZImGjxI0kzzCch9bV8g7TECSZpq4CBjL/zMBFLJBgRSyQYEUskGBNIEEgNSyeYzkMcIpJINCKSSDQikks3oD+djL/Wciib2os65aJQnhmiUEIZo5PmHaExoRmgK+fLrivkz9tJJvNxCHtcjt5AT9cgt5C4dcmMvRcTLLeQCPXILOTuP3EJuzSPXuORyuapKKyQ9crlcVaUVkh65XK6q0lpIj1wuV1VpfaNHLperqrRm0SOXy1VVWofokcvlqiqtF/TI5XJVldb1eeRyuapK6+88crlcVaV1ch65XK6q0no2j1wuV1Vp3ZlHLperqrQ+zCOXy1VVWsflkcvlqiqtt/LI5XJVldZFeeRyuapK65c8crlcVaV1Rh65XK6q0nogj1wuV1Vp3Y5HLperOrlc1cnlqirtePLIZXJV++PB5Kqecplc1VMuk6t6ymVyVU+5xiWXyVU95TK5qqdcJlf1lMvkqp5yuVxVpY1CHrlcrqrShh6PXC5XVWnjjUcul6uqtEHGI5fLVVXayOKRy+WqKm048cjlclWV9oV45HK5KtZNBx9sJ1rPV4vlei4jjNrcBsGozW0QjNrchsDIuuEAjVH7pyEYtX8aglH7pyEYTRgRGLV/GoJRKQaCUSnmCqMtr59rZiOMSjEQjEoxCIysmxLQGJViLjG2b4zbCKNSDASjUgwEowkjAqNSDASjUgwEo1LMJcbHC4a10W8GK23DmIlRKQaBsdL2jpkYlWIgGJViIBiVYiAYTRgRGJViIBiVYiAYlWIgGJViIBiVYhAYK23LmYlRKQaCUSkGglEpBoLRhBGBUSkGglEpBoJRKQaCUSkGglEpBoGx0naqmRiVYiAYlWIgGJViIBhNGBEYlWIgGJViIBiVYiAYlWIgGJViEBgrbYObiVEpBoJRKQaCUSkGgtGEEYFRKQaCMbRvXB6vD/f1XcKfMS6vb+H3ZfQt/Nj74+ByY++Pw8sN7ZfwckP7Grzc0P7jM7kfvPE9TZOxd83NRRPaJ8xFE/oGcy6a0LeSc9EUcoxoNIXcJRZNi71z7zY0n8S18RO/YSzkcGdiLOScZ2LkdORwjCaMCIycTh+OkTMVwDFyJgg4Rs60AcfImUzQGGPvuMyDUSkGglEpBoJRKQaC0YQRgVEpBoJRKQaCUSkGglEpBoJRKQaBMfZO2TwYlWIgGJViIBiVYiAYTRgRGJViIBiVYiAYlWIgGJViEBhjL5sNgdGxULHFXjabB6OOGMD3qFrs9Z55MOqIgWDURRkCY+z1nnkw6qIMglG+8RLjvr0w9jbCKN8IwWjCiMCoizIIRqUYCEalGAhGpRgIRqUYBMbY6z3zYFSKgWBUioFgVIqBYDRhRGAkTTEfPMX59dlz3b4/u63vGElTDBojaYpBYyRNMWiMpCkGjDH2es88GElTDBojaYr5BONj/cK4/4bxD59dX89w7uf3Z+34w2eP7eVdj9O+Prs83qdDGo6STMc0ncDTUZSLPB0lxMjTUfCMPB3l2cjTUUwOPJ3Ya2npp6NQH3k6uiuIPB3dFVxOZ/sm3gcXYrF38+bBqPQNwaiYDMGoPAvBqOAJwaiEiMAYezfvBIxvaJSjhmgUYoZolCCGaExoRmjk9Ido5N6HaAo5csfWsErbiT1yCzlch9xK24k9cgu5S4/cQo7RI7eQC/TINS65hdyaR24hB+aRy+WqKm3w9cilclVLpU27HrlUrmqptLnWI5fKVS0P45JL5aqWSptVPXKpXNVSaVOpRy6Xq6q0+dMjl8tVVdqk6ZHL5aoqbab0yOVyVZU2PXrkcrmqSpsTPXK5XFWlTYQeuVyuqtJmP49cLldVaVOeRy6Xq6q0ec4jl8tVVdrk5pHL5apWLle1crmqSusDPXK5XNVqXHK5XFWlZYseuVyuqtLyQo9cLldVaRmgRy6Xq6q0XM8jl8tVVVpW55HL5aoqLX/zyOVyVZWWqXnkcrmqSsvJPHK5XFWlZV8euVyuqtLyLI9cLldVaRmVRy6Xq6q03Mkjl8tVVVqW5JHL5aoqLR/yyOVyVZXW43jkcrkq1iUUHyycXc/267PruYwwajU8AiPrWgc0Rq2Gh2DUangIRq2Gh2A0YURgJO05RWMk7URFYyTdaIDGqBQDwagUc4XRltfPNbMBRtaNBmiMSjEQjEoxEIxKMZcY2zfGbYTRhBGBUSkGglEpBoJRKQaCUSkGglEp5hLj4wXD2ug3g5W2YczEqBQDwagUA8GoFAPBaMKIwKgUA8GoFAPBqBQDwagUA8GoFAPAuFbaPjMTo1IMBKNSDASjUgwEowkjAqNSDASjUgwEo1IMBKNSDASjUgwCY6VtTzMxKsVAMCrFQDAqxUAwmjAiMCrFQDAqxUAwKsVAMCrFQDAqxSAwVtquNhOjUgwEo1IMBKNSDASjCSMCo1IMBKNSDASjUgwCY+z9ca0tLzLtWC8wOr6Fv8beH4eXG9qH4eWG9kt4ucYlN7T/wMsN7RPwckOf53i5oW8P8XJD3/LB5cbeH4eXW8dVOepK1tj74/By67gql1zjklvHVTkKDNbY++Pwcuu4KpfcOq7KJbeOq/LIjb0/Di+3kKty3ETG3h+Hl1vIVXnkGpfcQq7KI7eQq/LILeSqPHILuSqP3EKuyiE39v44vFwuVxV7fxxeLperir0/Di+Xy1XtXK5q53JVsbcD4uVyuarY2/bwcrlcVeztdXi5XK4q9jY4vFwuVxV7uxpeLperir2tDC+Xy1XF3v6Fl8vlqmJv08LL5XJVsbdT4eVyuarY257wcrlcVeztSXi5XK4q9v6XR3u85D6O5UKu56/VY+9pwcsNfe7i5YY+d/FyQ5+7eLmhz1283NDnLl5u6HMXLddi78/Ayw19m4GXS+WqLPbeiI/kOr42ZQ/jklvHVbnk1nFVLrl1XJXjizUWe/8AXm4dV+WRG7vPHy+3jqtyya3jqlxyC7mq65tIi903j5dbyFV55BZyVR65hVyVR24hV+WRW8hVOeTG7hfHyy3kqjxyC7kqj1wuVxW7/xovl8tVxe6TxsvlclULl6tauFxV7PZtvFwuVxW7fRsvl8tVxW7fxsvlclWx27fxcrlcVez2bbxcLlcVu30bL5fLVcVu38bL5XJVsdu38XK5XFXs9m28XC5XFbt9Gy+Xy1XFbt/Gy+VyVaH7mY9+vOQe535eyO3L66/V+7KM5EY+d2+QG/ncvUFu5HP3BrmRz90b5EY+dz+U+8Hm176+BHYbvcVDdzlPRhP5PJ+MJvKNymQ0kW9fJqMxoRmhKeQu0WgKOdGb1raPn/gNYyGHOxNjIec8EyOnI0djDN0Znggjp9OHY+RMBXCMnAkCjtGEEYGRM5nAMSrFQDAqxUAwKsVAMCrFIDCG7uhPhFEpBoJRKQaCUSkGgtGEEYFRKQaCUSkGglEpBoJRKQaCUSkGgfFUioFgVIqBYFSKgWBUioFgNGFEYFSKgWBUioFgVIqBYFSKAWDcQi9PiYHRsZRlC72UJRFGHTFXGB3fMd1CrxlJhFFHDASjLsoQGEOvW0mEURdlEIzyjZcY9+2FsbcRRvlGCEYTRgRGXZRBMCrFQDAqxUAwKsVAMCrFIDCGXm+UCKNSDASjUgwEo1IMBKMJIwIjaYr54Cla668Pt//xb/56iv0dJGmOwYMkTTJ4kKRZBg+SNM3AQYZeLJYKJGmiwYMkzTSfgFzay3K2ZTlGIElTDR6kCSQGpJINCKSSDQikkg0IpJINCKSSzUcg//rEH0GGXu6XCqSSDQikks01yO38Arn3EUglGxBIE0gMSCUbEEglGxBIJRsQSCUbEEglm9H3BkOvzJyMRuljiEZ5YohGCWGIxoRmhEYufoimkC+/3j62VVoM65FbyON65BZyog65lZa9euQWcoweuYVcoEduIWfnkWtccgs5MI9cLldVaRmpRy6Xq6q03NMht9ISTo9cLldVaamlRy6Xq6q0JNIjl8tVVVq66JHL5aoqLTH0yOVyVZWWAnrkcrmqSkv2PHK5XFWlpXUeuVyuqtISOI9cLldVaamaRy6Xq6q0pMwjl8tVVVr65ZHL5aoqLdHyyOVyVZWWUnnkcrmqSkuePHKpXNX+oHJV+4PKVe2VNot55FK5qv1hXHKpXNVeaQ+bRy6Vq9or7TXzyOVyVZX2hHnkcrmqSnu3PHK5XFWlPVYeuVyuqtJeKI9cLldVac+SRy6Xq6q0t8gjl8tVVdoD5JHL5aoq7dXxyOVyVZW21HjkcrmqShtfPHK5XFWl7SkeuVyuqtImEo9cLldVaauHRy6Xq6q0IcMjl8tVVdo24ZHL5aoqbW7wyOVyVZW2IHjkcrmqShsFPHK5XFWldn6PXC5XVanp3iOXy1VV6pj3yOVyVZW64D1yuVxVpc52j1wuV8XVrb5zdavvXN3qO1e3+s7Vrb5zdavvXN3qO1e3+s7Vrb5zdavvXN3qO1e3+l6pffuTVU1r/3qKdvHZ9Wy/Prueywgj6XY9NEbSTXxojKRb+9AYTRgRGEm3AaIxkm70RmMk3eeNxki6zRuNkXSXNxhjpbb7mRiVYq4w2vL6uWY2wqgUA8GoFAPBaMKIwKgUc4mxfWPcRhiVYiAYlWIgGJViIBiVYhAYK22XmIlRKeYS4+MFw9roN4OVtmHMxKgUA8FowojAqBQDwagUA8GoFAPBqBQDwagUA8B4VNrmMhOjUgwEo1IMBKNSDASjCSMCo1IMBKNSDASjUgwEo1IMBKNSDAJjpe1JMzEqxUAwKsVAMCrFQDCaMCIwKsVAMCrFQDAqxUAwKsVAMCrFIDBW2lY2E6NSDASjUgwEo1IMBKMJIwKjUgwEo1IMBKNSDASjUgwEo1IMAmPs/XGHLS+M3R5XGJfXt/D7sozkhvZ3eLnGJTe0X8LLDe1r8HJD+4/P5H7wxnc0TR6xd83NRRPaJ0xFE3uH3Vw0oW8l56Ip5BjRaAq5SzQao0TzSVwbP/EbxkIOdybGQs55JkZORw7HyOne4Rg5nT4aY+wdjHkwciYIOEbOtAHHyJlM4BhNGBEYlWIgGJViIBiVYiAYlWIgGJViEBhj7zzNg1EpBoJRKQaCUSkGgtGEEYFRKQaCUSkGglEpBoJRKQaCUSkGgTH2Buk8GJViIBiVYiAYZXiuMDoWKh6xl82mwRh7vWcIjJ7vUcVe75kHo44YCEZdlEEwmjAiMOqiDIJRvvES4769MPY2wijfCMGoizIIRl2UITDGXu+ZB6NSDASjUgwEo1IMBKMJIwKjUgwEo1IMBKNSDASjUgwEI2mK+eApWnu8mLfWjreneHyD7LEXfGYCSZpk8CBJswweJGmawYM0gcSAJE00eJCkmeYjkPb4AmnnCCRpqsGDJM01eJBKNhiQsZd+ZgKpZAMCqWQDAqlk8xHIbR+BNIHEgFSyAYFUshn84XyPvdRzLhqljyEa5YkRmtgLNeeikecfopGLH6Ip5MuvK+Z77KWTeLmFPK5HbiEn6pFbyF165BZyjB65hVygQ+5ayNl55BZyax65hRyYRy6Xq6q0QtIjl8tVVVoh6ZHL5aoqrYX0yOVyVZXWN3rkcrmqSmsWPXK5XFWldYgeuVyuqtJ6QY9cLldVaV2fRy6Xq6q0/s4jl8tVVVon55HL5aoqrWfzyOVyVZXWnXnkcrmqSuvDPHK5XFWldVweuVyuqtJ6K49cLldVaV2URy6Xq6q0fskjl8tVVVpn5JHL5aoqrQfyyOVyVZXW7Xjkcrmqw7jkcrmqSjuePHK5XNXB5aoOLldVaSOWRy6Xq6q0Ycojl8tVVdrY5JHL5aoqbUDyyOVyVZU2CnnkcrmqSht6PHK5XFWljTceuVyuqtIGGY9cLldVaSOLRy6Xq6q04cQjl8pVnZX2hXjkUrmq81Ho3L1pO9F6tl+fXc9lhFGb2yAYtbkNglGb2yAYtbkNglH7pxEYWbcboDFq/zQEo/ZPQzBq/zQEowkjAqNSzBVGW14/18xGGJViIBiVYiAYlWIgGJViLjG2b4zbACPrBgY0RqUYCEalGAhGpRgIRhNGBEalmEuMjxcMa6PfDFbahjETo1IMBKNSDASjUgwCY6VtIzMxKsVAMCrFQDAqxUAwmjAiMCrFQDAqxUAwKsVAMCrFQDAqxSAwVtruMxOjUgwEo1IMBKNSDASjCSMCo1IMBKNSDASjUgwEo1IMBKNSDAJjpW1aMzEqxUAwKsVAMCrFQDCaMCIwKsVAMCrFQDAqxUAwKsVAMCrFIDBW2l43E6NSDASjUgwEo1IMBGNo37htr598HK1dYVxe38Lvy+hb+LH3x+HlhvZheLmh/RJcbuz9cXi5of3HZ3I/eON7miZj75qbiya0T5iLxoRmhCb0reRcNIUcIxpNIXeJRlPIid4U18ZP/IaxkMOdiDH2jsA8GDkdORwjp3uHY+R0+nCMJowIjJwJAo6RM23AMXImEzhGpRgIRqUYBMbYOznzYFSKgWBUioFgVIqBYDRhRGBUioFgVIqBYFSKgWBUioFgVIr55xiPR+wduHkwKsVAMCrFQDAqxUAwmjAiMCrFQDAqxUAwKsVAMCrFQDAqxSAwxt4gnQejCePFZ6+XzT4xyvBAMOqIucJ4/R3TJ0YdMQiMsdd75sGoizIIRl2UQTDqogyC0YTxCuO+vTD2NsIo3wjBqIsyCEZdlEEwKsVAMCrFIDDGXu+ZB6NSDASjUgwEo1IMBKMJIwKjUgwEo1IMBCNpivngKdr2pa/tj7dPn7+BJM0xeJCkSQYOMvaSz0wgSdMMHiRpnsGDJE00eJAmkFcg94d9gWzrCCRpqsGDJM01eJBKNiCQSjYgkEo2GJCxF39mAqlkcw1y+wa5D0Eq2YBAKtmAQJpAYkAq2YBAKtmAQCrZgEAq2Yy+XBR7uedUNLEXds5FozwxRKOEMEQjzz9EY0IzQlPIl1+uKHrKLeSePXILeVyP3EJO1CO3kLt0yK20CtUjt5AL9Mgt5Ow8cgu5NY9c45LL5aoqrQv1yOVyVZXWenrkcrmqSmsyPXK5XFWltZMeuVyuqtIaR49cLldVaS2iRy6Xq6q0ZtAjl8tVVVrb55HL5aoqrcHzyOVyVZXWynnkcrmqSmvaPHK5XFWltWceuVSuqlVaI+aRS+WqWqW1XB65VK6qPYxLLpWrapXWRnnkUrmqVmkNk0cul6uqtNbII5fLVTUuV9W4XFWlXVoeuVyuqnG5qsblqiptHvPI5XJVlTZ5eeRyuapKm7E8crlcVaVNUx65XK6q0uYmj1wuV1VpE5JHLperqrRZyCOXy1VV2tTjkcvlqiptvvHI5XJVlTbJeORyuapKe1k8crlcVaUdJx65XK6q0r4Qj1wuV1Vp94ZHLperqrTHwiOXy1VV2gnhkcvlqirtV/DI5XJVlXYVeORyuapKvf8euVyuqlKHvkcul6uq1Efvkcvlqir1xnvkcrmqSv3uHrlcrqpSD7tHLper4upWb1zd6o2rW71xdas3rm71xtWt3ri61RtXt3rj6lZvXN3qjatbvVVq3/5kVdPav56iXXx2Pduvz67nMsBYqdV7JkbSTXxojKRb+9AYSTf8oTGaMCIwkm70RmMk3eeNxki6zRuNkXSXNxqjUgwCY6UW/Zsw2vL6uWY2wqgUA8GoFAPBqBQDwWjCeIWxfWPcRhiVYiAYlWIgGJViIBiVYiAYlWIAGJdKWyvuwvh4wbC2jzAqxUAwKsVAMCrFQDCaMCIwKsVAMCrFQDAqxUAwKsVAMCrFIDBW2hIzE6NSDASjUgwEo1IMBKMJIwKjUgwEo1IMBKNSDASjUgwEo1IMAmOlrUwzMSrFQDAqxUAwKsVAMJowIjAqxUAwKsVAMCrFQDAqxUAwKsUgMFbagjYTo1IMBKNSDASjUgwEowkjAqNSDASjUgwEo1IMBKNSDAJj7P1x67m8MG4Pu8K4vL6F35dlJDe0v8PLDe3D8HKNS25oX4OXG9p/fCb3gze+o2lyib1rbi6a0D5hLprQN5hT0cTedzcXTSHHiEZTyF2i0RRyojfFtfETv2E0YURgLOScZ2LkdORwjJzuHY6R0+nDMXKmAjTG2Lsd82DkTBtwjJzJBI5RKQaC0YQRgVEpBoJRKQaCUSkGglEpBoJRKQaBMfYu1TwYlWIgGJViIBiVYiAYTRgRGJViIBiVYiAYlWIgGJViIBiVYhAYY2+QzoNRKQaCUYbnCqNjoeISe9lsHow6YhDfo4q93jMPRh0xEIy6KINg1EUZBKMJIwKjfOMlxn17YexthFG+EYJRF2UQjLoog2BUigFgXGOv98yDUSkGglEpBoJRKQaC0YQRgVEpBoJRKQaCUSkGgpE0xXzwFK0tjxeNtpzfn977O0jSHAMHGXvFZyaQpFkGD5I0zeBBkuYZPEgTSAxI0kzzEcht+QL57jl/B0maavAgSXMNHqSSDQikkg0GZOy1n5lAKtmAQCrZfAayj0Aq2YBAmkBiQCrZDP5wfo291HMuGqWPIRrliSEaJYQRmthLMueikYsfoinky68r5tfYSyfxco1LbiEn6pFbyF165BZyjB65hVygR24hZ+eQa4XcmkduIQfmkcvlqiqtkPTINS65XK6q0gpJj1wuV1Vp1aNHLperqrSS0SOXy1VVWp3okcvlqiqtLfTI5XJVldYAeuRyuapKa/U8crlcVaU1dR65XK6q0to3j1wuV1VpjZpHLperqrSWzCOXy1VVWvPlkcvlqiqtzfLI5XJVldZQeeRyuapKa508crlcVaU1SR65XK6q0tohj1wuV1VpjY9HLper6lyuqnO5qm5ccrlcVaVdTB65XK6qc7mqShuxHHIrba7yyOVyVZU2QXnkcrmqSpuVPHK5XFWlTUUeuVyuqtLmH49cKldllTbpeORSuSqrtJnGI5fKVdnDuORSuSqrtDnFI5fKVVmlTSQeuVyuqtJWD49cbW672k70vM/79dnn44wwFjrPZ2LU5jYIRm1ug2DU5jYIRu2fhmDU/mkERtbdBmiM2j8Nwaj90xCMSjEQjCaMF5+15fVzzWyEUSkGglEpBoJRKQaCUSnmEmP7xriNMCrFIDCybmtAY1SKgWBUioFgVIqBYDRhvML4eMF4/q5ghFEpBoJRKQaCUSkGglEpBoJRKQaBsdIWk5kYlWIgGJViIBiVYiAYTRgRGJViIBiVYiAYlWIgGJViIBiVYhAYK20NmolRKQaCUSkGglEpBoLRhBGBUSkGglEpBoJRKQaCUSkGglEpBoGx0paumRiVYiAYlWIgGJViIBhNGBEYlWIgGJViIBiVYiAYlWIgGJViEBgrbcWbiVEpBoJRKQaCMbRvXOz1k491W68wLq9v4fdl9C382Pvj8HJD+zC83NB+CS83tK+By429P+4zuR+88T1Nk7F3zc1FE9onzEUT+gZzLhoTmhGaQo4RjaaQu0SjKeREb4pr4yd+w1jI4c7EWMg5T8QYe/dgHoyc7h2OkdPpwzFypgI4RhNGBEbOtAHHyJlM4BiVYiAYlWIgGJViABi32Ls+82BUioFgVIqBYFSKgWA0YURgVIqBYFSKgWBUioFgVIqBYFSKQWCMvVs3D0alGAhGpRgIRqUYCEYTRgRGpRgIRhmeK4yOhYpb7GWzeTDqiAF8j2qLvd4zD0YdMRCMuiiDYNRFGQSjLsogGOUbLzHu2wtjbwOMsdd75sGoizIIRl2UQTAqxUAwmjAiMCrFQDAqxUAwKsVAMCrFQDAqxSAwxl7vmQejUgwEI2mK+eAp2na+fnDbH28/+TzfQZLmGDxIE0gMSNIsgwdJmmbwIEnzDB4kaaLBgyTNNJ+A3Nf2BdIeA5Cx131mAkmaa/AglWxAIJVsQCBNIDEglWxAIJVsPgN5jEAq2YBAKtmAQCrZjP5wPvZSz7lolD6GaJQnhmiUEIZoTGhGaOTih2gK+fLrivkt9tJJvNxCHtcjt5ATdciNvWwRL7eQY/TILeQCPXILOTuPXOOSW8iBeeRyuapKKyQ9crlcVaUVkg65lVZIeuRyuapKqx49crlcVaWVjB65XK6q0upEj1wuV1VpbaFHLperqrQG0COXy1VVWqvnkcvlqiqtqfPI5XJVlda+eeRyuapKa9Q8cqlc1V5pLZlHLpWr2iut+fLIpXJV+8O45FK5qr3SGiqPXCpXtVda6+SRy+WqKq1J8sjlclWV1g555HK5qkprfDxyuVxV43JVjctVNS5XVWnHk0NupV1MHrlcrmrhclWVNmJ55BqXXC5XVWkTlEcul6uqtFnJI5fLVVXaVOSRy+WqKm3+8cjlclWVNul45HK5qkqbaTxyuVxVpU0vHrlcrqrS5hSPXC5XVWkTiUcul6uqtNXDI1eb2662E63nq8VyPZcRRm1ug2DU5jYERtYdB2iM2twGwaj90xCM2j8NwWjCiMCo/dMQjNo/DcGoFAPBqBRzhdGW1881sxFGpRgERtbtB2iMSjEQjEoxlxjbN8ZthFEpBoLRhBGBUSkGglEpBoJRKQaCUSnmEuPjBcPa6DeDlbZhTMRYacvGTIxKMRCMSjEQjEoxEIwmjAiMSjEQjEoxEIxKMRCMSjEQjEoxCIyVttrMxKgUA8GoFAPBqBQDwWjCiMCoFAPBqBQDwagUA8GoFAPBqBSDwFhpi9RMjEoxEIxKMRCMSjEQjCaMCIxKMRCMSjEQjEoxEIxKMRCMSjEAjEelrW0zMSrFQDAqxUAwKsVAMJowIjAqxUAwKsVAMIb2jW17PcexPOwCI/gb+0fsXXNz0YT2d3PRhPZsc9GE9mFz0ZjQjNCE9ktz0YT2QHPRhL6dnYsm9I3rXDRywyM0sXcE3obGUV9zxN4nOBcNpxt2oeF0wy40xonmuoDjiL3/cC4aTjfsQsPphl1oON2wCw2nG/agib3b8T40jt8oxN4DORcNqRv2oCF1wx40JjQjNKRu2IOG1A170JC6YQ8aUjfsQUPqhh1oYu/knItGbniIRm54iEZueIjGhGaERm54iEZueIhGbniIRm54iEZueIQm9obYuWjkhodo5IaHaOSGh2hMaEZo5IaHaOSGh2jkhodo5IaHaOSGR2hibxqdi0ZueIhGbniIRm54iMaEZoRGbniIRm54iEZueIhGbniEJvQ+wf1cl9eHz2MHovF8iy70jsDJaCL7msloTGhGaCL7msloIvuayWgi+5rJaCL7msloIt/yzUUTeofdZDRyw0M0nG7Y8xX40PvjJqMxoRmh4XTDLjScbtjzZebQ+9gmo+F0wy40nG7Ygyb0LrTJaDjdsAsNqRt2/EYh9B6yyWhMaEZoSN2wBw2pG/agIXXDHjSkbtiDhtQNX6PpoXdqTUZD6oY9aOSGh2jkhodoTGhGaOSGh2jkhodo5IaHaOSGh2jkhkdoQm8Vm4xGbniIRm54iEZueIjGhGaERm54iEZueIhGbniIRm54iEZueIQm9FaxyWjkhodo5IaHaOSGh2hMaEZo5IaHaOSGh2jkhodo5IaHaOSGR2hCbxWbjObHfQ32u27957c4oQVs2QXs2QUc2QX07ALO5AJ+flMPWkDLLmDJLiD7SfzzG2SwX2XtFvkkdgmIfBK7BEQ+iV0CIp/Eji/LdYt8EnsEbJFPYpeAyCexS0Dkk9glIPJJ7BIQ+iR23EpsoU9ij4DQJ7FHQOiT2CMg9EnsERD6JHYI2EOfxB4BoU9ij4DQJ7FHQOiT2CMg+0m8Zz+J9+wn8Z79JN6zn8R79pP4yH4SH9lP4iP7SXxkP4l/vusdLSD7SXxkP4mP7Cfxkf0kPrKfxD37Sdyzn8Q9+0ncs5/EP98zjRaQ/STu2U/inv0k7tlP4p79JD6zn8Rn9pP4zH4SQ3pQv36du7TdgAI8f7EFaSudKuDILqBnF3DmFnBCWjSnCmjZBSzZBazZBVh2AclP4vMR+SR2/OHr+Yh8ErsERD6JXQIin8QeAS3ySez4s8uzRT6JXQIin8QuAZFPYpeAyCexS0Dkk9glIPRJfH0rcbbQJ7FHQOiT2CMg9EnsELCEPok9AkKfxB4BoU9ij4DQJ7FHQOiT2CMg9EnsEZD9JF6yn8RL9pN4yX4Sr9lP4jX7SbxmP4nX7CcxpOFpqoDsJ/Ga/SRes5/Ea/aTeM1+Elv2k9iyn8SW/SS27CcxpOFpqoDsJ7FlP4kt+0ls2U9iy34Sb9lP4i37SbxlP4m37CcxpOFpqgDAOfCw7SXgcT6AAjx/sYXoF5or4EwuANEvNFdAyy5gyS5gzS7AsgvYsgvYswvIfhLvkU9izx++7pFPYo+AI/JJ7BIQ+SR2CYh8Env+7PKIfBK7BEQ+iV0CIp/ELgGRT2KXgMgnsUtA6JPYcStxhD6JHQJ66JPYIyD0SewREPok9ggIfRJ7BIQ+iT0CQp/EHgGhT2KPgNAnsUdA9pO4Zz+Jz+wn8Zn9JD6zn8Rn9pP4zH4Sn9lP4jP7SXxmP4nP7Cfxmfsk7o9H7pP4KSD3SfwUkPskfgrIfRI/BeQ+iZ8Ccp/ETwG5T+KngNwn8VNA7pP4KSD7Sdyyn8Qt+0ncsp/ELftJjGh4misg+0nckp7Ez//f//uf/6//8p//l//9f/u/n//EX//H/+e//q//7b/8H//11//3v/1//+f//L88P/v/Aw==" }, { "name": "compute_note_hash_and_nullifier", "is_unconstrained": true, "custom_attributes": [], "abi": { "parameters": [{ "name": "contract_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] }, "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": "serialized_note", "type": { "kind": "array", "length": 0, "type": { "kind": "field" } }, "visibility": "private" }], "param_witnesses": { "contract_address": [{ "start": 0, "end": 1 }], "nonce": [{ "start": 1, "end": 2 }], "note_type_id": [{ "start": 3, "end": 4 }], "serialized_note": [], "storage_slot": [{ "start": 2, "end": 3 }] }, "return_type": { "abi_type": { "kind": "array", "length": 4, "type": { "kind": "field" } }, "visibility": "public" }, "return_witnesses": [4, 5, 6, 7], "error_types": {} }, "bytecode": "H4sIAAAAAAAA/+2byW7bMBCGJa9yVC+SZXlf4uTSm+w6tnPzy7Rv3XuBvkPRjMKpx8QkoNARIQImYGhMUfy/+blECRjfey/tt4+v4qZ2pQXbXNQ1+7+yE+wrK5PTd4Sz5ghnXZDTZzjh2lAxXGEut7zbef6vXAQnCRWlUDAwdVL3EdzNQ1BaKgg04IsE9CE7twgNhYYSKnB6MySJ+KQOn62ROtxB6o1rDi35HA4BMU+s37cBDb2r7y3iCcZ4D7RnpK5RUo5N+RzL8i5flehPU/XbJt/Rq46KBXfYHdX21adDND01RhhPSVtsh37UyBhD6XrX8e988lxDe65H2rSY/C+ebP5tjaetMTcVE5QIeLU9oKSxyaDfB/l+b8a8oY3JA8mpK+73/gx7QujdFv2nzIXEXcLzRZwn25WT5/vY9Qi7TL8vB/Cqr3kVal71SBvK0C/BP5/oYt/4vc9oy3lxPIP2wMCLAcMzsOzFgNEW9OIVtCMDLyKGJ7LsRcRoy3lx+gbasYEXMcMTW/YiZrTlvNjn7xZDAy+GDM/QshdDRltwjeTzIjHwImF4EsteJIy2oBc/QHtk4MWI4RlZ9mLEaAt68R20UwMvUoYntexFymgL7p35+8XYwIsxwzO27MWY0Rb0Yg/aEwMvJgzPxLIXE0ZbcI3k2lMDL6YMz9SyF/R31CLMQweZUweZ4wowB1oso33M98+ZgRczhmdm2QvUK8qcVIA50GIZ7eMLaM8NvJgzPHPLXqBeUebIQebYQeaRg8yJg8ypg8xVmM+BFston/I9dGHgxYLhWVj2AvWKMkcOMs8cZI4rwBxosYz2Kf/b3NLAiyXDs7TsBeoVZR47yDyoAHOgxTLapyNorwy8WDE8K8teoF5R5omDzKmDzDMHmWMHmUcOMicOMt/XoB3mqALM9EzT71J59q+hxoOeeRqjpzGGJKbnYNbijFlGx2dNtDbyWjtuvuD3Tana+zP0u5XPKX+Xf1J94Rm+LZPTs4qlz3M9kX59ooP1DRL/Im2xHfqB6xbZYd49qvj5k+dW2nM90uaRyf/iyea/1Xi2GjOMyU/CsRHn2J9N5vXAu67lr4SnhH3wQM/kYjHZd0raY3Yl5ZnRM3x/PNk1vdG8CjSveqQN3aM3JfhnMr/uzHfmj5jp+0RA6vD+mtTVtFzo/zJgezgz/BdsuDj5FjUAAA==", "debug_symbols": "ndpBattQGIXRvWgciu8v6ekpWymlOIlTDMYOsVMoJnuv3dIF9Mz0JN3ZNzq86/Cye/r48X1/fD2dh8ev1+Fwet5e9qfj7XQdNl+q/Xl7ftse7y/Ol+37ZXgcKw/D7vhyf2qfD8Pr/rC7P4+f3x7uo0VGXUYrjMaNjCKjktEoo0lGs4ykiFGKGKWIUYqYpIhJipikiEmKmKSISYqYpIhJipikiEmKmKWIWYqYpYhZipiliFmKmKWIWYqYpYhZimhSRJMimhTRpIgmRTQpokkRTYpoUkSTIhYpYpEiFilikSIWKWKRIhYpYpEiFilikSK6FNGliC5FdCmiSxFdiuhSRJciuhTRpYhVililiFWKWKWIVYpYpYhVililiFWKWKWIbDa0Cq2KViOtJlrNtGq0WmjVaUVthNoItRFqI9RGqI1QG6E2Qm2E2gi1UdRGURtFbRS1UdRGURvEmSHPDIFmSDRDpBkyzRBqhlQzxJoh1wzBZkg2Q7QZss0QboZ0M8SbId8MAWdIOEPEGTLOEHKGlDPEnCHnDEFnSDpD1BmyzhB2hrQzxJ0h7wyBZ0g8Q+QZMs8QeobUM8SeIfcMwWdIPkP0GbLPEH6G9DPEnyH/DAFoSEBDBBoy0BCChhQ0xKAhBw1BaEhCQxQastAQhoY0NMShIQ8NgWhIREMkGjLREIqGVDTEoiEXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctctEiFy1y0SIXLXLRIhctu+Zp9zztoie5aJGLFrlokYsWuWj9t4veTj+37/vt02F3v9l7//hxfP530fd2vPx6+/vl9u9v" }], "outputs": { "structs": { "functions": [{ "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_abi", "fields": [{ "name": "parameters", "type": { "kind": "struct", "path": "MultiCallEntrypoint::entrypoint_parameters", "fields": [{ "name": "app_payload", "type": { "kind": "struct", "path": "authwit::entrypoint::app::AppPayload", "fields": [{ "name": "function_calls", "type": { "kind": "array", "length": 4, "type": { "kind": "struct", "path": "authwit::entrypoint::function_call::FunctionCall", "fields": [{ "name": "args_hash", "type": { "kind": "field" } }, { "name": "function_selector", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::abis::function_selector::FunctionSelector", "fields": [{ "name": "inner", "type": { "kind": "integer", "sign": "unsigned", "width": 32 } }] } }, { "name": "target_address", "type": { "kind": "struct", "path": "authwit::aztec::protocol_types::address::aztec_address::AztecAddress", "fields": [{ "name": "inner", "type": { "kind": "field" } }] } }, { "name": "is_public", "type": { "kind": "boolean" } }] } } }, { "name": "nonce", "type": { "kind": "field" } }] } }] } }] }] }, "globals": {} }, "file_map": { "3": { "source": "use crate::cmp::Eq;\n\nstruct BoundedVec<T, MaxLen> {\n storage: [T; MaxLen],\n len: u64,\n}\n\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\n pub fn new() -> Self {\n let zeroed = crate::unsafe::zeroed();\n BoundedVec { storage: [zeroed; MaxLen], len: 0 }\n }\n\n pub fn get(mut self: Self, index: u64) -> T {\n assert(index < self.len);\n self.storage[index]\n }\n\n pub fn get_unchecked(mut self: Self, index: u64) -> T {\n self.storage[index]\n }\n\n pub fn push(&mut self, elem: T) {\n assert(self.len < MaxLen, \"push out of bounds\");\n\n self.storage[self.len] = elem;\n self.len += 1;\n }\n\n pub fn len(self) -> u64 {\n self.len\n }\n\n pub fn max_len(_self: BoundedVec<T, MaxLen>) -> u64 {\n MaxLen\n }\n\n // This is a intermediate method, while we don't have an\n // .extend method\n pub fn storage(self) -> [T; MaxLen] {\n self.storage\n }\n\n pub fn extend_from_array<Len>(&mut self, array: [T; Len]) {\n let new_len = self.len + array.len();\n assert(new_len <= MaxLen, \"extend_from_array out of bounds\");\n for i in 0..array.len() {\n self.storage[self.len + i] = array[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_slice(&mut self, slice: [T]) {\n let new_len = self.len + slice.len();\n assert(new_len <= MaxLen, \"extend_from_slice out of bounds\");\n for i in 0..slice.len() {\n self.storage[self.len + i] = slice[i];\n }\n self.len = new_len;\n }\n\n pub fn extend_from_bounded_vec<Len>(&mut self, vec: BoundedVec<T, Len>) {\n let append_len = vec.len();\n let new_len = self.len + append_len;\n assert(new_len <= MaxLen, \"extend_from_bounded_vec out of bounds\");\n\n let mut exceeded_len = false;\n for i in 0..Len {\n exceeded_len |= i == append_len;\n if !exceeded_len {\n self.storage[self.len + i] = vec.get_unchecked(i);\n }\n }\n self.len = new_len;\n }\n\n pub fn pop(&mut self) -> T {\n assert(self.len > 0);\n self.len -= 1;\n\n let elem = self.storage[self.len];\n self.storage[self.len] = crate::unsafe::zeroed();\n elem\n }\n\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n let mut exceeded_len = false;\n for i in 0..MaxLen {\n exceeded_len |= i == self.len;\n if !exceeded_len {\n ret |= predicate(self.storage[i]);\n }\n }\n ret\n }\n}\n\nimpl<T, MaxLen> Eq for BoundedVec<T, MaxLen> where T: Eq {\n fn eq(self, other: BoundedVec<T, MaxLen>) -> bool {\n // TODO: https://github.com/noir-lang/noir/issues/4837\n //\n // We make the assumption that the user has used the proper interface for working with `BoundedVec`s\n // rather than directly manipulating the internal fields as this can result in an inconsistent internal state.\n \n (self.len == other.len) & (self.storage == other.storage)\n }\n}\n\nmod bounded_vec_tests {\n // TODO: Allow imports from \"super\"\n use crate::collections::bounded_vec::BoundedVec;\n\n #[test]\n fn empty_equality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n\n assert_eq(bounded_vec1, bounded_vec2);\n }\n\n #[test]\n fn inequality() {\n let mut bounded_vec1: BoundedVec<Field, 3> = BoundedVec::new();\n let mut bounded_vec2: BoundedVec<Field, 3> = BoundedVec::new();\n bounded_vec1.push(1);\n bounded_vec2.push(2);\n\n assert(bounded_vec1 != bounded_vec2);\n }\n}\n", "path": "std/collections/bounded_vec.nr" }, "20": { "source": "mod bn254;\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n pub fn to_le_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_le_bits(bit_size)\n }\n\n pub fn to_be_bits(self: Self, bit_size: u32) -> [u1] {\n crate::assert_constant(bit_size);\n self.__to_be_bits(bit_size)\n }\n\n #[builtin(to_le_bits)]\n fn __to_le_bits(self, _bit_size: u32) -> [u1] {}\n\n #[builtin(to_be_bits)]\n fn __to_be_bits(self, bit_size: u32) -> [u1] {}\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n pub fn assert_max_bit_size(self: Self, bit_size: u32) {\n crate::assert_constant(bit_size);\n assert(bit_size < modulus_num_bits() as u32);\n self.__assert_max_bit_size(bit_size);\n }\n\n pub fn to_le_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_le_radix(256, byte_size)\n }\n\n pub fn to_be_bytes(self: Self, byte_size: u32) -> [u8] {\n self.to_be_radix(256, byte_size)\n }\n\n pub fn to_le_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_le_radix(radix, result_len)\n }\n\n pub fn to_be_radix(self: Self, radix: u32, result_len: u32) -> [u8] {\n crate::assert_constant(radix);\n crate::assert_constant(result_len);\n self.__to_be_radix(radix, result_len)\n }\n\n // decompose `_self` into a `_result_len` vector over the `_radix` basis\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix(self, radix: u32, result_len: u32) -> [u8] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b = exponent.to_le_bits(32);\n\n for i in 1..33 {\n r *= r;\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n}\n\n#[builtin(modulus_num_bits)]\npub fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub fn modulus_le_bytes() -> [u8] {}\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let num_bytes = (modulus_num_bits() as u32 + 7) / 8;\n let x_bytes = x.to_le_bytes(num_bytes);\n let y_bytes = y.to_le_bytes(num_bytes);\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..num_bytes {\n if (!done) {\n let x_byte = x_bytes[num_bytes - 1 - i] as u8;\n let y_byte = y_bytes[num_bytes - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\n", "path": "std/field.nr" }, "51": { "source": "use dep::aztec::prelude::PrivateContext;\nuse dep::aztec::protocol_types::{constants::GENERATOR_INDEX__SIGNATURE_PAYLOAD, hash::pedersen_hash, traits::{Hash, Serialize}};\n\nuse crate::entrypoint::function_call::{FunctionCall, FUNCTION_CALL_SIZE_IN_BYTES};\n\n// FUNCTION_CALL_SIZE * ACCOUNT_MAX_CALLS + 1\nglobal APP_PAYLOAD_SIZE: u64 = 17;\n// FUNCTION_CALL_SIZE_IN_BYTES * ACCOUNT_MAX_CALLS + 32\nglobal APP_PAYLOAD_SIZE_IN_BYTES: u64 = 420;\n\nglobal ACCOUNT_MAX_CALLS: u64 = 4;\n\n// Note: If you change the following struct you have to update default_entrypoint.ts\n// docs:start:app-payload-struct\nstruct AppPayload {\n function_calls: [FunctionCall; ACCOUNT_MAX_CALLS],\n nonce: Field,\n}\n// docs:end:app-payload-struct\n\nimpl Serialize<APP_PAYLOAD_SIZE> for AppPayload {\n // Serializes the entrypoint struct\n fn serialize(self) -> [Field; APP_PAYLOAD_SIZE] {\n let mut fields: BoundedVec<Field, APP_PAYLOAD_SIZE> = BoundedVec::new();\n for call in self.function_calls {\n fields.extend_from_array(call.serialize());\n }\n fields.push(self.nonce);\n fields.storage\n }\n}\n\nimpl Hash for AppPayload {\n fn hash(self) -> Field {\n pedersen_hash(\n self.serialize(),\n GENERATOR_INDEX__SIGNATURE_PAYLOAD\n )\n }\n}\n\nimpl AppPayload {\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\n fn to_be_bytes(self) -> [u8; APP_PAYLOAD_SIZE_IN_BYTES] {\n let mut bytes: BoundedVec<u8, APP_PAYLOAD_SIZE_IN_BYTES> = BoundedVec::new();\n\n for i in 0..ACCOUNT_MAX_CALLS {\n bytes.extend_from_array(self.function_calls[i].to_be_bytes());\n }\n bytes.extend_from_slice(self.nonce.to_be_bytes(32));\n\n bytes.storage\n }\n\n // Executes all private and public calls\n // docs:start:entrypoint-execute-calls\n fn execute_calls(self, context: &mut PrivateContext) {\n for call in self.function_calls {\n if !call.target_address.is_zero() {\n if call.is_public {\n context.call_public_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n false,\n false\n );\n } else {\n let _result = context.call_private_function_with_packed_args(\n call.target_address,\n call.function_selector,\n call.args_hash,\n false,\n false\n );\n }\n }\n }\n }\n // docs:end:entrypoint-execute-calls\n}\n", "path": "/usr/src/noir-projects/aztec-nr/authwit/src/entrypoint/app.nr" }, "84": { "source": "use crate::{\n context::{inputs::PrivateContextInputs, interface::ContextInterface},\n messaging::process_l1_to_l2_message, hash::{hash_args_array, ArgsHasher},\n oracle::{\n arguments, returns, call_private_function::call_private_function_internal,\n enqueue_public_function_call::enqueue_public_function_call_internal, header::get_header_at,\n nullifier_key::{get_nullifier_keys, NullifierKeys}\n}\n};\nuse dep::protocol_types::{\n abis::{\n global_variables::GlobalVariables, gas::Gas, call_context::CallContext, function_data::FunctionData,\n function_selector::FunctionSelector, max_block_number::MaxBlockNumber,\n nullifier_key_validation_request::NullifierKeyValidationRequest,\n private_call_stack_item::PrivateCallStackItem,\n private_circuit_public_inputs::PrivateCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem,\n public_circuit_public_inputs::PublicCircuitPublicInputs, read_request::ReadRequest,\n note_hash::NoteHash, nullifier::Nullifier, side_effect::SideEffect\n},\n address::{AztecAddress, EthAddress},\n constants::{\n MAX_NEW_NOTE_HASHES_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL,\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_DATA_READS_PER_CALL, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL,\n MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n grumpkin_private_key::GrumpkinPrivateKey, header::Header,\n messaging::l2_to_l1_message::L2ToL1Message, utils::reader::Reader,\n traits::{is_empty, Deserialize, Empty}\n};\n\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n// use dep::std::collections::vec::Vec;\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\n args_hash : Field,\n return_hash : Field,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: BoundedVec<SideEffect, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>,\n nullifier_read_requests: BoundedVec<ReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>,\n nullifier_key_validation_requests: BoundedVec<NullifierKeyValidationRequest, MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL>,\n\n new_note_hashes: BoundedVec<NoteHash, MAX_NEW_NOTE_HASHES_PER_CALL>,\n new_nullifiers: BoundedVec<Nullifier, MAX_NEW_NULLIFIERS_PER_CALL>,\n\n private_call_stack_hashes : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\n public_call_stack_hashes : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\n new_l2_to_l1_msgs : BoundedVec<L2ToL1Message, MAX_NEW_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 // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n encrypted_logs_hashes: BoundedVec<SideEffect, MAX_ENCRYPTED_LOGS_PER_CALL>,\n unencrypted_logs_hashes: BoundedVec<SideEffect, MAX_UNENCRYPTED_LOGS_PER_CALL>,\n // encrypted_logs_preimages: Vec<Field>,\n // unencrypted_logs_preimages: Vec<Field>,\n\n nullifier_key: Option<NullifierKeys>,\n}\n\nimpl ContextInterface for PrivateContext {\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_new_note_hash(&mut self, note_hash: Field) {\n self.new_note_hashes.push(NoteHash { value: note_hash, counter: self.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_note_hash: Field) {\n self.new_nullifiers.push(Nullifier { value: nullifier, note_hash: nullified_note_hash, counter: self.side_effect_counter });\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n}\n\nimpl PrivateContext {\n pub fn new(inputs: PrivateContextInputs, args_hash: Field) -> PrivateContext {\n let side_effect_counter = inputs.start_side_effect_counter;\n let mut min_revertible_side_effect_counter = 0;\n if is_empty(inputs.call_context.msg_sender) {\n min_revertible_side_effect_counter = side_effect_counter;\n }\n PrivateContext {\n inputs,\n side_effect_counter,\n min_revertible_side_effect_counter,\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 nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n historical_header: inputs.historical_header,\n private_call_stack_hashes: BoundedVec::new(),\n public_call_stack_hashes: BoundedVec::new(),\n new_l2_to_l1_msgs: BoundedVec::new(),\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n // encrypted_logs_preimages: Vec::new(),\n // unencrypted_logs_preimages: Vec::new(),\n nullifier_key: Option::none()\n }\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 returns::pack_returns(returns_hasher.fields);\n self.return_hash = returns_hasher.hash();\n }\n\n pub fn finish(self) -> PrivateCircuitPublicInputs {\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n let encrypted_log_preimages_length = 0;\n let unencrypted_log_preimages_length = 0;\n\n let priv_circuit_pub_inputs = 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 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 nullifier_key_validation_requests: self.nullifier_key_validation_requests.storage,\n new_note_hashes: self.new_note_hashes.storage,\n new_nullifiers: self.new_nullifiers.storage,\n private_call_stack_hashes: self.private_call_stack_hashes.storage,\n public_call_stack_hashes: self.public_call_stack_hashes.storage,\n new_l2_to_l1_msgs: self.new_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 encrypted_logs_hashes: self.encrypted_logs_hashes.storage,\n unencrypted_logs_hashes: self.unencrypted_logs_hashes.storage,\n encrypted_log_preimages_length,\n unencrypted_log_preimages_length,\n historical_header: self.historical_header,\n tx_context: self.inputs.tx_context\n };\n\n priv_circuit_pub_inputs\n }\n\n pub fn end_setup(&mut self) {\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 = SideEffect { value: note_hash, counter: self.side_effect_counter };\n self.note_hash_read_requests.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn push_nullifier_read_request(&mut self, nullifier: Field) {\n let request = ReadRequest { value: nullifier, counter: self.side_effect_counter };\n self.nullifier_read_requests.push(request);\n self.side_effect_counter = self.side_effect_counter + 1;\n }\n\n pub fn request_app_nullifier_secret_key(&mut self, account: AztecAddress) -> Field {\n let keys = if self.nullifier_key.is_none() {\n let keys = get_nullifier_keys(account);\n let request = NullifierKeyValidationRequest {\n master_nullifier_public_key: keys.master_nullifier_public_key,\n app_nullifier_secret_key: keys.app_nullifier_secret_key\n };\n self.nullifier_key_validation_requests.push(request);\n self.nullifier_key = Option::some(keys);\n keys\n } else {\n let keys = self.nullifier_key.unwrap_unchecked();\n // If MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL is larger than 1, need to update the way the key pair is cached.\n assert(MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL == 1);\n assert(keys.account == account, \"Cannot query nullifier key for more than one account per call\");\n keys\n };\n keys.app_nullifier_secret_key\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 };\n self.new_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_new_nullifier(nullifier, 0)\n }\n // docs:end:consume_l1_to_l2_message\n\n pub fn push_encrypted_log(&mut self, log_hash: Field) {\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.encrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n // TODO: We might want to remove this since emitting unencrypted logs from private functions is violating privacy.\n // --> might be a better approach to force devs to make a public function call that emits the log if needed then\n // it would be less easy to accidentally leak information.\n // If we decide to keep this function around would make sense to wait for traits and then merge it with emit_unencrypted_log.\n pub fn emit_unencrypted_log<T>(&mut self, log: T) {\n let event_selector = 5; // TODO: compute actual event selector.\n let log_hash = emit_unencrypted_log_private_internal(self.this_address(), event_selector, log);\n\n let side_effect = SideEffect { value: log_hash, counter: self.side_effect_counter };\n self.unencrypted_logs_hashes.push(side_effect);\n self.side_effect_counter = self.side_effect_counter + 1;\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\n }\n\n pub fn call_private_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_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, 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 item = call_private_function_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 assert_eq(item.public_inputs.call_context.side_effect_counter, self.side_effect_counter);\n assert_eq(item.public_inputs.start_side_effect_counter, self.side_effect_counter);\n self.side_effect_counter = item.public_inputs.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 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 self.private_call_stack_hashes.push(item.hash());\n\n PackedReturns::new(item.public_inputs.returns_hash)\n }\n\n pub fn call_public_function<ARGS_COUNT>(\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<ARGS_COUNT>(\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<ARGS_COUNT>(\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 mut reader = Reader::new(fields);\n\n // Note: Not using PublicCirclePublicInputs::deserialize here, because everything below args_hash is 0 and\n // there is no more data in fields because there is only ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_SIZE fields!\n let item = PublicCallStackItem {\n contract_address: AztecAddress::from_field(reader.read()),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0,\n end_side_effect_counter: 0,\n unencrypted_logs_hashes: [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0\n },\n is_execution_request: true\n };\n reader.finish();\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.call_context.side_effect_counter, self.side_effect_counter);\n // We increment the sideffect counter by one, to account for the call itself being a side effect.\n self.side_effect_counter = self.side_effect_counter + 1;\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 self.public_call_stack_hashes.push(item.hash());\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 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 nullifier_key_validation_requests: BoundedVec::new(),\n new_note_hashes: BoundedVec::new(),\n new_nullifiers: BoundedVec::new(),\n private_call_stack_hashes : BoundedVec::new(),\n public_call_stack_hashes : BoundedVec::new(),\n new_l2_to_l1_msgs : BoundedVec::new(),\n historical_header: Header::empty(),\n encrypted_logs_hashes: BoundedVec::new(),\n unencrypted_logs_hashes: BoundedVec::new(),\n nullifier_key: Option::none(),\n }\n }\n}\n\nstruct PackedReturns {\n packed_returns: Field,\n}\n\nimpl PackedReturns {\n pub fn new(packed_returns: Field) -> Self {\n PackedReturns { packed_returns }\n }\n\n pub fn assert_empty(self) {\n assert_eq(self.packed_returns, 0);\n }\n\n pub fn raw(self) -> Field {\n self.packed_returns\n }\n\n pub fn unpack<N>(self) -> [Field; N] {\n let unpacked: [Field; N] = returns::unpack_returns(self.packed_returns);\n assert_eq(self.packed_returns, hash_args_array(unpacked));\n unpacked\n }\n\n pub fn unpack_into<T, N>(self) -> T where T: Deserialize<N> {\n let unpacked: [Field; N] = self.unpack();\n Deserialize::deserialize(unpacked)\n }\n}\n\n#[oracle(emitUnencryptedLog)]\nfn emit_unencrypted_log_oracle_private<T>(\n _contract_address: AztecAddress,\n _event_selector: Field,\n _message: T\n) -> Field {}\n\nunconstrained pub fn emit_unencrypted_log_private_internal<T>(\n contract_address: AztecAddress,\n event_selector: Field,\n message: T\n) -> Field {\n // https://github.com/AztecProtocol/aztec-packages/issues/885\n emit_unencrypted_log_oracle_private(contract_address, event_selector, message)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/context/private_context.nr" }, "101": { "source": "use dep::protocol_types::{\n abis::{function_selector::FunctionSelector, private_call_stack_item::PrivateCallStackItem},\n address::AztecAddress, constants::PRIVATE_CALL_STACK_ITEM_LENGTH\n};\n\n#[oracle(callPrivateFunction)]\nfn call_private_function_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _start_side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {}\n\nunconstrained pub fn call_private_function_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n start_side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> PrivateCallStackItem {\n let fields = call_private_function_oracle(\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 PrivateCallStackItem::deserialize(fields)\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/call_private_function.nr" }, "102": { "source": "use dep::protocol_types::{\n abis::function_selector::FunctionSelector, address::AztecAddress,\n constants::ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH\n};\n\n#[oracle(enqueuePublicFunctionCall)]\nfn enqueue_public_function_call_oracle(\n _contract_address: AztecAddress,\n _function_selector: FunctionSelector,\n _args_hash: Field,\n _side_effect_counter: u32,\n _is_static_call: bool,\n _is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {}\n\nunconstrained pub fn enqueue_public_function_call_internal(\n contract_address: AztecAddress,\n function_selector: FunctionSelector,\n args_hash: Field,\n side_effect_counter: u32,\n is_static_call: bool,\n is_delegate_call: bool\n) -> [Field; ENQUEUE_PUBLIC_FUNCTION_CALL_RETURN_LENGTH] {\n enqueue_public_function_call_oracle(\n contract_address,\n function_selector,\n args_hash,\n side_effect_counter,\n is_static_call,\n is_delegate_call\n )\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/oracle/enqueue_public_function_call.nr" }, "115": { "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\n},\n traits::Hash, hash::{pedersen_hash, poseidon2_hash, silo_nullifier, sha256_to_field}\n};\n\npub fn compute_secret_hash(secret: Field) -> Field {\n pedersen_hash([secret], GENERATOR_INDEX__SECRET_HASH)\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\npub fn compute_siloed_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n silo_nullifier(address, nullifier)\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<N>(&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<N>(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() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);\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..800 {\n input.add(i as Field);\n }\n let hash = input.hash();\n assert(hash == 0x05a1023fef839ac88731f49ae983e172c1b600a3c8f3393ad0ac25d819ac0f0f);\n}\n", "path": "/usr/src/noir-projects/aztec-nr/aztec/src/hash.nr" }, "132": { "source": "use crate::{\n abis::{\n append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n global_variables::{GlobalVariables, GLOBAL_VARIABLES_LENGTH}\n},\n constants::{GENERATOR_INDEX__BLOCK_HASH, HEADER_LENGTH, STATE_REFERENCE_LENGTH, CONTENT_COMMITMENT_LENGTH},\n hash::pedersen_hash, state_reference::StateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice, content_commitment::ContentCommitment\n};\n\n// docs:start:header\nstruct Header {\n last_archive: AppendOnlyTreeSnapshot,\n content_commitment: ContentCommitment,\n state: StateReference,\n global_variables: GlobalVariables,\n}\n// docs:end:header\n\nimpl Eq for Header {\n fn eq(self, other: Self) -> bool {\n self.last_archive.eq(other.last_archive) &\n self.content_commitment.eq(other.content_commitment) &\n self.state.eq(other.state) &\n self.global_variables.eq(other.global_variables)\n }\n}\n\nimpl Serialize<HEADER_LENGTH> for Header {\n fn serialize(self) -> [Field; HEADER_LENGTH] {\n let mut fields: BoundedVec<Field, HEADER_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.last_archive.serialize());\n fields.extend_from_array(self.content_commitment.serialize());\n fields.extend_from_array(self.state.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<HEADER_LENGTH> for Header {\n fn deserialize(serialized: [Field; HEADER_LENGTH]) -> Self {\n let mut offset = 0;\n\n let last_archive_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let content_commitment_fields = arr_copy_slice(serialized, [0; CONTENT_COMMITMENT_LENGTH], offset);\n offset = offset + CONTENT_COMMITMENT_LENGTH;\n\n let state_fields = arr_copy_slice(serialized, [0; STATE_REFERENCE_LENGTH], offset);\n offset = offset + STATE_REFERENCE_LENGTH;\n\n let global_variables_fields = arr_copy_slice(serialized, [0; GLOBAL_VARIABLES_LENGTH], offset);\n\n Header {\n last_archive: AppendOnlyTreeSnapshot::deserialize(last_archive_fields),\n content_commitment: ContentCommitment::deserialize(content_commitment_fields),\n state: StateReference::deserialize(state_fields),\n global_variables: GlobalVariables::deserialize(global_variables_fields),\n }\n }\n}\n\nimpl Empty for Header {\n fn empty() -> Self {\n Self {\n last_archive: AppendOnlyTreeSnapshot::zero(),\n content_commitment: ContentCommitment::empty(),\n state: StateReference::empty(),\n global_variables: GlobalVariables::empty(),\n }\n }\n}\n\nimpl Hash for Header {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__BLOCK_HASH)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let header = Header::empty();\n let serialized = header.serialize();\n let deserialized = Header::deserialize(serialized);\n assert(header.eq(deserialized));\n}\n\n#[test]\nfn hash_smoke() {\n let header = Header::empty();\n let _hashed = header.hash();\n}\n\n#[test]\nfn empty_hash_is_zero() {\n let header = Header::empty();\n let hash = header.hash();\n\n // Value from new_contract_data.test.ts \"computes empty hash\" test\n let test_data_empty_hash = 0x2b2525fb1ae91c903827b8055b9ffaf8444ddf4c2b4dce4a79a3cba426bfbd73;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/header.nr" }, "134": { "source": "struct Reader<N> {\n data: [Field; N],\n offset: u64,\n}\n\nimpl<N> Reader<N> {\n pub fn new(data: [Field; N]) -> Self {\n Self { data, offset: 0 }\n }\n\n pub fn read(&mut self) -> Field {\n let result = self.data[self.offset];\n self.offset += 1;\n result\n }\n\n pub fn read_array<K>(&mut self, mut result: [Field; K]) -> [Field; K] {\n for i in 0..K {\n result[i] = self.data[self.offset + i];\n }\n self.offset += K;\n result\n }\n\n // TODO(#4394)\n pub fn read_struct<T, K>(&mut self, deserialise: fn([Field; K]) -> T) -> T {\n let result = deserialise(self.read_array([0; K]));\n result\n }\n\n pub fn read_struct_array<T, K, C>(&mut self, deserialise: fn([Field; K]) -> T, mut result: [T; C]) -> [T; C] {\n for i in 0..C {\n result[i] = self.read_struct(deserialise);\n }\n result\n }\n\n pub fn finish(self) {\n assert(self.offset == self.data.len(), \"Reader did not read all data\");\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils/reader.nr" }, "147": { "source": "use crate::{\n constants::ETH_ADDRESS_LENGTH, hash::pedersen_hash,\n traits::{Empty, ToField, Serialize, Deserialize}, utils\n};\n\nstruct EthAddress{\n inner : Field\n}\n\nimpl Eq for EthAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for EthAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for EthAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl Serialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn serialize(self: Self) -> [Field; ETH_ADDRESS_LENGTH] {\n [self.inner]\n }\n}\n\nimpl Deserialize<ETH_ADDRESS_LENGTH> for EthAddress {\n fn deserialize(fields: [Field; ETH_ADDRESS_LENGTH]) -> Self {\n EthAddress::from_field(fields[0])\n }\n}\n\nimpl EthAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn from_field(field: Field) -> Self {\n field.assert_max_bit_size(160);\n Self { inner: field }\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/eth_address.nr" }, "151": { "source": "use crate::{\n crate::address::{eth_address::EthAddress, partial_address::PartialAddress, public_keys_hash::PublicKeysHash},\n constants::{AZTEC_ADDRESS_LENGTH, GENERATOR_INDEX__CONTRACT_ADDRESS_V1},\n contract_class_id::ContractClassId, hash::poseidon2_hash, grumpkin_point::GrumpkinPoint,\n traits::{Empty, FromField, ToField, Serialize, Deserialize}, utils\n};\n\n// Aztec address\nstruct AztecAddress {\n inner : Field\n}\n\nimpl Eq for AztecAddress {\n fn eq(self, other : Self) -> bool {\n self.to_field() == other.to_field()\n }\n}\n\nimpl Empty for AztecAddress {\n fn empty() -> Self {\n Self {\n inner : 0\n }\n }\n}\n\nimpl ToField for AztecAddress {\n fn to_field(self) -> Field {\n self.inner\n }\n}\n\nimpl FromField for AztecAddress {\n fn from_field(value: Field) -> AztecAddress {\n AztecAddress { inner: value }\n }\n}\n\nimpl Serialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn serialize(self: Self) -> [Field; AZTEC_ADDRESS_LENGTH] {\n [self.to_field()]\n }\n}\n\nimpl Deserialize<AZTEC_ADDRESS_LENGTH> for AztecAddress {\n fn deserialize(fields: [Field; AZTEC_ADDRESS_LENGTH]) -> Self {\n FromField::from_field(fields[0])\n }\n}\n\nimpl AztecAddress {\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n\n pub fn compute(pub_keys_hash: PublicKeysHash, partial_address: PartialAddress) -> AztecAddress {\n AztecAddress::from_field(\n poseidon2_hash(\n [pub_keys_hash.to_field(), partial_address.to_field(), GENERATOR_INDEX__CONTRACT_ADDRESS_V1]\n )\n )\n }\n\n pub fn compute_from_public_keys_and_partial_address(\n nullifier_public_key: GrumpkinPoint,\n incoming_public_key: GrumpkinPoint,\n outgoing_public_key: GrumpkinPoint,\n tagging_public_key: GrumpkinPoint,\n partial_address: PartialAddress,\n ) -> AztecAddress {\n let public_keys_hash = PublicKeysHash::compute_new(\n nullifier_public_key,\n incoming_public_key,\n outgoing_public_key,\n tagging_public_key,\n );\n\n let computed_address = AztecAddress::compute(public_keys_hash, partial_address);\n\n computed_address\n }\n\n pub fn is_zero(self) -> bool {\n self.inner == 0\n }\n\n pub fn assert_is_zero(self) {\n assert(self.to_field() == 0);\n }\n\n pub fn conditional_assign(predicate: bool, lhs: Self, rhs: Self) -> Self {\n let result = utils::conditional_assign(predicate, rhs.to_field(), lhs.to_field());\n Self { inner: result }\n }\n}\n\n#[test]\nfn compute_address_from_partial_and_pubkey() {\n let pub_keys_hash = PublicKeysHash::from_field(1);\n let partial_address = PartialAddress::from_field(2);\n\n let address = AztecAddress::compute(pub_keys_hash, partial_address);\n let expected_computed_address_from_partial_and_pubkey = 0x1b6ead051e7b42665064ca6cf1ec77da0a36d86e00d1ff6e44077966c0c3a9fa;\n assert(address.to_field() == expected_computed_address_from_partial_and_pubkey);\n}\n\n#[test]\nfn from_field_to_field() {\n let address = AztecAddress { inner: 37 };\n assert_eq(FromField::from_field(address.to_field()), address);\n}\n\n#[test]\nfn serde() {\n let address = AztecAddress { inner: 37 };\n assert_eq(Deserialize::deserialize(address.serialize()), address);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/address/aztec_address.nr" }, "153": { "source": "use crate::{address::EthAddress, constants::L2_TO_L1_MESSAGE_LENGTH, traits::{Deserialize, Empty, Serialize}};\n\n// Note: Not to be confused with L2ToL1Msg in Solidity\nstruct L2ToL1Message {\n recipient: EthAddress,\n content: Field,\n}\n\nimpl Empty for L2ToL1Message {\n fn empty() -> Self {\n Self {\n recipient: EthAddress::empty(),\n content: 0,\n }\n }\n}\n\nimpl Eq for L2ToL1Message {\n fn eq(self, other: Self) -> bool {\n (self.recipient == other.recipient) & (self.content == other.content)\n }\n}\n\nimpl Serialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn serialize(self) -> [Field; L2_TO_L1_MESSAGE_LENGTH] {\n [self.recipient.to_field(), self.content]\n }\n}\n\nimpl Deserialize<L2_TO_L1_MESSAGE_LENGTH> for L2ToL1Message {\n fn deserialize(values: [Field; L2_TO_L1_MESSAGE_LENGTH]) -> Self {\n Self {\n recipient: EthAddress::from_field(values[0]),\n content: values[1],\n }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/messaging/l2_to_l1_message.nr" }, "156": { "source": "use dep::std::cmp::Eq;\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic \n// if a value can actually be zero. In a future refactor, we can \n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\ntrait Empty {\n fn empty() -> Self;\n}\n\nimpl Empty for Field { fn empty() -> Self {0} }\n\nimpl Empty for u1 { fn empty() -> Self {0} }\nimpl Empty for u8 { fn empty() -> Self {0} }\nimpl Empty for u32 { fn empty() -> Self {0} }\nimpl Empty for u64 { fn empty() -> Self {0} }\nimpl Empty for U128 { fn empty() -> Self {U128::from_integer(0)} }\n\npub fn is_empty<T>(item: T) -> bool where T: Empty + Eq {\n item.eq(T::empty())\n}\n\npub fn is_empty_array<T, N>(array: [T; N]) -> bool where T: Empty + Eq {\n array.all(|elem| is_empty(elem))\n}\n\ntrait Hash {\n fn hash(self) -> Field;\n}\n\ntrait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u1 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u8 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u32 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for u64 { fn to_field(self) -> Field { self as Field } }\nimpl ToField for U128 {\n fn to_field(self) -> Field {\n self.to_integer()\n }\n}\nimpl<N> ToField for str<N> {\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\ntrait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool { fn from_field(value: Field) -> Self { value as bool } }\nimpl FromField for u1 { fn from_field(value: Field) -> Self { value as u1 } }\nimpl FromField for u8 { fn from_field(value: Field) -> Self { value as u8 } }\nimpl FromField for u32 { fn from_field(value: Field) -> Self { value as u32 } }\nimpl FromField for u64 { fn from_field(value: Field) -> Self { value as u64 } }\nimpl FromField for U128 {\n fn from_field(value: Field) -> Self {\n U128::from_integer(value)\n }\n}\n\n// docs:start:serialize\ntrait Serialize<N> {\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<N> Serialize<N> for str<N> {\n fn serialize(self) -> [Field; N] {\n let mut result = [0; N];\n let bytes: [u8; N] = self.as_bytes();\n for i in 0..N {\n result[i] = field_from_bytes([bytes[i];1], true);\n }\n result\n }\n}\n\n// docs:start:deserialize\ntrait Deserialize<N> {\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr" }, "158": { "source": "use crate::{\n abis::append_only_tree_snapshot::AppendOnlyTreeSnapshot, constants::PARTIAL_STATE_REFERENCE_LENGTH,\n traits::{Deserialize, Empty, Hash, Serialize}\n};\n\nstruct PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot,\n nullifier_tree: AppendOnlyTreeSnapshot,\n public_data_tree: AppendOnlyTreeSnapshot,\n}\n\nimpl Eq for PartialStateReference {\n fn eq(self, other: PartialStateReference) -> bool {\n self.note_hash_tree.eq(other.note_hash_tree) &\n self.nullifier_tree.eq(other.nullifier_tree) &\n self.public_data_tree.eq(other.public_data_tree)\n }\n}\n\nimpl Serialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn serialize(self) -> [Field; PARTIAL_STATE_REFERENCE_LENGTH] {\n let serialized_note_hash_tree = self.note_hash_tree.serialize();\n let serialized_nullifier_tree = self.nullifier_tree.serialize();\n let serialized_public_data_tree = self.public_data_tree.serialize();\n\n [\n serialized_note_hash_tree[0], \n serialized_note_hash_tree[1],\n serialized_nullifier_tree[0],\n serialized_nullifier_tree[1],\n serialized_public_data_tree[0],\n serialized_public_data_tree[1],\n ]\n }\n}\n\nimpl Deserialize<PARTIAL_STATE_REFERENCE_LENGTH> for PartialStateReference {\n fn deserialize(serialized: [Field; PARTIAL_STATE_REFERENCE_LENGTH]) -> PartialStateReference {\n PartialStateReference {\n note_hash_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[0], serialized[1]]\n ),\n nullifier_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[2], serialized[3]]\n ),\n public_data_tree: AppendOnlyTreeSnapshot::deserialize(\n [serialized[4], serialized[5]]\n ),\n }\n }\n}\n\nimpl Empty for PartialStateReference {\n fn empty() -> Self {\n Self {\n note_hash_tree: AppendOnlyTreeSnapshot::zero(),\n nullifier_tree: AppendOnlyTreeSnapshot::zero(),\n public_data_tree: AppendOnlyTreeSnapshot::zero(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let partial = PartialStateReference::empty();\n let _serialized = partial.serialize();\n let _deserialized = PartialStateReference::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/partial_state_reference.nr" }, "164": { "source": "use crate::{\n abis::function_selector::FunctionSelector,\n constants::{GENERATOR_INDEX__FUNCTION_DATA, FUNCTION_DATA_LENGTH}, hash::pedersen_hash,\n traits::{Serialize, Hash, Deserialize, Empty}\n};\n\nstruct FunctionData {\n selector : FunctionSelector,\n is_private : bool,\n}\n\nimpl Eq for FunctionData {\n fn eq(self, other: Self) -> bool {\n self.selector.eq(other.selector) &\n self.is_private == other.is_private\n }\n}\n\nimpl Serialize<FUNCTION_DATA_LENGTH> for FunctionData {\n // A field is ~256 bits\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3057): Since, function data can fit into a Field,\n // This method will simply return a bit packed Field instead of hashing\n fn serialize(self) -> [Field; FUNCTION_DATA_LENGTH] {\n [\n self.selector.to_field(),\n self.is_private as Field,\n ]\n }\n}\n\nimpl Deserialize<FUNCTION_DATA_LENGTH> for FunctionData {\n fn deserialize(serialized: [Field; FUNCTION_DATA_LENGTH]) -> Self {\n Self {\n selector: FunctionSelector::from_field(serialized[0]),\n is_private: serialized[1] as bool,\n }\n }\n}\n\nimpl Hash for FunctionData {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__FUNCTION_DATA)\n }\n}\n\nimpl Empty for FunctionData {\n fn empty() -> Self {\n FunctionData {\n selector: FunctionSelector::empty(),\n is_private: false,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let data = FunctionData::empty();\n let serialized = data.serialize();\n let deserialized = FunctionData::deserialize(serialized);\n assert(data.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let data = FunctionData::empty();\n let hash = data.hash();\n\n // Value from function_data.test.ts \"computes empty function data hash\" test\n let test_data_empty_hash = 0x27b1d0839a5b23baf12a8d195b18ac288fcf401afb2f70b8a4b529ede5fa9fed;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_data.nr" }, "168": { "source": "use crate::{\n abis::side_effect::{OrderedValue, ContractScopedOrderedValue},\n traits::{Empty, Serialize, Deserialize}, address::AztecAddress,\n constants::READ_REQUEST_LENGTH,\n};\nuse dep::std::cmp::Eq;\n\nglobal READ_REQUEST_CONTEXT_SERIALIZED_LEN = 3;\n\nstruct ReadRequest {\n value: Field,\n counter: u32,\n}\n\nimpl OrderedValue<Field> for ReadRequest {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for ReadRequest {\n fn eq(self, read_request: ReadRequest) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n }\n}\n\nimpl Empty for ReadRequest {\n fn empty() -> Self {\n ReadRequest {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn serialize(self) -> [Field; READ_REQUEST_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<READ_REQUEST_LENGTH> for ReadRequest {\n fn deserialize(values: [Field; READ_REQUEST_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl ReadRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> ReadRequestContext {\n ReadRequestContext { value: self.value, counter: self.counter, contract_address }\n }\n}\n\nstruct ReadRequestContext {\n value: Field,\n counter: u32,\n contract_address: AztecAddress,\n}\n\nimpl OrderedValue<Field> for ReadRequestContext {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl ContractScopedOrderedValue<Field> for ReadRequestContext {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n fn contract_address(self) -> AztecAddress {\n self.contract_address\n }\n}\n\nimpl Eq for ReadRequestContext {\n fn eq(self, read_request: ReadRequestContext) -> bool {\n (self.value == read_request.value)\n & (self.counter == read_request.counter)\n & (self.contract_address.eq(read_request.contract_address))\n }\n}\n\nimpl Empty for ReadRequestContext {\n fn empty() -> Self {\n ReadRequestContext {\n value: 0,\n counter: 0,\n contract_address: AztecAddress::empty(),\n }\n }\n}\n\nimpl Serialize<READ_REQUEST_CONTEXT_SERIALIZED_LEN> for ReadRequestContext {\n fn serialize(self) -> [Field; READ_REQUEST_CONTEXT_SERIALIZED_LEN] {\n [self.value, self.counter as Field, self.contract_address.to_field()]\n }\n}\n\nimpl Deserialize<READ_REQUEST_CONTEXT_SERIALIZED_LEN> for ReadRequestContext {\n fn deserialize(values: [Field; READ_REQUEST_CONTEXT_SERIALIZED_LEN]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n contract_address: AztecAddress::from_field(values[2]),\n }\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/read_request.nr" }, "169": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{CALL_CONTEXT_LENGTH, GENERATOR_INDEX__CALL_CONTEXT}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n abis::{gas_settings::GasSettings, gas::Gas}, utils::reader::Reader\n};\n\n// docs:start:call-context\nstruct CallContext {\n msg_sender : AztecAddress,\n storage_contract_address : AztecAddress,\n function_selector : FunctionSelector,\n\n is_delegate_call : bool,\n is_static_call : bool,\n\n side_effect_counter : u32,\n}\n// docs:end:call-context\n\nimpl CallContext {\n fn assert_is_zero(self) {\n let serialized: [Field; CALL_CONTEXT_LENGTH] = self.serialize();\n\n for i in 0..CALL_CONTEXT_LENGTH {\n assert(serialized[i] == 0);\n }\n }\n}\n\nimpl Eq for CallContext {\n fn eq(self, other: CallContext) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Hash for CallContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)\n }\n}\n\nimpl Serialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\n let mut serialized: BoundedVec<Field, CALL_CONTEXT_LENGTH> = BoundedVec::new();\n\n serialized.push(self.msg_sender.to_field());\n serialized.push(self.storage_contract_address.to_field());\n serialized.push(self.function_selector.to_field());\n serialized.push(self.is_delegate_call as Field);\n serialized.push(self.is_static_call as Field);\n serialized.push(self.side_effect_counter as Field);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<CALL_CONTEXT_LENGTH> for CallContext {\n fn deserialize(serialized: [Field; CALL_CONTEXT_LENGTH]) -> CallContext {\n let mut reader = Reader::new(serialized);\n CallContext {\n msg_sender: AztecAddress::from_field(reader.read()),\n storage_contract_address: AztecAddress::from_field(reader.read()),\n function_selector: FunctionSelector::from_field(reader.read()),\n is_delegate_call: reader.read() as bool,\n is_static_call: reader.read() as bool,\n side_effect_counter: reader.read() as u32,\n }\n }\n}\n\nimpl Empty for CallContext {\n fn empty() -> Self {\n CallContext {\n msg_sender: AztecAddress::empty(),\n storage_contract_address: AztecAddress::empty(),\n function_selector: FunctionSelector::empty(),\n is_delegate_call: false,\n is_static_call: false,\n side_effect_counter: 0,\n }\n }\n}\n\n#[test]\nfn serialize_deserialize_of_empty() {\n let context = CallContext::empty();\n let serialized = context.serialize();\n let deserialized = CallContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn assert_is_zero() {\n let context = CallContext::empty();\n context.assert_is_zero();\n}\n\n#[test(should_fail)]\nfn not_zero_assert_is_zero() {\n let mut context = CallContext::empty();\n context.is_delegate_call = true;\n context.assert_is_zero();\n}\n\n#[test]\nfn test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = true;\n\n let address: AztecAddress = AztecAddress::from_field(69420);\n context1.msg_sender = address;\n context2.msg_sender = address;\n\n assert(context1.eq(context2));\n}\n\n#[test(should_fail)]\nfn not_eq_test_eq() {\n let mut context1 = CallContext::empty();\n let mut context2 = CallContext::empty();\n\n context1.is_delegate_call = true;\n context2.is_delegate_call = false;\n\n let address1: AztecAddress = AztecAddress::from_field(69420);\n let address2: AztecAddress = AztecAddress::from_field(42069);\n\n context1.msg_sender = address1;\n context2.msg_sender = address2;\n\n assert(context1.eq(context2));\n}\n\n#[test]\nfn hash_smoke() {\n let context = CallContext::empty();\n let _hashed = context.hash();\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr" }, "179": { "source": "use crate::{\n abis::{function_data::FunctionData, private_circuit_public_inputs::PrivateCircuitPublicInputs},\n address::AztecAddress,\n constants::{GENERATOR_INDEX__CALL_STACK_ITEM, PRIVATE_CALL_STACK_ITEM_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader\n};\n\nstruct PrivateCallStackItem {\n // This is the _actual_ contract address relating to where this function's code resides in the\n // contract tree. Regardless of whether this is a call or delegatecall, this\n // `contract_address` _does not change_. Amongst other things, it's used as a lookup for\n // getting the correct code from the tree. There is a separate `storage_contract_address`\n // within a CallStackItem which varies depending on whether this is a call or delegatecall.\n contract_address: AztecAddress,\n function_data: FunctionData,\n public_inputs: PrivateCircuitPublicInputs,\n}\n\nimpl Eq for PrivateCallStackItem {\n fn eq(self, other: Self) -> bool {\n self.contract_address.eq(other.contract_address) &\n self.function_data.eq(other.function_data) &\n self.public_inputs.eq(other.public_inputs)\n }\n}\n\nimpl Serialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn serialize(self) -> [Field; PRIVATE_CALL_STACK_ITEM_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CALL_STACK_ITEM_LENGTH> = BoundedVec::new();\n\n fields.push(self.contract_address.to_field());\n fields.extend_from_array(self.function_data.serialize());\n fields.extend_from_array(self.public_inputs.serialize());\n\n assert_eq(fields.len(), PRIVATE_CALL_STACK_ITEM_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CALL_STACK_ITEM_LENGTH> for PrivateCallStackItem {\n fn deserialize(serialized: [Field; PRIVATE_CALL_STACK_ITEM_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let item = Self {\n contract_address: reader.read_struct(AztecAddress::deserialize),\n function_data: reader.read_struct(FunctionData::deserialize),\n public_inputs: reader.read_struct(PrivateCircuitPublicInputs::deserialize),\n };\n\n reader.finish();\n item\n }\n}\n\nimpl Hash for PrivateCallStackItem {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl Empty for PrivateCallStackItem {\n fn empty() -> Self {\n PrivateCallStackItem {\n contract_address: AztecAddress::empty(),\n function_data: FunctionData::empty(),\n public_inputs: PrivateCircuitPublicInputs::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let item = PrivateCallStackItem::empty();\n let serialized = item.serialize();\n let deserialized = PrivateCallStackItem::deserialize(serialized);\n assert(item.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let mut item = PrivateCallStackItem::empty();\n item.function_data.is_private = true;\n let hash = item.hash();\n\n // Value from private_call_stack_item.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17fd6ffcb3394b845069dc87e055c37ac50599f274130fac69c6fe919bfe382e;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_call_stack_item.nr" }, "183": { "source": "use crate::abis::{function_data::FunctionData, public_circuit_public_inputs::PublicCircuitPublicInputs};\nuse crate::address::AztecAddress;\nuse crate::constants::GENERATOR_INDEX__CALL_STACK_ITEM;\nuse crate::traits::Hash;\n\nstruct PublicCallStackItem {\n contract_address: AztecAddress,\n public_inputs: PublicCircuitPublicInputs,\n function_data: FunctionData,\n // True if this call stack item represents a request to execute a function rather than a\n // fulfilled execution. Used when enqueuing calls from private to public functions.\n is_execution_request: bool,\n}\n\nimpl Hash for PublicCallStackItem {\n fn hash(self) -> Field {\n let item = if self.is_execution_request {\n self.as_execution_request()\n } else {\n self\n };\n\n dep::std::hash::pedersen_hash_with_separator([\n item.contract_address.to_field(),\n item.function_data.hash(),\n item.public_inputs.hash(),\n ], GENERATOR_INDEX__CALL_STACK_ITEM)\n }\n}\n\nimpl PublicCallStackItem {\n fn as_execution_request(self) -> Self {\n let public_inputs = self.public_inputs;\n let mut request_public_inputs = PublicCircuitPublicInputs::empty();\n request_public_inputs.call_context = public_inputs.call_context;\n request_public_inputs.args_hash = public_inputs.args_hash;\n\n let call_stack_item = PublicCallStackItem {\n contract_address: self.contract_address,\n function_data: self.function_data,\n is_execution_request: true,\n public_inputs: request_public_inputs\n };\n call_stack_item\n }\n}\n\nmod tests {\n use crate::{\n abis::{\n function_data::FunctionData, function_selector::FunctionSelector, note_hash::NoteHash,\n public_circuit_public_inputs::PublicCircuitPublicInputs,\n public_call_stack_item::PublicCallStackItem, side_effect::SideEffect\n },\n address::AztecAddress, constants::GENERATOR_INDEX__CALL_STACK_ITEM, traits::Hash\n };\n\n #[test]\n fn compute_call_stack_item_request_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item request hash\" test\n let test_data_call_stack_item_request_hash = 0x1595b195f0faa3a492109039dc807b291d0edd81a5e3a380866d5098ffd505dd;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);\n }\n\n #[test]\n fn compute_call_stack_item_hash() {\n let contract_address = AztecAddress::from_field(1);\n let function_data = FunctionData { selector: FunctionSelector::from_u32(2), is_private: false };\n\n let mut public_inputs = PublicCircuitPublicInputs::empty();\n public_inputs.new_note_hashes[0] = NoteHash {\n value: 1,\n counter: 0,\n };\n\n let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };\n\n // Value from public_call_stack_item.test.ts \"Computes a callstack item hash\" test\n let test_data_call_stack_item_hash = 0x1122a7d7e6174b7e5d111c8eb0233564d3a1ffd755afc7ce4b594d738e2770d7;\n assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_call_stack_item.nr" }, "185": { "source": "use crate::utils::field::field_from_bytes;\nuse dep::std::cmp::Eq;\nuse crate::traits::{Serialize, Deserialize, FromField, ToField, Empty};\n\nglobal SELECTOR_SIZE = 4;\n\nstruct FunctionSelector {\n // 1st 4-bytes of abi-encoding of function.\n inner: u32,\n}\n\nimpl Eq for FunctionSelector {\n fn eq(self, function_selector: FunctionSelector) -> bool {\n function_selector.inner == self.inner\n }\n}\n\nimpl Serialize<1> for FunctionSelector {\n fn serialize(self: Self) -> [Field; 1] {\n [self.inner as Field]\n }\n}\n\nimpl Deserialize<1> for FunctionSelector {\n fn deserialize(fields: [Field; 1]) -> Self {\n Self {\n inner: fields[0] as u32\n }\n }\n}\n\nimpl FromField for FunctionSelector {\n fn from_field(field: Field) -> Self {\n Self { inner: field as u32 }\n }\n}\n\nimpl ToField for FunctionSelector {\n fn to_field(self) -> Field {\n self.inner as Field\n }\n}\n\nimpl Empty for FunctionSelector {\n fn empty() -> Self {\n Self { inner: 0 as u32 }\n }\n}\n\nimpl FunctionSelector {\n pub fn from_u32(value: u32) -> Self {\n Self { inner: value }\n }\n\n pub fn from_signature<N>(signature: str<N>) -> Self {\n let bytes = signature.as_bytes();\n let hash = dep::std::hash::keccak256(bytes, bytes.len() as u32);\n\n let mut selector_be_bytes = [0; SELECTOR_SIZE];\n for i in 0..SELECTOR_SIZE {\n selector_be_bytes[i] = hash[i];\n }\n\n FunctionSelector::from_field(field_from_bytes(selector_be_bytes, true))\n }\n\n pub fn zero() -> Self {\n Self { inner: 0 }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/function_selector.nr" }, "188": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::{GAS_LENGTH, FIXED_DA_GAS}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered, utils::reader::Reader,\n abis::gas_fees::GasFees\n};\nuse dep::std::ops::{Add, Sub};\n\nstruct Gas {\n da_gas: u32,\n l2_gas: u32,\n}\n\nimpl Gas {\n pub fn new(da_gas: u32, l2_gas: u32) -> Self {\n Self { da_gas, l2_gas }\n }\n\n pub fn tx_overhead() -> Self {\n Self { da_gas: FIXED_DA_GAS, l2_gas: 0 }\n }\n\n pub fn compute_fee(self, fees: GasFees) -> Field {\n (self.da_gas as Field) * fees.fee_per_da_gas + (self.l2_gas as Field) * fees.fee_per_l2_gas\n }\n\n pub fn is_empty(self) -> bool {\n (self.da_gas == 0) & (self.l2_gas == 0)\n }\n\n pub fn within(self, limits: Gas) -> bool {\n (self.da_gas <= limits.da_gas) & (self.l2_gas <= limits.l2_gas)\n }\n}\n\nimpl Add for Gas {\n fn add(self, other: Gas) -> Self {\n Gas::new(self.da_gas + other.da_gas, self.l2_gas + other.l2_gas)\n }\n}\n\nimpl Sub for Gas {\n fn sub(self, other: Gas) -> Self {\n Gas::new(self.da_gas - other.da_gas, self.l2_gas - other.l2_gas)\n }\n}\n\nimpl Serialize<GAS_LENGTH> for Gas {\n fn serialize(self) -> [Field; GAS_LENGTH] {\n [self.da_gas as Field, self.l2_gas as Field]\n }\n}\n\nimpl Deserialize<GAS_LENGTH> for Gas {\n fn deserialize(serialized: [Field; GAS_LENGTH]) -> Gas {\n Gas::new(serialized[0] as u32, serialized[1] as u32)\n }\n}\n\nimpl Eq for Gas {\n fn eq(self, other : Gas) -> bool {\n (self.da_gas == other.da_gas) & (self.l2_gas == other.l2_gas)\n }\n}\n\nimpl Empty for Gas {\n fn empty() -> Self {\n Gas::new(0, 0)\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas.nr" }, "189": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress}, abis::gas::Gas,\n abis::gas_fees::GasFees,\n constants::{\n GAS_SETTINGS_LENGTH, DEFAULT_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_MAX_FEE_PER_GAS,\n DEFAULT_INCLUSION_FEE\n},\n hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty}, abis::side_effect::Ordered,\n utils::reader::Reader\n};\n\nstruct GasSettings {\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field,\n}\n\nimpl GasSettings {\n pub fn new(\n gas_limits: Gas,\n teardown_gas_limits: Gas,\n max_fees_per_gas: GasFees,\n inclusion_fee: Field\n ) -> Self {\n Self { gas_limits, teardown_gas_limits, max_fees_per_gas, inclusion_fee }\n }\n\n pub fn default() -> Self {\n GasSettings::new(\n Gas::new(DEFAULT_GAS_LIMIT, DEFAULT_GAS_LIMIT),\n Gas::new(DEFAULT_TEARDOWN_GAS_LIMIT, DEFAULT_TEARDOWN_GAS_LIMIT),\n GasFees::new(DEFAULT_MAX_FEE_PER_GAS, DEFAULT_MAX_FEE_PER_GAS),\n DEFAULT_INCLUSION_FEE\n )\n }\n}\n\nimpl Eq for GasSettings {\n fn eq(self, other: Self) -> bool {\n (self.gas_limits == other.gas_limits) & (self.teardown_gas_limits == other.teardown_gas_limits) & (self.max_fees_per_gas == other.max_fees_per_gas) & (self.inclusion_fee == other.inclusion_fee)\n }\n}\n\nimpl Empty for GasSettings {\n fn empty() -> Self {\n GasSettings::new(\n Gas::empty(), Gas::empty(), GasFees::empty(), 0\n )\n }\n}\n\nimpl Serialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn serialize(self) -> [Field; GAS_SETTINGS_LENGTH] {\n let mut serialized: BoundedVec<Field, GAS_SETTINGS_LENGTH> = BoundedVec::new();\n\n serialized.extend_from_array(self.gas_limits.serialize());\n serialized.extend_from_array(self.teardown_gas_limits.serialize());\n serialized.extend_from_array(self.max_fees_per_gas.serialize());\n serialized.push(self.inclusion_fee);\n \n serialized.storage\n }\n}\n\nimpl Deserialize<GAS_SETTINGS_LENGTH> for GasSettings {\n fn deserialize(serialized: [Field; GAS_SETTINGS_LENGTH]) -> GasSettings {\n let mut reader = Reader::new(serialized);\n GasSettings::new(reader.read_struct(Gas::deserialize), reader.read_struct(Gas::deserialize), reader.read_struct(GasFees::deserialize), reader.read())\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_settings.nr" }, "190": { "source": "use crate::{\n address::AztecAddress, abis::side_effect::{Ordered, OrderedValue},\n constants::{NOTE_HASH_LENGTH, NOTE_HASH_CONTEXT_LENGTH}, traits::{Empty, Serialize, Deserialize}\n};\nuse dep::std::cmp::Eq;\n\nstruct NoteHash {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for NoteHash {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteHash {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHash {\n fn eq(self, other: NoteHash) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n }\n}\n\nimpl Empty for NoteHash {\n fn empty() -> Self {\n NoteHash {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_LENGTH> for NoteHash {\n fn serialize(self) -> [Field; NOTE_HASH_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_LENGTH> for NoteHash {\n fn deserialize(values: [Field; NOTE_HASH_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n\nimpl NoteHash {\n pub fn to_context(self, nullifier_counter: u32) -> NoteHashContext {\n NoteHashContext { value: self.value, counter: self.counter, nullifier_counter }\n }\n}\n\nstruct NoteHashContext {\n value: Field,\n counter: u32,\n nullifier_counter: u32,\n}\n\nimpl Ordered for NoteHashContext {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for NoteHashContext {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for NoteHashContext {\n fn eq(self, other: NoteHashContext) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter) \n & (self.nullifier_counter == other.nullifier_counter)\n }\n}\n\nimpl Empty for NoteHashContext {\n fn empty() -> Self {\n NoteHashContext {\n value: 0,\n counter: 0,\n nullifier_counter: 0,\n }\n }\n}\n\nimpl Serialize<NOTE_HASH_CONTEXT_LENGTH> for NoteHashContext {\n fn serialize(self) -> [Field; NOTE_HASH_CONTEXT_LENGTH] {\n [self.value, self.counter as Field, self.nullifier_counter as Field]\n }\n}\n\nimpl Deserialize<NOTE_HASH_CONTEXT_LENGTH> for NoteHashContext {\n fn deserialize(values: [Field; NOTE_HASH_CONTEXT_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n nullifier_counter: values[2] as u32,\n }\n }\n}\n\nimpl NoteHashContext {\n pub fn to_note_hash(self) -> NoteHash {\n NoteHash { value: self.value, counter: self.counter }\n }\n\n pub fn expose_to_public(self) -> NoteHash {\n // Hide the actual counter when exposing it to the public kernel.\n NoteHash { value: self.value, counter: 0 }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/note_hash.nr" }, "191": { "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::{AztecAddress, EthAddress}, abis::gas_fees::GasFees,\n constants::{GENERATOR_INDEX__GLOBAL_VARIABLES, GLOBAL_VARIABLES_LENGTH},\n traits::{Deserialize, Empty, Hash, Serialize}, utils::reader::Reader\n};\n\n// docs:start:global-variables\nstruct GlobalVariables {\n chain_id : Field,\n version : Field,\n block_number : Field,\n timestamp : u64,\n coinbase : EthAddress,\n fee_recipient : AztecAddress,\n gas_fees : GasFees\n}\n// docs:end:global-variables\n\nimpl GlobalVariables {\n fn is_empty(self) -> bool {\n (self.chain_id == 0)\n & (self.version == 0)\n & (self.block_number == 0)\n & (self.timestamp == 0)\n & (self.coinbase.is_zero())\n & (self.fee_recipient.is_zero())\n & (self.gas_fees.is_empty())\n }\n}\n\nimpl Serialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn serialize(self) -> [Field; GLOBAL_VARIABLES_LENGTH] {\n let mut serialized: BoundedVec<Field, GLOBAL_VARIABLES_LENGTH> = BoundedVec::new();\n\n serialized.push(self.chain_id);\n serialized.push(self.version);\n serialized.push(self.block_number);\n serialized.push(self.timestamp as Field);\n serialized.push(self.coinbase.to_field());\n serialized.push(self.fee_recipient.to_field());\n serialized.extend_from_array(self.gas_fees.serialize());\n\n serialized.storage\n }\n}\n\nimpl Deserialize<GLOBAL_VARIABLES_LENGTH> for GlobalVariables {\n fn deserialize(serialized: [Field; GLOBAL_VARIABLES_LENGTH]) -> GlobalVariables {\n let mut reader = Reader::new(serialized);\n GlobalVariables {\n chain_id: reader.read(),\n version: reader.read(),\n block_number: reader.read(),\n timestamp: reader.read() as u64,\n coinbase: EthAddress::from_field(reader.read()),\n fee_recipient: AztecAddress::from_field(reader.read()),\n gas_fees: reader.read_struct(GasFees::deserialize)\n }\n }\n}\n\nimpl Eq for GlobalVariables {\n fn eq(self, other : GlobalVariables) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.block_number == other.block_number) &\n (self.timestamp == other.timestamp) &\n (self.coinbase == other.coinbase) &\n (self.fee_recipient == other.fee_recipient) &\n (self.gas_fees == other.gas_fees) \n }\n}\n\nimpl Empty for GlobalVariables {\n fn empty() -> Self {\n Self {\n chain_id: 0,\n version: 0,\n block_number: 0,\n timestamp: 0,\n coinbase: EthAddress::empty(),\n fee_recipient: AztecAddress::empty(),\n gas_fees: GasFees::empty()\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let vars = GlobalVariables::empty();\n let _serialized = vars.serialize();\n let _deserialized = GlobalVariables::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr" }, "194": { "source": "use dep::std::cmp::Eq;\nuse crate::{\n address::AztecAddress,\n constants::{NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH, NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH},\n traits::{Empty, Serialize, Deserialize}, grumpkin_point::GrumpkinPoint,\n grumpkin_private_key::GrumpkinPrivateKey\n};\n\nstruct NullifierKeyValidationRequest {\n master_nullifier_public_key: GrumpkinPoint,\n app_nullifier_secret_key: Field, // not a GrumpkinScalar because it's output of poseidon2\n}\n\nimpl Eq for NullifierKeyValidationRequest {\n fn eq(self, request: NullifierKeyValidationRequest) -> bool {\n (request.master_nullifier_public_key.eq(self.master_nullifier_public_key))\n & (request.app_nullifier_secret_key.eq(self.app_nullifier_secret_key))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequest {\n fn empty() -> Self {\n NullifierKeyValidationRequest {\n master_nullifier_public_key: GrumpkinPoint::zero(),\n app_nullifier_secret_key: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH> for NullifierKeyValidationRequest {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH] {\n [\n self.master_nullifier_public_key.x,\n self.master_nullifier_public_key.y,\n self.app_nullifier_secret_key,\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH> for NullifierKeyValidationRequest {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_LENGTH]) -> Self {\n Self {\n master_nullifier_public_key: GrumpkinPoint::new(fields[0], fields[1]),\n app_nullifier_secret_key: fields[2],\n }\n }\n}\n\nimpl NullifierKeyValidationRequest {\n pub fn to_context(self, contract_address: AztecAddress) -> NullifierKeyValidationRequestContext {\n NullifierKeyValidationRequestContext {\n master_nullifier_public_key: self.master_nullifier_public_key,\n app_nullifier_secret_key: self.app_nullifier_secret_key,\n contract_address\n }\n }\n}\n\nstruct NullifierKeyValidationRequestContext {\n master_nullifier_public_key: GrumpkinPoint,\n app_nullifier_secret_key: Field,\n contract_address: AztecAddress,\n}\n\nimpl Eq for NullifierKeyValidationRequestContext {\n fn eq(self, request: NullifierKeyValidationRequestContext) -> bool {\n (request.master_nullifier_public_key.eq(self.master_nullifier_public_key))\n & (request.app_nullifier_secret_key.eq(self.app_nullifier_secret_key))\n & (request.contract_address.eq(self.contract_address))\n }\n}\n\nimpl Empty for NullifierKeyValidationRequestContext {\n fn empty() -> Self {\n NullifierKeyValidationRequestContext {\n master_nullifier_public_key: GrumpkinPoint::zero(),\n app_nullifier_secret_key: 0,\n contract_address: AztecAddress::zero(),\n }\n }\n}\n\nimpl Serialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH> for NullifierKeyValidationRequestContext {\n fn serialize(self) -> [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH] {\n [\n self.master_nullifier_public_key.x,\n self.master_nullifier_public_key.y,\n self.app_nullifier_secret_key,\n self.contract_address.to_field(),\n ]\n }\n}\n\nimpl Deserialize<NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH> for NullifierKeyValidationRequestContext {\n fn deserialize(fields: [Field; NULLIFIER_KEY_VALIDATION_REQUEST_CONTEXT_LENGTH]) -> Self {\n Self {\n master_nullifier_public_key: GrumpkinPoint::new(fields[0], fields[1]),\n app_nullifier_secret_key: fields[2],\n contract_address: AztecAddress::from_field(fields[3]),\n }\n }\n}\n\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier_key_validation_request.nr" }, "195": { "source": "use crate::{\n abis::{\n call_context::CallContext, max_block_number::MaxBlockNumber, gas_settings::GasSettings,\n nullifier_key_validation_request::NullifierKeyValidationRequest, note_hash::NoteHash,\n nullifier::Nullifier, read_request::ReadRequest, side_effect::SideEffect\n},\n constants::{\n MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_READ_REQUESTS_PER_CALL,\n MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL,\n MAX_NEW_NULLIFIERS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\n MAX_ENCRYPTED_LOGS_PER_CALL, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n header::Header, hash::pedersen_hash, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n transaction::tx_context::TxContext\n};\n\nstruct PrivateCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n min_revertible_side_effect_counter: u32,\n\n max_block_number: MaxBlockNumber,\n\n note_hash_read_requests: [SideEffect; MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest; MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter : u32,\n end_side_effect_counter : u32,\n encrypted_logs_hashes: [SideEffect; MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [SideEffect; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n encrypted_log_preimages_length: Field,\n unencrypted_log_preimages_length: Field,\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: The chain_id and version here are not redundant to the values in self.historical_header.global_variables because\n // they can be different in case of a protocol upgrade. In such a situation we could be using header from a block\n // before the upgrade took place but be using the updated protocol to execute and prove the transaction.\n tx_context: TxContext,\n}\n\nimpl Eq for PrivateCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.call_context.eq(other.call_context) &\n self.args_hash.eq(other.args_hash) &\n (self.returns_hash == other.returns_hash) &\n (self.max_block_number == other.max_block_number) &\n (self.note_hash_read_requests == other.note_hash_read_requests) &\n (self.nullifier_read_requests == other.nullifier_read_requests) &\n (self.nullifier_key_validation_requests == other.nullifier_key_validation_requests) &\n (self.new_note_hashes == other.new_note_hashes) &\n (self.new_nullifiers == other.new_nullifiers) &\n (self.private_call_stack_hashes == other.private_call_stack_hashes) &\n (self.public_call_stack_hashes == other.public_call_stack_hashes) &\n (self.new_l2_to_l1_msgs == other.new_l2_to_l1_msgs) &\n (self.start_side_effect_counter == other.start_side_effect_counter) &\n (self.end_side_effect_counter == other.end_side_effect_counter) &\n (self.encrypted_logs_hashes == other.encrypted_logs_hashes) &\n (self.unencrypted_logs_hashes == other.unencrypted_logs_hashes) &\n (self.encrypted_log_preimages_length == other.encrypted_log_preimages_length) &\n (self.unencrypted_log_preimages_length == other.unencrypted_log_preimages_length) &\n self.historical_header.eq(other.historical_header) &\n self.tx_context.eq(other.tx_context)\n }\n}\n\nimpl Serialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n\n fields.push(self.min_revertible_side_effect_counter as Field);\n\n fields.extend_from_array(self.max_block_number.serialize());\n\n for i in 0..self.note_hash_read_requests.len() {\n fields.extend_from_array(self.note_hash_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_read_requests.len() {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..self.nullifier_key_validation_requests.len() {\n fields.extend_from_array(self.nullifier_key_validation_requests[i].serialize());\n }\n for i in 0..self.new_note_hashes.len() {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..self.new_nullifiers.len() {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n fields.extend_from_array(self.private_call_stack_hashes);\n fields.extend_from_array(self.public_call_stack_hashes);\n for i in 0..self.new_l2_to_l1_msgs.len() {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n for i in 0..self.encrypted_logs_hashes.len() {\n fields.extend_from_array(self.encrypted_logs_hashes[i].serialize());\n }\n for i in 0..self.unencrypted_logs_hashes.len() {\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.push(self.encrypted_log_preimages_length);\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.tx_context.serialize());\n\n assert_eq(fields.len(), PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PrivateCircuitPublicInputs {\n fn deserialize(serialized: [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = Self {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n min_revertible_side_effect_counter: reader.read() as u32,\n max_block_number: reader.read_struct(MaxBlockNumber::deserialize),\n note_hash_read_requests: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL]),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_key_validation_requests: reader.read_struct_array(NullifierKeyValidationRequest::deserialize, [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n private_call_stack_hashes: reader.read_array([0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n encrypted_logs_hashes: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_ENCRYPTED_LOGS_PER_CALL]),\n unencrypted_logs_hashes: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n encrypted_log_preimages_length: reader.read(),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n tx_context: reader.read_struct(TxContext::deserialize),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PrivateCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PrivateCircuitPublicInputs {\n fn empty() -> Self {\n PrivateCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n min_revertible_side_effect_counter: 0 as u32,\n max_block_number: MaxBlockNumber::empty(),\n note_hash_read_requests: [SideEffect::empty(); MAX_NOTE_HASH_READ_REQUESTS_PER_CALL],\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_key_validation_requests: [NullifierKeyValidationRequest::empty(); MAX_NULLIFIER_KEY_VALIDATION_REQUESTS_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n private_call_stack_hashes: [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter : 0 as u32,\n end_side_effect_counter : 0 as u32,\n encrypted_logs_hashes: [SideEffect::empty(); MAX_ENCRYPTED_LOGS_PER_CALL],\n unencrypted_logs_hashes: [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n encrypted_log_preimages_length: 0,\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n tx_context: TxContext::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PrivateCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PrivateCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PrivateCircuitPublicInputs::empty();\n let hash = inputs.hash();\n // Value from private_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x29129c06414f4ac73bf889692c7011f91727d4cdbfe4fe143e6adee69b565cc8;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr" }, "196": { "source": "use crate::{\n abis::side_effect::{Ordered, OrderedValue}, address::AztecAddress, constants::NULLIFIER_LENGTH,\n traits::{Empty, Hash, Serialize, Deserialize}\n};\n\nstruct Nullifier {\n value: Field,\n counter: u32,\n note_hash: Field,\n}\n\nimpl Ordered for Nullifier {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for Nullifier {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for Nullifier {\n fn eq(self, other: Nullifier) -> bool {\n (self.value == other.value)\n & (self.counter == other.counter)\n & (self.note_hash == other.note_hash) \n }\n}\n\nimpl Empty for Nullifier {\n fn empty() -> Self {\n Nullifier {\n value: 0,\n counter: 0,\n note_hash: 0,\n }\n }\n}\n\nimpl Serialize<NULLIFIER_LENGTH> for Nullifier {\n fn serialize(self) -> [Field; NULLIFIER_LENGTH] {\n [self.value, self.counter as Field, self.note_hash]\n }\n}\n\nimpl Deserialize<NULLIFIER_LENGTH> for Nullifier {\n fn deserialize(values: [Field; NULLIFIER_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n note_hash: values[2],\n }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/nullifier.nr" }, "198": { "source": "use crate::{constants::MAX_BLOCK_NUMBER_LENGTH, traits::{Deserialize, Serialize, Empty}};\n\nstruct MaxBlockNumber {\n _opt: Option<u32>\n}\n\nimpl Empty for MaxBlockNumber {\n fn empty() -> Self {\n Self { _opt: Option::none() }\n }\n}\n\nimpl Eq for MaxBlockNumber {\n fn eq(self, other: Self) -> bool {\n self._opt == other._opt\n }\n}\n\nimpl Serialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn serialize(self) -> [Field; MAX_BLOCK_NUMBER_LENGTH] {\n [self._opt._is_some as Field, self._opt._value as Field]\n }\n}\n\nimpl Deserialize<MAX_BLOCK_NUMBER_LENGTH> for MaxBlockNumber {\n fn deserialize(serialized: [Field; MAX_BLOCK_NUMBER_LENGTH]) -> MaxBlockNumber {\n MaxBlockNumber {\n _opt: Option {\n _is_some: serialized[0] as bool,\n _value: serialized[1] as u32,\n }\n }\n }\n}\n\nimpl MaxBlockNumber {\n pub fn new(max_block_number: u32) -> Self {\n Self { _opt: Option::some(max_block_number) }\n }\n\n pub fn is_none(self) -> bool {\n self._opt.is_none()\n }\n\n pub fn is_some(self) -> bool {\n self._opt.is_some()\n }\n\n pub fn unwrap(self) -> u32 {\n self._opt.unwrap()\n }\n\n pub fn unwrap_unchecked(self) -> u32 {\n self._opt.unwrap_unchecked()\n }\n\n pub fn min(lhs: MaxBlockNumber, rhs: MaxBlockNumber) -> MaxBlockNumber {\n if rhs.is_none() {\n lhs // lhs might also be none, but in that case both would be\n } else {\n MaxBlockNumber::min_with_u32(lhs, rhs.unwrap_unchecked())\n }\n }\n\n pub fn min_with_u32(lhs: MaxBlockNumber, rhs: u32) -> MaxBlockNumber {\n if lhs._opt.is_none() {\n MaxBlockNumber::new(rhs)\n } else {\n let lhs_value = lhs._opt.unwrap_unchecked();\n\n MaxBlockNumber::new(if lhs_value < rhs { lhs_value } else { rhs })\n }\n }\n}\n\n#[test]\nfn zeroed_is_none() {\n // Large parts of the kernel rely on zeroed to initialize structs. This conveniently matches what `default` does,\n // and though we should eventually move everything to use `default`, it's good to check for now that both are\n // equivalent.\n let a = MaxBlockNumber::empty();\n assert(a.is_none());\n}\n\n#[test]\nfn serde_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert(b.is_none());\n}\n\n#[test]\nfn serde_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::deserialize(a.serialize());\n assert_eq(b.unwrap(), 13);\n}\n\n#[test(should_fail)]\nfn default_unwrap_panics() {\n let a = MaxBlockNumber::empty();\n let _ = a.unwrap();\n}\n\n#[test]\nfn min_default_default() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::empty();\n\n assert(MaxBlockNumber::min(a, b).is_none());\n}\n\n#[test]\nfn min_default_some() {\n let a = MaxBlockNumber::empty();\n let b = MaxBlockNumber::new(13);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_some_some() {\n let a = MaxBlockNumber::new(13);\n let b = MaxBlockNumber::new(42);\n\n assert_eq(MaxBlockNumber::min(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min(b, a).unwrap(), 13);\n}\n\n#[test]\nfn min_with_u32_default() {\n let a = MaxBlockNumber::empty();\n let b = 42;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 42);\n}\n\n#[test]\nfn min_with_u32_some() {\n let a = MaxBlockNumber::new(13);\n let b = 42;\n let c = 8;\n\n assert_eq(MaxBlockNumber::min_with_u32(a, b).unwrap(), 13);\n assert_eq(MaxBlockNumber::min_with_u32(a, c).unwrap(), 8);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/max_block_number.nr" }, "199": { "source": "use crate::{\n address::AztecAddress, constants::GENERATOR_INDEX__SIDE_EFFECT,\n traits::{Empty, Hash, Serialize, Deserialize}, constants::SIDE_EFFECT_LENGTH\n};\nuse dep::std::cmp::Eq;\n\ntrait Ordered {\n fn counter(self) -> u32;\n}\n\ntrait OrderedValue<T> where T: Eq {\n fn value(self) -> T;\n fn counter(self) -> u32;\n}\n\ntrait ContractScopedOrderedValue<T> where T: Eq {\n fn value(self) -> T;\n fn counter(self) -> u32;\n fn contract_address(self) -> AztecAddress;\n}\n\nstruct SideEffect {\n value: Field,\n counter: u32,\n}\n\nimpl Ordered for SideEffect {\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl OrderedValue<Field> for SideEffect {\n fn value(self) -> Field {\n self.value\n }\n fn counter(self) -> u32 {\n self.counter\n }\n}\n\nimpl Eq for SideEffect {\n fn eq(self, side_effect: SideEffect) -> bool {\n (self.value == side_effect.value)\n & (self.counter == side_effect.counter)\n }\n}\n\nimpl Empty for SideEffect {\n fn empty() -> Self {\n SideEffect {\n value: 0,\n counter: 0,\n }\n }\n}\n\nimpl Hash for SideEffect {\n fn hash(self) -> Field {\n dep::std::hash::pedersen_hash_with_separator(\n self.serialize() , GENERATOR_INDEX__SIDE_EFFECT)\n }\n}\n\nimpl Serialize<SIDE_EFFECT_LENGTH> for SideEffect {\n fn serialize(self) -> [Field; SIDE_EFFECT_LENGTH] {\n [self.value, self.counter as Field]\n }\n}\n\nimpl Deserialize<SIDE_EFFECT_LENGTH> for SideEffect {\n fn deserialize(values: [Field; SIDE_EFFECT_LENGTH]) -> Self {\n Self {\n value: values[0],\n counter: values[1] as u32,\n }\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/side_effect.nr" }, "201": { "source": "use crate::{\n abis::function_selector::FunctionSelector, address::{EthAddress, AztecAddress},\n constants::GAS_FEES_LENGTH, hash::pedersen_hash, traits::{Deserialize, Hash, Serialize, Empty},\n abis::side_effect::Ordered, utils::reader::Reader\n};\n\nstruct GasFees {\n fee_per_da_gas: Field,\n fee_per_l2_gas: Field,\n}\n\nimpl GasFees {\n pub fn new(fee_per_da_gas: Field, fee_per_l2_gas: Field) -> Self {\n Self { fee_per_da_gas, fee_per_l2_gas }\n }\n\n pub fn default() -> Self {\n GasFees::new(1, 1)\n }\n\n pub fn is_empty(self) -> bool {\n (self.fee_per_da_gas == 0) & (self.fee_per_l2_gas == 0)\n }\n}\n\nimpl Serialize<GAS_FEES_LENGTH> for GasFees {\n fn serialize(self) -> [Field; GAS_FEES_LENGTH] {\n [self.fee_per_da_gas, self.fee_per_l2_gas]\n }\n}\n\nimpl Deserialize<GAS_FEES_LENGTH> for GasFees {\n fn deserialize(serialized: [Field; GAS_FEES_LENGTH]) -> GasFees {\n GasFees::new(serialized[0], serialized[1])\n }\n}\n\nimpl Eq for GasFees {\n fn eq(self, other : GasFees) -> bool {\n (self.fee_per_da_gas == other.fee_per_da_gas) & (self.fee_per_l2_gas == other.fee_per_l2_gas)\n }\n}\n\nimpl Empty for GasFees {\n fn empty() -> Self {\n GasFees::new(0, 0)\n }\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/gas_fees.nr" }, "203": { "source": "use crate::{\n abis::{\n call_context::CallContext, note_hash::NoteHash, nullifier::Nullifier, read_request::ReadRequest,\n side_effect::SideEffect, gas::Gas, global_variables::GlobalVariables\n},\n address::AztecAddress,\n constants::{\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL, MAX_NEW_NULLIFIERS_PER_CALL, MAX_NEW_NOTE_HASHES_PER_CALL,\n MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL, MAX_PUBLIC_DATA_READS_PER_CALL,\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH, MAX_UNENCRYPTED_LOGS_PER_CALL\n},\n contrakt::{storage_read::StorageRead, storage_update_request::StorageUpdateRequest},\n hash::pedersen_hash, header::Header, messaging::l2_to_l1_message::L2ToL1Message,\n traits::{Hash, Serialize, Deserialize, Empty}, utils::reader::Reader\n};\n\nstruct PublicCircuitPublicInputs {\n call_context: CallContext,\n\n args_hash: Field,\n returns_hash: Field,\n\n nullifier_read_requests: [ReadRequest; MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest; MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\n\n // todo: add sideeffect ranges for the input to these hashes\n public_call_stack_hashes: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash; MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier; MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n\n start_side_effect_counter: u32,\n end_side_effect_counter: u32,\n\n unencrypted_logs_hashes: [SideEffect; MAX_UNENCRYPTED_LOGS_PER_CALL],\n\n // Here so that the gas cost of this request can be measured by circuits, without actually needing to feed in the\n // variable-length data.\n unencrypted_log_preimages_length: Field,\n\n // Header of a block whose state is used during public execution. Set by sequencer to be a header of a block\n // previous to the one in which the tx is included.\n historical_header: Header,\n\n // Global variables injected into this circuit\n global_variables: GlobalVariables,\n\n prover_address: AztecAddress,\n\n revert_code: u8,\n \n start_gas_left: Gas,\n end_gas_left: Gas,\n transaction_fee: Field,\n}\n\nimpl Eq for PublicCircuitPublicInputs {\n fn eq(self, other: Self) -> bool {\n self.serialize() == other.serialize()\n }\n}\n\nimpl Serialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new();\n fields.extend_from_array(self.call_context.serialize());\n fields.push(self.args_hash);\n fields.push(self.returns_hash);\n for i in 0..MAX_NULLIFIER_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_read_requests[i].serialize());\n }\n for i in 0..MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL {\n fields.extend_from_array(self.nullifier_non_existent_read_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\n fields.extend_from_array(self.contract_storage_update_requests[i].serialize());\n }\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\n fields.extend_from_array(self.contract_storage_reads[i].serialize());\n }\n fields.extend_from_array(self.public_call_stack_hashes);\n\n for i in 0..MAX_NEW_NOTE_HASHES_PER_CALL {\n fields.extend_from_array(self.new_note_hashes[i].serialize());\n }\n for i in 0..MAX_NEW_NULLIFIERS_PER_CALL {\n fields.extend_from_array(self.new_nullifiers[i].serialize());\n }\n for i in 0..MAX_NEW_L2_TO_L1_MSGS_PER_CALL {\n fields.extend_from_array(self.new_l2_to_l1_msgs[i].serialize());\n }\n\n fields.push(self.start_side_effect_counter as Field);\n fields.push(self.end_side_effect_counter as Field);\n\n for i in 0..MAX_UNENCRYPTED_LOGS_PER_CALL{\n fields.extend_from_array(self.unencrypted_logs_hashes[i].serialize());\n }\n fields.push(self.unencrypted_log_preimages_length);\n fields.extend_from_array(self.historical_header.serialize());\n fields.extend_from_array(self.global_variables.serialize());\n fields.push(self.prover_address.to_field());\n fields.push(self.revert_code as Field);\n fields.extend_from_array(self.start_gas_left.serialize());\n fields.extend_from_array(self.end_gas_left.serialize());\n fields.push(self.transaction_fee);\n fields.storage\n }\n}\n\nimpl Deserialize<PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> for PublicCircuitPublicInputs {\n fn deserialize(serialized: [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n let inputs = PublicCircuitPublicInputs {\n call_context: reader.read_struct(CallContext::deserialize),\n args_hash: reader.read(),\n returns_hash: reader.read(),\n nullifier_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL]),\n nullifier_non_existent_read_requests: reader.read_struct_array(ReadRequest::deserialize, [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL]),\n contract_storage_update_requests: reader.read_struct_array(StorageUpdateRequest::deserialize, [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL]),\n contract_storage_reads: reader.read_struct_array(StorageRead::deserialize, [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL]),\n public_call_stack_hashes: reader.read_array([0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL]),\n new_note_hashes: reader.read_struct_array(NoteHash::deserialize, [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL]),\n new_nullifiers: reader.read_struct_array(Nullifier::deserialize, [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL]),\n new_l2_to_l1_msgs: reader.read_struct_array(L2ToL1Message::deserialize, [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL]),\n start_side_effect_counter: reader.read() as u32,\n end_side_effect_counter: reader.read() as u32,\n unencrypted_logs_hashes: reader.read_struct_array(SideEffect::deserialize, [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL]),\n unencrypted_log_preimages_length: reader.read(),\n historical_header: reader.read_struct(Header::deserialize),\n global_variables: reader.read_struct(GlobalVariables::deserialize),\n prover_address: reader.read_struct(AztecAddress::deserialize),\n revert_code: reader.read() as u8,\n start_gas_left: reader.read_struct(Gas::deserialize),\n end_gas_left: reader.read_struct(Gas::deserialize),\n transaction_fee: reader.read(),\n };\n\n reader.finish();\n inputs\n }\n}\n\nimpl Hash for PublicCircuitPublicInputs {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)\n }\n}\n\nimpl Empty for PublicCircuitPublicInputs {\n fn empty() -> Self {\n PublicCircuitPublicInputs {\n call_context: CallContext::empty(),\n args_hash: 0,\n returns_hash: 0,\n nullifier_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_READ_REQUESTS_PER_CALL],\n nullifier_non_existent_read_requests: [ReadRequest::empty(); MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL],\n contract_storage_update_requests: [StorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\n contract_storage_reads: [StorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\n public_call_stack_hashes: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\n new_note_hashes: [NoteHash::empty(); MAX_NEW_NOTE_HASHES_PER_CALL],\n new_nullifiers: [Nullifier::empty(); MAX_NEW_NULLIFIERS_PER_CALL],\n new_l2_to_l1_msgs: [L2ToL1Message::empty(); MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\n start_side_effect_counter: 0 as u32,\n end_side_effect_counter: 0 as u32,\n unencrypted_logs_hashes: [SideEffect::empty(); MAX_UNENCRYPTED_LOGS_PER_CALL],\n unencrypted_log_preimages_length: 0,\n historical_header: Header::empty(),\n global_variables: GlobalVariables::empty(),\n prover_address: AztecAddress::zero(),\n revert_code: 0 as u8,\n start_gas_left: Gas::empty(),\n end_gas_left: Gas::empty(),\n transaction_fee: 0,\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let pcpi = PublicCircuitPublicInputs::empty();\n let serialized = pcpi.serialize();\n let deserialized = PublicCircuitPublicInputs::deserialize(serialized);\n assert(pcpi.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let inputs = PublicCircuitPublicInputs::empty();\n let hash = inputs.hash();\n\n // Value from public_circuit_public_inputs.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x1a2da219bb2e3ac24519fd844365c4f656fc3ba8c58f2960706d25bceb4d1769;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/public_circuit_public_inputs.nr" }, "204": { "source": "use dep::std::cmp::Eq;\n\nstruct AppendOnlyTreeSnapshot {\n root : Field,\n // TODO(Alvaro) change this to a u64\n next_available_leaf_index : u32\n}\n\nglobal APPEND_ONLY_TREE_SNAPSHOT_LENGTH: u64 = 2;\n\nimpl AppendOnlyTreeSnapshot {\n pub fn serialize(self) -> [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH] {\n [self.root, self.next_available_leaf_index as Field]\n }\n\n pub fn deserialize(serialized: [Field; APPEND_ONLY_TREE_SNAPSHOT_LENGTH]) -> AppendOnlyTreeSnapshot {\n AppendOnlyTreeSnapshot { root: serialized[0], next_available_leaf_index: serialized[1] as u32 }\n }\n\n pub fn zero() -> Self {\n Self { root: 0, next_available_leaf_index: 0 }\n }\n}\n\nimpl Eq for AppendOnlyTreeSnapshot {\n fn eq(self, other : AppendOnlyTreeSnapshot) -> bool {\n (self.root == other.root) & (self.next_available_leaf_index == other.next_available_leaf_index)\n }\n}", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/abis/append_only_tree_snapshot.nr" }, "207": { "source": "use crate::address::{AztecAddress, EthAddress};\nuse crate::mocked::VerificationKey;\nuse crate::abis::function_selector::FunctionSelector;\nuse crate::abis::contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage;\nuse crate::contract_class_id::ContractClassId;\nuse crate::abis::side_effect::SideEffect;\nuse crate::traits::is_empty;\nuse crate::utils::{uint256::U256, field::field_from_bytes_32_trunc};\nuse crate::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};\nuse crate::traits::Hash;\nuse crate::messaging::l2_to_l1_message::L2ToL1Message;\nuse crate::merkle_tree::root::root_from_sibling_path;\nuse dep::std::hash::{pedersen_hash_with_separator, sha256};\n\npub fn sha256_to_field<N>(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\npub fn silo_note_hash(address: AztecAddress, inner_commitment: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n inner_commitment\n ],\n GENERATOR_INDEX__SILOED_NOTE_HASH\n )\n}\n\npub fn silo_nullifier(address: AztecAddress, nullifier: Field) -> Field {\n pedersen_hash(\n [\n address.to_field(),\n nullifier\n ],\n GENERATOR_INDEX__OUTER_NULLIFIER\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 rollup_version_id: Field,\n chain_id: Field,\n message: L2ToL1Message\n) -> Field {\n let mut bytes: BoundedVec<u8, 160> = BoundedVec::new();\n\n let inputs = [\n contract_address.to_field(), rollup_version_id, message.recipient.to_field(), chain_id, message.content\n ];\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\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\npub fn compute_tx_logs_hash<MAX_ENCRYPTED_LOGS_PER_TX>(logs: [SideEffect; MAX_ENCRYPTED_LOGS_PER_TX]) -> Field {\n // TODO(Miranda): Below is flat hashing which would reduce constraints (we now only hash once in tail) - convert to this?\n\n // // Convert each field element into a byte array and append the bytes to `hash_input_flattened`\n // // Ideally we would define a new global here but for now we assert in case MAX_LOGS changes\n // assert(MAX_ENCRYPTED_LOGS_PER_TX * 32 == 256);\n // let mut hash_input_flattened = [0; 256];\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 // // This differs from accumulate_sha256 as we could increase MAX_LOGS and\n // // ideally we would push to a slice then hash, but in practice compilation was very slow\n // // Hardcode to 256 bytes for now\n // sha256_to_field(hash_input_flattened)\n\n // Assuming logs are pre-sorted\n let mut accumulated_logs_hash = 0;\n for i in 0..MAX_ENCRYPTED_LOGS_PER_TX {\n if !is_empty(logs[i]) {\n accumulated_logs_hash = accumulate_sha256([accumulated_logs_hash, logs[i].value]);\n }\n }\n\n accumulated_logs_hash\n}\n\npub fn compute_note_hash_nonce(first_nullifier: Field, commitment_index: u64) -> Field {\n pedersen_hash(\n [\n first_nullifier,\n commitment_index as Field\n ],\n GENERATOR_INDEX__NOTE_HASH_NONCE\n )\n}\n\npub fn compute_unique_siloed_note_hash(nonce: Field, siloed_note_hash: Field) -> Field {\n pedersen_hash(\n [\n nonce,\n siloed_note_hash\n ],\n GENERATOR_INDEX__UNIQUE_NOTE_HASH\n )\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<N>(inputs: [Field; N]) -> Field {\n dep::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), 0, 0, L2ToL1Message::empty());\n assert(hash_result == 0xb393978842a0fa3d3e1470196f098f473f9678e72463cb65ec4ab5581856c2);\n\n // Non-zero case\n let message = L2ToL1Message { recipient: EthAddress::from_field(3), content: 5 };\n let hash_result = compute_l2_to_l1_hash(AztecAddress::from_field(1), 2, 4, message);\n assert(hash_result == 0x3f88c1044a05e5340ed20466276500f6d45ca5603913b9091e957161734e16);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr" }, "208": { "source": "use crate::{\n constants::CONTENT_COMMITMENT_LENGTH, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct ContentCommitment {\n tx_tree_height: Field,\n txs_effects_hash: Field,\n in_hash: Field,\n out_hash: Field,\n}\n\nimpl Serialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn serialize(self) -> [Field; CONTENT_COMMITMENT_LENGTH] {\n let mut fields: BoundedVec<Field, CONTENT_COMMITMENT_LENGTH> = BoundedVec::new();\n\n fields.push(self.tx_tree_height);\n fields.push(self.txs_effects_hash);\n fields.push(self.in_hash);\n fields.push(self.out_hash);\n\n fields.storage\n }\n}\n\nimpl Deserialize<CONTENT_COMMITMENT_LENGTH> for ContentCommitment {\n fn deserialize(serialized: [Field; CONTENT_COMMITMENT_LENGTH]) -> Self {\n let tx_tree_height = serialized[0];\n\n let txs_effects_hash = serialized[1];\n\n let in_hash = serialized[2];\n\n let out_hash = serialized[3];\n\n Self {\n tx_tree_height,\n txs_effects_hash,\n in_hash,\n out_hash,\n }\n }\n}\n\nimpl Empty for ContentCommitment {\n fn empty() -> Self {\n Self {\n tx_tree_height: 0,\n txs_effects_hash: 0,\n in_hash: 0,\n out_hash: 0,\n }\n }\n}\n\nimpl Eq for ContentCommitment {\n fn eq(self, other: Self) -> bool {\n (self.tx_tree_height == other.tx_tree_height)\n & (self.txs_effects_hash == other.txs_effects_hash)\n & (self.in_hash == other.in_hash)\n & (self.out_hash == other.out_hash)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let empty = ContentCommitment::empty();\n let serialized = empty.serialize();\n let deserialized = ContentCommitment::deserialize(serialized);\n\n assert(empty.eq(deserialized));\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/content_commitment.nr" }, "214": { "source": "use crate::{\n constants::{GENERATOR_INDEX__TX_CONTEXT, TX_CONTEXT_LENGTH}, hash::pedersen_hash,\n traits::{Deserialize, Hash, Serialize, Empty}, utils::reader::Reader,\n abis::gas_settings::GasSettings\n};\n\n// docs:start:tx-context\nstruct TxContext {\n chain_id : Field,\n version : Field,\n gas_settings: GasSettings,\n}\n// docs:end:tx-context\n\nimpl TxContext {\n pub fn new(chain_id: Field, version: Field, gas_settings: GasSettings) -> Self {\n TxContext { chain_id, version, gas_settings }\n }\n}\n\nimpl Eq for TxContext {\n fn eq(self, other: Self) -> bool {\n (self.chain_id == other.chain_id) &\n (self.version == other.version) &\n (self.gas_settings.eq(other.gas_settings))\n }\n}\n\nimpl Empty for TxContext {\n fn empty() -> Self {\n TxContext {\n chain_id: 0,\n version: 0,\n gas_settings: GasSettings::empty(),\n }\n }\n}\n\nimpl Serialize<TX_CONTEXT_LENGTH> for TxContext {\n fn serialize(self) -> [Field; TX_CONTEXT_LENGTH] {\n let mut fields: BoundedVec<Field, TX_CONTEXT_LENGTH> = BoundedVec::new();\n\n fields.push(self.chain_id);\n fields.push(self.version);\n fields.extend_from_array(self.gas_settings.serialize());\n\n assert_eq(fields.len(), TX_CONTEXT_LENGTH);\n\n fields.storage\n }\n}\n\nimpl Deserialize<TX_CONTEXT_LENGTH> for TxContext {\n fn deserialize(serialized: [Field; TX_CONTEXT_LENGTH]) -> Self {\n // TODO(#4390): This should accept a reader ^ to avoid copying data.\n let mut reader = Reader::new(serialized);\n\n let context = Self {\n chain_id: reader.read(),\n version: reader.read(),\n gas_settings: reader.read_struct(GasSettings::deserialize),\n };\n\n reader.finish();\n context\n }\n}\n\nimpl Hash for TxContext {\n fn hash(self) -> Field {\n pedersen_hash(self.serialize(), GENERATOR_INDEX__TX_CONTEXT)\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let context = TxContext::empty();\n let serialized = context.serialize();\n let deserialized = TxContext::deserialize(serialized);\n assert(context.eq(deserialized));\n}\n\n#[test]\nfn empty_hash() {\n let context = TxContext::empty();\n let hash = context.hash();\n\n // Value from tx_context.test.ts \"computes empty item hash\" test\n let test_data_empty_hash = 0x17e4357684c5a4349b4587c95b0b6161dcb4a3c5b02d4eb2ecc3b02c80193261;\n assert_eq(hash, test_data_empty_hash);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/transaction/tx_context.nr" }, "217": { "source": "use crate::{\n abis::append_only_tree_snapshot::{AppendOnlyTreeSnapshot, APPEND_ONLY_TREE_SNAPSHOT_LENGTH},\n constants::{PARTIAL_STATE_REFERENCE_LENGTH, STATE_REFERENCE_LENGTH},\n partial_state_reference::PartialStateReference, traits::{Deserialize, Empty, Hash, Serialize},\n utils::arr_copy_slice\n};\n\nstruct StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot,\n partial: PartialStateReference,\n}\n\nimpl Eq for StateReference {\n fn eq(self, other: StateReference) -> bool {\n self.l1_to_l2_message_tree.eq(other.l1_to_l2_message_tree) &\n self.partial.eq(other.partial)\n }\n}\n\nimpl Serialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn serialize(self) -> [Field; STATE_REFERENCE_LENGTH] {\n let mut fields: BoundedVec<Field, STATE_REFERENCE_LENGTH> = BoundedVec::new();\n\n fields.extend_from_array(self.l1_to_l2_message_tree.serialize());\n fields.extend_from_array(self.partial.serialize());\n\n fields.storage\n }\n}\n\nimpl Deserialize<STATE_REFERENCE_LENGTH> for StateReference {\n fn deserialize(serialized: [Field; STATE_REFERENCE_LENGTH]) -> StateReference {\n let mut offset = 0;\n\n let l1_to_l2_message_tree_fields = arr_copy_slice(serialized, [0; APPEND_ONLY_TREE_SNAPSHOT_LENGTH], offset);\n offset = offset + APPEND_ONLY_TREE_SNAPSHOT_LENGTH;\n\n let partial_fields = arr_copy_slice(serialized, [0; PARTIAL_STATE_REFERENCE_LENGTH], offset);\n\n StateReference {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::deserialize(l1_to_l2_message_tree_fields),\n partial: PartialStateReference::deserialize(partial_fields),\n }\n }\n}\n\nimpl Empty for StateReference {\n fn empty() -> Self {\n Self {\n l1_to_l2_message_tree: AppendOnlyTreeSnapshot::zero(),\n partial: PartialStateReference::empty(),\n }\n }\n}\n\n#[test]\nfn serialization_of_empty() {\n let state = StateReference::empty();\n let _serialized = state.serialize();\n let _deserialized = StateReference::deserialize(_serialized);\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/state_reference.nr" }, "218": { "source": "// general util packages/modules are usually bad practice\n// because there is no criteria for what we should not put in here.\n// Reducing the size of this package would be welcome.\n\nmod arrays;\nmod field;\nmod reader;\nmod uint256;\n\n// if predicate == true then return lhs, else return rhs\npub fn conditional_assign(predicate: bool, lhs: Field, rhs: Field) -> Field {\n if predicate { lhs } else { rhs }\n}\n\npub fn arr_copy_slice<T, N, M>(src: [T; N], mut dst: [T; M], offset: u64) -> [T; M] {\n for i in 0..dst.len() {\n dst[i] = src[i + offset];\n }\n dst\n}\n", "path": "/usr/src/noir-projects/noir-protocol-circuits/crates/types/src/utils.nr" }, "323": { "source": "// An entrypoint contract that allows everything to go through. Only used for testing\n// Pair this with SignerlessWallet to perform multiple actions before any account contracts are deployed (and without authentication)\ncontract MultiCallEntrypoint {\n use dep::std;\n\n use dep::aztec::prelude::AztecAddress;\n use dep::authwit::entrypoint::app::AppPayload;\n\n #[aztec(private)]\n fn entrypoint(app_payload: pub AppPayload) {\n app_payload.execute_calls(&mut context);\n }\n}\n", "path": "/usr/src/noir-projects/noir-contracts/contracts/multi_call_entrypoint_contract/src/main.nr" } } }