diff --git a/rustdoc/help.html b/rustdoc/help.html index 5f6a6e11c2..5b57a161fa 100644 --- a/rustdoc/help.html +++ b/rustdoc/help.html @@ -1 +1 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Freeze.js b/rustdoc/implementors/core/marker/trait.Freeze.js index eed489a503..dbefaf7075 100644 --- a/rustdoc/implementors/core/marker/trait.Freeze.js +++ b/rustdoc/implementors/core/marker/trait.Freeze.js @@ -14,7 +14,7 @@ "mina_signer":[["impl Freeze for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl Freeze for Keypair",1,["mina_signer::keypair::Keypair"]],["impl Freeze for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl Freeze for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl Freeze for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> Freeze for Schnorr<H>where\n <H as Hashable>::D: Freeze,",1,["mina_signer::schnorr::Schnorr"]],["impl Freeze for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl Freeze for SecKey",1,["mina_signer::seckey::SecKey"]],["impl Freeze for Signature",1,["mina_signer::signature::Signature"]],["impl Freeze for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> Freeze for Sparse<F, N, D>",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> Freeze for Dense<F, N, D>",1,["mvpoly::prime::Dense"]],["impl Freeze for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> Freeze for AdjacentPairs<A, I>where\n A: Freeze,\n I: Freeze,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> Freeze for ChunkedEvaluations<F>",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> Freeze for ChunkedPolynomial<F>",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl Freeze for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> Freeze for ForeignElement<F, B, N>where\n F: Freeze,",1,["o1_utils::foreign_field::ForeignElement"]],["impl Freeze for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl Freeze for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl Freeze for Page",1,["o1vm::cannon::Page"]],["impl Freeze for State",1,["o1vm::cannon::State"]],["impl Freeze for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Freeze for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Freeze for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Freeze for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Freeze for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Freeze for Start",1,["o1vm::cannon::Start"]],["impl Freeze for Symbol",1,["o1vm::cannon::Symbol"]],["impl Freeze for Meta",1,["o1vm::cannon::Meta"]],["impl Freeze for Preimage",1,["o1vm::cannon::Preimage"]],["impl Freeze for Hint",1,["o1vm::cannon::Hint"]],["impl Freeze for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Freeze for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Freeze for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Freeze for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Freeze for Commands",1,["o1vm::cli::Commands"]],["impl Freeze for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Freeze for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Freeze for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Freeze for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Freeze for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Freeze for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Freeze for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Freeze for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Freeze for Env<Fp>",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Freeze for KeccakEnv<F>where\n F: Freeze,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Freeze for Env<F>",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Freeze for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Freeze for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Freeze for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Freeze for Env<Fp>where\n Fp: Freeze,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Freeze for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Freeze for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Freeze for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Freeze for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Freeze for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Freeze for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Freeze for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Freeze for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Freeze for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Freeze for Registers<T>where\n T: Freeze,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Freeze for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Freeze for Env<Fp, PreImageOracle>where\n Fp: Freeze,\n PreImageOracle: Freeze,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Freeze for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Freeze for Env<F>where\n F: Freeze,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Freeze for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Freeze for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Freeze for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Freeze for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Freeze for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Freeze for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Freeze for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Freeze for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Freeze for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Freeze for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Freeze for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Freeze for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Freeze for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Freeze for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Freeze for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Freeze for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Freeze for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Freeze for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Freeze for Registers<T>where\n T: Freeze,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Freeze for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Freeze for Env<Fp>where\n Fp: Freeze,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Freeze for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Freeze for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Freeze for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Freeze for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> Freeze for FoldingInstance<N, G>where\n G: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Freeze for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> Freeze for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: Freeze,\n <C as FoldingConfig>::Curve: Freeze,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> Freeze for FoldingEnvironment<N, C, Structure>where\n Structure: Freeze,\n <C as FoldingConfig>::Curve: Freeze,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Freeze for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Freeze for DecomposedTrace<N, C>",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Freeze for ColumnEnvironment<'a, F>where\n F: Freeze,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Freeze for WitnessColumns<G, S>where\n G: Freeze,\n S: Freeze,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Freeze for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Freeze for Proof<G>where\n G: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["o1vm::pickles::proof::Proof"]],["impl Freeze for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Freeze for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Freeze for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Freeze for ReadWrite<R, W>where\n R: Freeze,\n W: Freeze,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Freeze for RW",1,["o1vm::preimage_oracle::RW"]],["impl Freeze for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Freeze for RAMLookup<T, ID>where\n ID: Freeze,\n T: Freeze,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl Freeze for Page",1,["o1vm::cannon::Page"]],["impl Freeze for State",1,["o1vm::cannon::State"]],["impl Freeze for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Freeze for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Freeze for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Freeze for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Freeze for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Freeze for Start",1,["o1vm::cannon::Start"]],["impl Freeze for Symbol",1,["o1vm::cannon::Symbol"]],["impl Freeze for Meta",1,["o1vm::cannon::Meta"]],["impl Freeze for Preimage",1,["o1vm::cannon::Preimage"]],["impl Freeze for Hint",1,["o1vm::cannon::Hint"]],["impl Freeze for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Freeze for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Freeze for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Freeze for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Freeze for Commands",1,["o1vm::cli::Commands"]],["impl Freeze for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Freeze for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Freeze for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Freeze for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Freeze for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Freeze for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Freeze for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Freeze for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Freeze for Env<Fp>",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Freeze for KeccakEnv<F>where\n F: Freeze,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Freeze for Env<F>",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Freeze for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Freeze for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Freeze for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Freeze for Env<Fp>where\n Fp: Freeze,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Freeze for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Freeze for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Freeze for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Freeze for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Freeze for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Freeze for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Freeze for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Freeze for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Freeze for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Freeze for Registers<T>where\n T: Freeze,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Freeze for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Freeze for Env<Fp, PreImageOracle>where\n Fp: Freeze,\n PreImageOracle: Freeze,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Freeze for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Freeze for Env<F>where\n F: Freeze,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Freeze for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Freeze for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Freeze for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Freeze for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Freeze for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Freeze for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Freeze for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Freeze for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Freeze for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Freeze for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Freeze for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Freeze for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Freeze for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Freeze for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Freeze for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Freeze for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Freeze for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Freeze for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Freeze for Registers<T>where\n T: Freeze,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Freeze for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Freeze for Env<Fp>where\n Fp: Freeze,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Freeze for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Freeze for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Freeze for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Freeze for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> Freeze for FoldingInstance<N, G>where\n G: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Freeze for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> Freeze for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: Freeze,\n <C as FoldingConfig>::Curve: Freeze,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> Freeze for FoldingEnvironment<N, C, Structure>where\n Structure: Freeze,\n <C as FoldingConfig>::Curve: Freeze,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Freeze,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Freeze for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Freeze for DecomposedTrace<N, C>",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Freeze for ColumnEnvironment<'a, F>where\n F: Freeze,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Freeze for WitnessColumns<G, S>where\n G: Freeze,\n S: Freeze,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Freeze for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Freeze for Proof<G>where\n G: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["o1vm::pickles::proof::Proof"]],["impl Freeze for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Freeze for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Freeze for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Freeze for ReadWrite<R, W>where\n R: Freeze,\n W: Freeze,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Freeze for RW",1,["o1vm::preimage_oracle::RW"]],["impl Freeze for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl Freeze for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Freeze for RAMLookup<T, ID>where\n ID: Freeze,\n T: Freeze,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> Freeze for CamlPolyComm<CamlG>where\n CamlG: Freeze,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> Freeze for PolyComm<C>",1,["poly_commitment::commitment::PolyComm"]],["impl<G> Freeze for BlindedCommitment<G>",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> Freeze for Evaluation<G>",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> Freeze for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl Freeze for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> Freeze for HashMapCache<Key, Value>",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> Freeze for CamlOpeningProof<G, F>where\n F: Freeze,\n G: Freeze,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> Freeze for SRS<G>where\n G: Freeze,",1,["poly_commitment::ipa::SRS"]],["impl<G> Freeze for OpeningProof<G>where\n G: Freeze,\n <G as AffineRepr>::ScalarField: Freeze,",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> Freeze for Challenges<F>",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> Freeze for KZGProof<Pair>where\n <Pair as Pairing>::G1Affine: Freeze,\n <Pair as Pairing>::ScalarField: Freeze,",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> Freeze for PairingSRS<Pair>where\n <Pair as Pairing>::G1Affine: Freeze,\n <Pair as Pairing>::G2Affine: Freeze,",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> Freeze for DensePolynomialOrEvaluations<'a, F, D>where\n D: Freeze,",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> Freeze for CairoMemory<F>",1,["turshi::memory::CairoMemory"]],["impl<F> Freeze for CairoState<F>where\n F: Freeze,",1,["turshi::runner::CairoState"]],["impl<F> Freeze for CairoContext<F>where\n F: Freeze,",1,["turshi::runner::CairoContext"]],["impl<F> Freeze for CairoInstruction<F>where\n F: Freeze,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> Freeze for CairoStep<'a, F>where\n F: Freeze,",1,["turshi::runner::CairoStep"]],["impl<'a, F> Freeze for CairoProgram<'a, F>where\n F: Freeze,",1,["turshi::runner::CairoProgram"]],["impl<F> Freeze for CairoWord<F>where\n F: Freeze,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Send.js b/rustdoc/implementors/core/marker/trait.Send.js index b6281c24dc..76012019b1 100644 --- a/rustdoc/implementors/core/marker/trait.Send.js +++ b/rustdoc/implementors/core/marker/trait.Send.js @@ -14,7 +14,7 @@ "mina_signer":[["impl Send for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl Send for Keypair",1,["mina_signer::keypair::Keypair"]],["impl Send for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl Send for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl Send for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> !Send for Schnorr<H>",1,["mina_signer::schnorr::Schnorr"]],["impl Send for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl Send for SecKey",1,["mina_signer::seckey::SecKey"]],["impl Send for Signature",1,["mina_signer::signature::Signature"]],["impl Send for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> Send for Sparse<F, N, D>",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> Send for Dense<F, N, D>",1,["mvpoly::prime::Dense"]],["impl Send for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> Send for AdjacentPairs<A, I>where\n A: Send,\n I: Send,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> Send for ChunkedEvaluations<F>",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> Send for ChunkedPolynomial<F>",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl Send for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> Send for ForeignElement<F, B, N>",1,["o1_utils::foreign_field::ForeignElement"]],["impl Send for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl Send for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl Send for Page",1,["o1vm::cannon::Page"]],["impl Send for State",1,["o1vm::cannon::State"]],["impl Send for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Send for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Send for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Send for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Send for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Send for Start",1,["o1vm::cannon::Start"]],["impl Send for Symbol",1,["o1vm::cannon::Symbol"]],["impl Send for Meta",1,["o1vm::cannon::Meta"]],["impl Send for Preimage",1,["o1vm::cannon::Preimage"]],["impl Send for Hint",1,["o1vm::cannon::Hint"]],["impl Send for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Send for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Send for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Send for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Send for Commands",1,["o1vm::cli::Commands"]],["impl Send for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Send for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Send for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Send for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Send for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Send for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Send for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Send for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Send for KeccakEnv<F>where\n F: Send,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Send for Env<F>where\n F: Send,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Send for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Send for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Send for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Send for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Send for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Send for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Send for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Send for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Send for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Send for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Send for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Send for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Send for Registers<T>where\n T: Send,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Send for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Send for Env<Fp, PreImageOracle>where\n Fp: Send,\n PreImageOracle: Send,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Send for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Send for Env<F>",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Send for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Send for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Send for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Send for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Send for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Send for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Send for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Send for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Send for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Send for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Send for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Send for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Send for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Send for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Send for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Send for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Send for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Send for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Send for Registers<T>where\n T: Send,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Send for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Send for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Send for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Send for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Send for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> !Send for FoldingInstance<N, G>",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Send for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> !Send for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> !Send for FoldingEnvironment<N, C, Structure>",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Send for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Send for DecomposedTrace<N, C>where\n <C as FoldingConfig>::Selector: Send,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Send for ColumnEnvironment<'a, F>",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Send for WitnessColumns<G, S>where\n G: Send,\n S: Send,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Send for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Send for Proof<G>",1,["o1vm::pickles::proof::Proof"]],["impl Send for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Send for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Send for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Send for ReadWrite<R, W>where\n R: Send,\n W: Send,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Send for RW",1,["o1vm::preimage_oracle::RW"]],["impl Send for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Send for RAMLookup<T, ID>where\n T: Send,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl Send for Page",1,["o1vm::cannon::Page"]],["impl Send for State",1,["o1vm::cannon::State"]],["impl Send for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Send for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Send for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Send for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Send for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Send for Start",1,["o1vm::cannon::Start"]],["impl Send for Symbol",1,["o1vm::cannon::Symbol"]],["impl Send for Meta",1,["o1vm::cannon::Meta"]],["impl Send for Preimage",1,["o1vm::cannon::Preimage"]],["impl Send for Hint",1,["o1vm::cannon::Hint"]],["impl Send for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Send for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Send for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Send for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Send for Commands",1,["o1vm::cli::Commands"]],["impl Send for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Send for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Send for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Send for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Send for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Send for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Send for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Send for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Send for KeccakEnv<F>where\n F: Send,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Send for Env<F>where\n F: Send,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Send for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Send for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Send for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Send for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Send for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Send for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Send for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Send for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Send for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Send for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Send for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Send for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Send for Registers<T>where\n T: Send,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Send for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Send for Env<Fp, PreImageOracle>where\n Fp: Send,\n PreImageOracle: Send,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Send for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Send for Env<F>",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Send for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Send for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Send for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Send for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Send for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Send for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Send for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Send for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Send for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Send for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Send for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Send for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Send for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Send for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Send for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Send for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Send for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Send for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Send for Registers<T>where\n T: Send,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Send for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Send for Env<Fp>where\n Fp: Send,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Send for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Send for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Send for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Send for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> !Send for FoldingInstance<N, G>",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Send for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> !Send for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> !Send for FoldingEnvironment<N, C, Structure>",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Send for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Send for DecomposedTrace<N, C>where\n <C as FoldingConfig>::Selector: Send,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Send for ColumnEnvironment<'a, F>",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Send for WitnessColumns<G, S>where\n G: Send,\n S: Send,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Send for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Send for Proof<G>",1,["o1vm::pickles::proof::Proof"]],["impl Send for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Send for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Send for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Send for ReadWrite<R, W>where\n R: Send,\n W: Send,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Send for RW",1,["o1vm::preimage_oracle::RW"]],["impl Send for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl Send for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Send for RAMLookup<T, ID>where\n T: Send,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> Send for CamlPolyComm<CamlG>where\n CamlG: Send,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> Send for PolyComm<C>where\n C: Send,",1,["poly_commitment::commitment::PolyComm"]],["impl<G> Send for BlindedCommitment<G>",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> Send for Evaluation<G>",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> Send for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: Send,\n OpeningProof: Sync,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl Send for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> Send for HashMapCache<Key, Value>where\n Key: Send,\n Value: Send,",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> Send for CamlOpeningProof<G, F>where\n F: Send,\n G: Send,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> Send for SRS<G>where\n G: Send,",1,["poly_commitment::ipa::SRS"]],["impl<G> Send for OpeningProof<G>",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> Send for Challenges<F>where\n F: Send,",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> Send for KZGProof<Pair>",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> Send for PairingSRS<Pair>",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> Send for DensePolynomialOrEvaluations<'a, F, D>where\n D: Send,",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> Send for CairoMemory<F>where\n F: Send,",1,["turshi::memory::CairoMemory"]],["impl<F> Send for CairoState<F>where\n F: Send,",1,["turshi::runner::CairoState"]],["impl<F> Send for CairoContext<F>where\n F: Send,",1,["turshi::runner::CairoContext"]],["impl<F> Send for CairoInstruction<F>where\n F: Send,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> Send for CairoStep<'a, F>where\n F: Send,",1,["turshi::runner::CairoStep"]],["impl<'a, F> Send for CairoProgram<'a, F>where\n F: Send,",1,["turshi::runner::CairoProgram"]],["impl<F> Send for CairoWord<F>where\n F: Send,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Sync.js b/rustdoc/implementors/core/marker/trait.Sync.js index f3ed9212a4..bb2b578603 100644 --- a/rustdoc/implementors/core/marker/trait.Sync.js +++ b/rustdoc/implementors/core/marker/trait.Sync.js @@ -14,7 +14,7 @@ "mina_signer":[["impl Sync for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl Sync for Keypair",1,["mina_signer::keypair::Keypair"]],["impl Sync for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl Sync for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl Sync for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> !Sync for Schnorr<H>",1,["mina_signer::schnorr::Schnorr"]],["impl Sync for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl Sync for SecKey",1,["mina_signer::seckey::SecKey"]],["impl Sync for Signature",1,["mina_signer::signature::Signature"]],["impl Sync for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> Sync for Sparse<F, N, D>",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> Sync for Dense<F, N, D>",1,["mvpoly::prime::Dense"]],["impl Sync for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> Sync for AdjacentPairs<A, I>where\n A: Sync,\n I: Sync,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> Sync for ChunkedEvaluations<F>",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> Sync for ChunkedPolynomial<F>",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl Sync for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> Sync for ForeignElement<F, B, N>",1,["o1_utils::foreign_field::ForeignElement"]],["impl Sync for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl Sync for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl Sync for Page",1,["o1vm::cannon::Page"]],["impl Sync for State",1,["o1vm::cannon::State"]],["impl Sync for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Sync for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Sync for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Sync for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Sync for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Sync for Start",1,["o1vm::cannon::Start"]],["impl Sync for Symbol",1,["o1vm::cannon::Symbol"]],["impl Sync for Meta",1,["o1vm::cannon::Meta"]],["impl Sync for Preimage",1,["o1vm::cannon::Preimage"]],["impl Sync for Hint",1,["o1vm::cannon::Hint"]],["impl Sync for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Sync for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Sync for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Sync for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Sync for Commands",1,["o1vm::cli::Commands"]],["impl Sync for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Sync for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Sync for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Sync for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Sync for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Sync for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Sync for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Sync for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Sync for KeccakEnv<F>where\n F: Sync,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Sync for Env<F>where\n F: Sync,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Sync for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Sync for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Sync for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Sync for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Sync for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Sync for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Sync for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Sync for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Sync for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Sync for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Sync for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Sync for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Sync for Registers<T>where\n T: Sync,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Sync for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Sync for Env<Fp, PreImageOracle>where\n Fp: Sync,\n PreImageOracle: Sync,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Sync for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Sync for Env<F>",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Sync for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Sync for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Sync for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Sync for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Sync for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Sync for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Sync for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Sync for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Sync for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Sync for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Sync for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Sync for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Sync for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Sync for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Sync for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Sync for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Sync for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Sync for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Sync for Registers<T>where\n T: Sync,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Sync for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Sync for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Sync for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Sync for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Sync for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> !Sync for FoldingInstance<N, G>",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Sync for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> !Sync for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> !Sync for FoldingEnvironment<N, C, Structure>",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Sync for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Sync for DecomposedTrace<N, C>where\n <C as FoldingConfig>::Selector: Sync,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Sync for ColumnEnvironment<'a, F>",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Sync for WitnessColumns<G, S>where\n G: Sync,\n S: Sync,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Sync for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Sync for Proof<G>",1,["o1vm::pickles::proof::Proof"]],["impl Sync for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Sync for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Sync for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Sync for ReadWrite<R, W>where\n R: Sync,\n W: Sync,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Sync for RW",1,["o1vm::preimage_oracle::RW"]],["impl Sync for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Sync for RAMLookup<T, ID>where\n T: Sync,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl Sync for Page",1,["o1vm::cannon::Page"]],["impl Sync for State",1,["o1vm::cannon::State"]],["impl Sync for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Sync for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Sync for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Sync for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Sync for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Sync for Start",1,["o1vm::cannon::Start"]],["impl Sync for Symbol",1,["o1vm::cannon::Symbol"]],["impl Sync for Meta",1,["o1vm::cannon::Meta"]],["impl Sync for Preimage",1,["o1vm::cannon::Preimage"]],["impl Sync for Hint",1,["o1vm::cannon::Hint"]],["impl Sync for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Sync for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Sync for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Sync for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Sync for Commands",1,["o1vm::cli::Commands"]],["impl Sync for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Sync for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Sync for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Sync for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Sync for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Sync for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Sync for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Sync for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Sync for KeccakEnv<F>where\n F: Sync,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Sync for Env<F>where\n F: Sync,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Sync for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Sync for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Sync for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Sync for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Sync for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Sync for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Sync for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Sync for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Sync for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Sync for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Sync for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Sync for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Sync for Registers<T>where\n T: Sync,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Sync for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Sync for Env<Fp, PreImageOracle>where\n Fp: Sync,\n PreImageOracle: Sync,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Sync for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Sync for Env<F>",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Sync for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Sync for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Sync for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Sync for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Sync for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Sync for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Sync for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Sync for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Sync for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Sync for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Sync for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Sync for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Sync for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Sync for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Sync for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Sync for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Sync for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Sync for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Sync for Registers<T>where\n T: Sync,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Sync for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Sync for Env<Fp>where\n Fp: Sync,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Sync for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Sync for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Sync for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Sync for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> !Sync for FoldingInstance<N, G>",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Sync for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> !Sync for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> !Sync for FoldingEnvironment<N, C, Structure>",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Sync for Trace<N, C>",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Sync for DecomposedTrace<N, C>where\n <C as FoldingConfig>::Selector: Sync,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Sync for ColumnEnvironment<'a, F>",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Sync for WitnessColumns<G, S>where\n G: Sync,\n S: Sync,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Sync for ProofInputs<G>",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Sync for Proof<G>",1,["o1vm::pickles::proof::Proof"]],["impl Sync for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Sync for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Sync for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Sync for ReadWrite<R, W>where\n R: Sync,\n W: Sync,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Sync for RW",1,["o1vm::preimage_oracle::RW"]],["impl Sync for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl Sync for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Sync for RAMLookup<T, ID>where\n T: Sync,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> Sync for CamlPolyComm<CamlG>where\n CamlG: Sync,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> Sync for PolyComm<C>where\n C: Sync,",1,["poly_commitment::commitment::PolyComm"]],["impl<G> Sync for BlindedCommitment<G>",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> Sync for Evaluation<G>",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> Sync for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: Sync,\n OpeningProof: Sync,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl Sync for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> Sync for HashMapCache<Key, Value>where\n Key: Send,\n Value: Send,",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> Sync for CamlOpeningProof<G, F>where\n F: Sync,\n G: Sync,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> Sync for SRS<G>where\n G: Send + Sync,",1,["poly_commitment::ipa::SRS"]],["impl<G> Sync for OpeningProof<G>",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> Sync for Challenges<F>where\n F: Sync,",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> Sync for KZGProof<Pair>",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> Sync for PairingSRS<Pair>",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> Sync for DensePolynomialOrEvaluations<'a, F, D>",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> Sync for CairoMemory<F>where\n F: Sync,",1,["turshi::memory::CairoMemory"]],["impl<F> Sync for CairoState<F>where\n F: Sync,",1,["turshi::runner::CairoState"]],["impl<F> Sync for CairoContext<F>where\n F: Sync,",1,["turshi::runner::CairoContext"]],["impl<F> Sync for CairoInstruction<F>where\n F: Sync,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> Sync for CairoStep<'a, F>where\n F: Sync,",1,["turshi::runner::CairoStep"]],["impl<'a, F> Sync for CairoProgram<'a, F>where\n F: Sync,",1,["turshi::runner::CairoProgram"]],["impl<F> Sync for CairoWord<F>where\n F: Sync,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/marker/trait.Unpin.js b/rustdoc/implementors/core/marker/trait.Unpin.js index 845d4dc8bd..eeb10af1c6 100644 --- a/rustdoc/implementors/core/marker/trait.Unpin.js +++ b/rustdoc/implementors/core/marker/trait.Unpin.js @@ -14,7 +14,7 @@ "mina_signer":[["impl Unpin for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl Unpin for Keypair",1,["mina_signer::keypair::Keypair"]],["impl Unpin for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl Unpin for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl Unpin for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> Unpin for Schnorr<H>where\n <H as Hashable>::D: Unpin,",1,["mina_signer::schnorr::Schnorr"]],["impl Unpin for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl Unpin for SecKey",1,["mina_signer::seckey::SecKey"]],["impl Unpin for Signature",1,["mina_signer::signature::Signature"]],["impl Unpin for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> Unpin for Sparse<F, N, D>where\n F: Unpin,",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> Unpin for Dense<F, N, D>where\n F: Unpin,",1,["mvpoly::prime::Dense"]],["impl Unpin for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> Unpin for AdjacentPairs<A, I>where\n A: Unpin,\n I: Unpin,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> Unpin for ChunkedEvaluations<F>where\n F: Unpin,",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> Unpin for ChunkedPolynomial<F>where\n F: Unpin,",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl Unpin for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> Unpin for ForeignElement<F, B, N>where\n F: Unpin,",1,["o1_utils::foreign_field::ForeignElement"]],["impl Unpin for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl Unpin for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl Unpin for Page",1,["o1vm::cannon::Page"]],["impl Unpin for State",1,["o1vm::cannon::State"]],["impl Unpin for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Unpin for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Unpin for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Unpin for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Unpin for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Unpin for Start",1,["o1vm::cannon::Start"]],["impl Unpin for Symbol",1,["o1vm::cannon::Symbol"]],["impl Unpin for Meta",1,["o1vm::cannon::Meta"]],["impl Unpin for Preimage",1,["o1vm::cannon::Preimage"]],["impl Unpin for Hint",1,["o1vm::cannon::Hint"]],["impl Unpin for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Unpin for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Unpin for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Unpin for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Unpin for Commands",1,["o1vm::cli::Commands"]],["impl Unpin for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Unpin for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Unpin for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Unpin for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Unpin for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Unpin for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Unpin for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Unpin for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Unpin for KeccakEnv<F>where\n F: Unpin,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Unpin for Env<F>where\n F: Unpin,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Unpin for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Unpin for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Unpin for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Unpin for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Unpin for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Unpin for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Unpin for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Unpin for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Unpin for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Unpin for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Unpin for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Unpin for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Unpin for Registers<T>where\n T: Unpin,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Unpin for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Unpin for Env<Fp, PreImageOracle>where\n Fp: Unpin,\n PreImageOracle: Unpin,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Unpin for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Unpin for Env<F>where\n F: Unpin,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Unpin for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Unpin for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Unpin for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Unpin for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Unpin for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Unpin for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Unpin for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Unpin for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Unpin for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Unpin for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Unpin for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Unpin for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Unpin for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Unpin for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Unpin for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Unpin for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Unpin for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Unpin for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Unpin for Registers<T>where\n T: Unpin,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Unpin for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Unpin for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Unpin for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Unpin for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Unpin for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> Unpin for FoldingInstance<N, G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Unpin for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> Unpin for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: Unpin,\n <C as FoldingConfig>::Curve: Unpin,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> Unpin for FoldingEnvironment<N, C, Structure>where\n Structure: Unpin,\n <C as FoldingConfig>::Curve: Unpin,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Unpin for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Unpin for DecomposedTrace<N, C>",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Unpin for ColumnEnvironment<'a, F>where\n F: Unpin,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Unpin for WitnessColumns<G, S>where\n G: Unpin,\n S: Unpin,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Unpin for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Unpin for Proof<G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::pickles::proof::Proof"]],["impl Unpin for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Unpin for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Unpin for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Unpin for ReadWrite<R, W>where\n R: Unpin,\n W: Unpin,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Unpin for RW",1,["o1vm::preimage_oracle::RW"]],["impl Unpin for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Unpin for RAMLookup<T, ID>where\n ID: Unpin,\n T: Unpin,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl Unpin for Page",1,["o1vm::cannon::Page"]],["impl Unpin for State",1,["o1vm::cannon::State"]],["impl Unpin for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl Unpin for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl Unpin for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl Unpin for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl Unpin for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl Unpin for Start",1,["o1vm::cannon::Start"]],["impl Unpin for Symbol",1,["o1vm::cannon::Symbol"]],["impl Unpin for Meta",1,["o1vm::cannon::Meta"]],["impl Unpin for Preimage",1,["o1vm::cannon::Preimage"]],["impl Unpin for Hint",1,["o1vm::cannon::Hint"]],["impl Unpin for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl Unpin for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl Unpin for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl Unpin for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl Unpin for Commands",1,["o1vm::cli::Commands"]],["impl Unpin for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl Unpin for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl Unpin for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl Unpin for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl Unpin for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl Unpin for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl Unpin for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl Unpin for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> Unpin for KeccakEnv<F>where\n F: Unpin,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> Unpin for Env<F>where\n F: Unpin,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl Unpin for Error",1,["o1vm::interpreters::keccak::Error"]],["impl Unpin for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl Unpin for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl Unpin for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl Unpin for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl Unpin for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl Unpin for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl Unpin for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl Unpin for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl Unpin for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl Unpin for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl Unpin for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> Unpin for Registers<T>where\n T: Unpin,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl Unpin for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> Unpin for Env<Fp, PreImageOracle>where\n Fp: Unpin,\n PreImageOracle: Unpin,",1,["o1vm::interpreters::mips::witness::Env"]],["impl Unpin for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> Unpin for Env<F>where\n F: Unpin,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl Unpin for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl Unpin for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl Unpin for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl Unpin for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl Unpin for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl Unpin for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl Unpin for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl Unpin for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl Unpin for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl Unpin for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl Unpin for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl Unpin for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl Unpin for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl Unpin for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl Unpin for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl Unpin for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl Unpin for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl Unpin for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> Unpin for Registers<T>where\n T: Unpin,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl Unpin for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> Unpin for Env<Fp>where\n Fp: Unpin,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl Unpin for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl Unpin for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl Unpin for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl Unpin for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> Unpin for FoldingInstance<N, G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> Unpin for FoldingWitness<N, F>",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> Unpin for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: Unpin,\n <C as FoldingConfig>::Curve: Unpin,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> Unpin for FoldingEnvironment<N, C, Structure>where\n Structure: Unpin,\n <C as FoldingConfig>::Curve: Unpin,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> Unpin for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: Unpin,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> Unpin for DecomposedTrace<N, C>",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> Unpin for ColumnEnvironment<'a, F>where\n F: Unpin,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> Unpin for WitnessColumns<G, S>where\n G: Unpin,\n S: Unpin,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> Unpin for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> Unpin for Proof<G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["o1vm::pickles::proof::Proof"]],["impl Unpin for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl Unpin for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl Unpin for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> Unpin for ReadWrite<R, W>where\n R: Unpin,\n W: Unpin,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl Unpin for RW",1,["o1vm::preimage_oracle::RW"]],["impl Unpin for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl Unpin for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> Unpin for RAMLookup<T, ID>where\n ID: Unpin,\n T: Unpin,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> Unpin for CamlPolyComm<CamlG>where\n CamlG: Unpin,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> Unpin for PolyComm<C>where\n C: Unpin,",1,["poly_commitment::commitment::PolyComm"]],["impl<G> Unpin for BlindedCommitment<G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> Unpin for Evaluation<G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> Unpin for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: Unpin,\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl Unpin for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> Unpin for HashMapCache<Key, Value>",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> Unpin for CamlOpeningProof<G, F>where\n F: Unpin,\n G: Unpin,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> Unpin for SRS<G>where\n G: Unpin,",1,["poly_commitment::ipa::SRS"]],["impl<G> Unpin for OpeningProof<G>where\n G: Unpin,\n <G as AffineRepr>::ScalarField: Unpin,",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> Unpin for Challenges<F>where\n F: Unpin,",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> Unpin for KZGProof<Pair>where\n <Pair as Pairing>::G1Affine: Unpin,\n <Pair as Pairing>::ScalarField: Unpin,",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> Unpin for PairingSRS<Pair>where\n <Pair as Pairing>::G1Affine: Unpin,\n <Pair as Pairing>::G2Affine: Unpin,",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> Unpin for DensePolynomialOrEvaluations<'a, F, D>where\n D: Unpin,",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> Unpin for CairoMemory<F>where\n F: Unpin,",1,["turshi::memory::CairoMemory"]],["impl<F> Unpin for CairoState<F>where\n F: Unpin,",1,["turshi::runner::CairoState"]],["impl<F> Unpin for CairoContext<F>where\n F: Unpin,",1,["turshi::runner::CairoContext"]],["impl<F> Unpin for CairoInstruction<F>where\n F: Unpin,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> Unpin for CairoStep<'a, F>where\n F: Unpin,",1,["turshi::runner::CairoStep"]],["impl<'a, F> Unpin for CairoProgram<'a, F>where\n F: Unpin,",1,["turshi::runner::CairoProgram"]],["impl<F> Unpin for CairoWord<F>where\n F: Unpin,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 12f3005fc5..e54d68981b 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -14,7 +14,7 @@ "mina_signer":[["impl RefUnwindSafe for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl RefUnwindSafe for Keypair",1,["mina_signer::keypair::Keypair"]],["impl RefUnwindSafe for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl RefUnwindSafe for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl RefUnwindSafe for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> !RefUnwindSafe for Schnorr<H>",1,["mina_signer::schnorr::Schnorr"]],["impl RefUnwindSafe for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl RefUnwindSafe for SecKey",1,["mina_signer::seckey::SecKey"]],["impl RefUnwindSafe for Signature",1,["mina_signer::signature::Signature"]],["impl RefUnwindSafe for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> RefUnwindSafe for Sparse<F, N, D>where\n F: RefUnwindSafe,",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> RefUnwindSafe for Dense<F, N, D>where\n F: RefUnwindSafe,",1,["mvpoly::prime::Dense"]],["impl RefUnwindSafe for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> RefUnwindSafe for AdjacentPairs<A, I>where\n A: RefUnwindSafe,\n I: RefUnwindSafe,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> RefUnwindSafe for ChunkedEvaluations<F>where\n F: RefUnwindSafe,",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> RefUnwindSafe for ChunkedPolynomial<F>where\n F: RefUnwindSafe,",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl RefUnwindSafe for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> RefUnwindSafe for ForeignElement<F, B, N>where\n F: RefUnwindSafe,",1,["o1_utils::foreign_field::ForeignElement"]],["impl RefUnwindSafe for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl RefUnwindSafe for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl RefUnwindSafe for Page",1,["o1vm::cannon::Page"]],["impl RefUnwindSafe for State",1,["o1vm::cannon::State"]],["impl RefUnwindSafe for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl RefUnwindSafe for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl RefUnwindSafe for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl RefUnwindSafe for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl RefUnwindSafe for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl RefUnwindSafe for Start",1,["o1vm::cannon::Start"]],["impl RefUnwindSafe for Symbol",1,["o1vm::cannon::Symbol"]],["impl RefUnwindSafe for Meta",1,["o1vm::cannon::Meta"]],["impl RefUnwindSafe for Preimage",1,["o1vm::cannon::Preimage"]],["impl RefUnwindSafe for Hint",1,["o1vm::cannon::Hint"]],["impl RefUnwindSafe for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl RefUnwindSafe for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl RefUnwindSafe for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl RefUnwindSafe for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl RefUnwindSafe for Commands",1,["o1vm::cli::Commands"]],["impl RefUnwindSafe for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl RefUnwindSafe for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl RefUnwindSafe for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl RefUnwindSafe for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl RefUnwindSafe for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl RefUnwindSafe for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl RefUnwindSafe for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl RefUnwindSafe for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> RefUnwindSafe for KeccakEnv<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> RefUnwindSafe for Env<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl RefUnwindSafe for Error",1,["o1vm::interpreters::keccak::Error"]],["impl RefUnwindSafe for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl RefUnwindSafe for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl RefUnwindSafe for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl RefUnwindSafe for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl RefUnwindSafe for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl RefUnwindSafe for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl RefUnwindSafe for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl RefUnwindSafe for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl RefUnwindSafe for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl RefUnwindSafe for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl RefUnwindSafe for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> RefUnwindSafe for Registers<T>where\n T: RefUnwindSafe,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl RefUnwindSafe for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> RefUnwindSafe for Env<Fp, PreImageOracle>where\n Fp: RefUnwindSafe,\n PreImageOracle: RefUnwindSafe,",1,["o1vm::interpreters::mips::witness::Env"]],["impl RefUnwindSafe for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> RefUnwindSafe for Env<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl RefUnwindSafe for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl RefUnwindSafe for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl RefUnwindSafe for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl RefUnwindSafe for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl RefUnwindSafe for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl RefUnwindSafe for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl RefUnwindSafe for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl RefUnwindSafe for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl RefUnwindSafe for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl RefUnwindSafe for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl RefUnwindSafe for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl RefUnwindSafe for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl RefUnwindSafe for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl RefUnwindSafe for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl RefUnwindSafe for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl RefUnwindSafe for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl RefUnwindSafe for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl RefUnwindSafe for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> RefUnwindSafe for Registers<T>where\n T: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl RefUnwindSafe for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl RefUnwindSafe for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl RefUnwindSafe for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl RefUnwindSafe for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl RefUnwindSafe for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> RefUnwindSafe for FoldingInstance<N, G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> RefUnwindSafe for FoldingWitness<N, F>where\n F: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> RefUnwindSafe for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: RefUnwindSafe,\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> RefUnwindSafe for FoldingEnvironment<N, C, Structure>where\n Structure: RefUnwindSafe,\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> RefUnwindSafe for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> RefUnwindSafe for DecomposedTrace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> RefUnwindSafe for ColumnEnvironment<'a, F>where\n F: RefUnwindSafe,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> RefUnwindSafe for WitnessColumns<G, S>where\n G: RefUnwindSafe,\n S: RefUnwindSafe,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> RefUnwindSafe for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> RefUnwindSafe for Proof<G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::pickles::proof::Proof"]],["impl RefUnwindSafe for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl RefUnwindSafe for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl !RefUnwindSafe for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> RefUnwindSafe for ReadWrite<R, W>where\n R: RefUnwindSafe,\n W: RefUnwindSafe,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl RefUnwindSafe for RW",1,["o1vm::preimage_oracle::RW"]],["impl RefUnwindSafe for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> RefUnwindSafe for RAMLookup<T, ID>where\n ID: RefUnwindSafe,\n T: RefUnwindSafe,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl RefUnwindSafe for Page",1,["o1vm::cannon::Page"]],["impl RefUnwindSafe for State",1,["o1vm::cannon::State"]],["impl RefUnwindSafe for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl RefUnwindSafe for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl RefUnwindSafe for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl RefUnwindSafe for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl RefUnwindSafe for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl RefUnwindSafe for Start",1,["o1vm::cannon::Start"]],["impl RefUnwindSafe for Symbol",1,["o1vm::cannon::Symbol"]],["impl RefUnwindSafe for Meta",1,["o1vm::cannon::Meta"]],["impl RefUnwindSafe for Preimage",1,["o1vm::cannon::Preimage"]],["impl RefUnwindSafe for Hint",1,["o1vm::cannon::Hint"]],["impl RefUnwindSafe for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl RefUnwindSafe for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl RefUnwindSafe for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl RefUnwindSafe for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl RefUnwindSafe for Commands",1,["o1vm::cli::Commands"]],["impl RefUnwindSafe for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl RefUnwindSafe for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl RefUnwindSafe for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl RefUnwindSafe for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl RefUnwindSafe for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl RefUnwindSafe for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl RefUnwindSafe for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl RefUnwindSafe for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> RefUnwindSafe for KeccakEnv<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> RefUnwindSafe for Env<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl RefUnwindSafe for Error",1,["o1vm::interpreters::keccak::Error"]],["impl RefUnwindSafe for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl RefUnwindSafe for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl RefUnwindSafe for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl RefUnwindSafe for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl RefUnwindSafe for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl RefUnwindSafe for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl RefUnwindSafe for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl RefUnwindSafe for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl RefUnwindSafe for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl RefUnwindSafe for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl RefUnwindSafe for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> RefUnwindSafe for Registers<T>where\n T: RefUnwindSafe,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl RefUnwindSafe for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> RefUnwindSafe for Env<Fp, PreImageOracle>where\n Fp: RefUnwindSafe,\n PreImageOracle: RefUnwindSafe,",1,["o1vm::interpreters::mips::witness::Env"]],["impl RefUnwindSafe for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> RefUnwindSafe for Env<F>where\n F: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl RefUnwindSafe for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl RefUnwindSafe for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl RefUnwindSafe for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl RefUnwindSafe for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl RefUnwindSafe for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl RefUnwindSafe for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl RefUnwindSafe for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl RefUnwindSafe for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl RefUnwindSafe for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl RefUnwindSafe for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl RefUnwindSafe for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl RefUnwindSafe for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl RefUnwindSafe for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl RefUnwindSafe for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl RefUnwindSafe for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl RefUnwindSafe for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl RefUnwindSafe for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl RefUnwindSafe for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> RefUnwindSafe for Registers<T>where\n T: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl RefUnwindSafe for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> RefUnwindSafe for Env<Fp>where\n Fp: RefUnwindSafe,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl RefUnwindSafe for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl RefUnwindSafe for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl RefUnwindSafe for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl RefUnwindSafe for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> RefUnwindSafe for FoldingInstance<N, G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> RefUnwindSafe for FoldingWitness<N, F>where\n F: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> RefUnwindSafe for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: RefUnwindSafe,\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> RefUnwindSafe for FoldingEnvironment<N, C, Structure>where\n Structure: RefUnwindSafe,\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> RefUnwindSafe for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> RefUnwindSafe for DecomposedTrace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> RefUnwindSafe for ColumnEnvironment<'a, F>where\n F: RefUnwindSafe,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> RefUnwindSafe for WitnessColumns<G, S>where\n G: RefUnwindSafe,\n S: RefUnwindSafe,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> RefUnwindSafe for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> RefUnwindSafe for Proof<G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["o1vm::pickles::proof::Proof"]],["impl RefUnwindSafe for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl RefUnwindSafe for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl !RefUnwindSafe for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> RefUnwindSafe for ReadWrite<R, W>where\n R: RefUnwindSafe,\n W: RefUnwindSafe,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl RefUnwindSafe for RW",1,["o1vm::preimage_oracle::RW"]],["impl RefUnwindSafe for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl RefUnwindSafe for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> RefUnwindSafe for RAMLookup<T, ID>where\n ID: RefUnwindSafe,\n T: RefUnwindSafe,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> RefUnwindSafe for CamlPolyComm<CamlG>where\n CamlG: RefUnwindSafe,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> RefUnwindSafe for PolyComm<C>where\n C: RefUnwindSafe,",1,["poly_commitment::commitment::PolyComm"]],["impl<G> RefUnwindSafe for BlindedCommitment<G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> RefUnwindSafe for Evaluation<G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> RefUnwindSafe for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: RefUnwindSafe,\n G: RefUnwindSafe,\n OpeningProof: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl RefUnwindSafe for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> RefUnwindSafe for HashMapCache<Key, Value>",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> RefUnwindSafe for CamlOpeningProof<G, F>where\n F: RefUnwindSafe,\n G: RefUnwindSafe,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> RefUnwindSafe for SRS<G>where\n G: RefUnwindSafe,",1,["poly_commitment::ipa::SRS"]],["impl<G> RefUnwindSafe for OpeningProof<G>where\n G: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: RefUnwindSafe,",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> RefUnwindSafe for Challenges<F>where\n F: RefUnwindSafe,",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> RefUnwindSafe for KZGProof<Pair>where\n <Pair as Pairing>::G1Affine: RefUnwindSafe,\n <Pair as Pairing>::ScalarField: RefUnwindSafe,",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> RefUnwindSafe for PairingSRS<Pair>where\n <Pair as Pairing>::G1Affine: RefUnwindSafe,\n <Pair as Pairing>::G2Affine: RefUnwindSafe,",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> RefUnwindSafe for DensePolynomialOrEvaluations<'a, F, D>where\n D: RefUnwindSafe,\n F: RefUnwindSafe,",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> RefUnwindSafe for CairoMemory<F>where\n F: RefUnwindSafe,",1,["turshi::memory::CairoMemory"]],["impl<F> RefUnwindSafe for CairoState<F>where\n F: RefUnwindSafe,",1,["turshi::runner::CairoState"]],["impl<F> RefUnwindSafe for CairoContext<F>where\n F: RefUnwindSafe,",1,["turshi::runner::CairoContext"]],["impl<F> RefUnwindSafe for CairoInstruction<F>where\n F: RefUnwindSafe,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> RefUnwindSafe for CairoStep<'a, F>where\n F: RefUnwindSafe,",1,["turshi::runner::CairoStep"]],["impl<'a, F> RefUnwindSafe for CairoProgram<'a, F>where\n F: RefUnwindSafe,",1,["turshi::runner::CairoProgram"]],["impl<F> RefUnwindSafe for CairoWord<F>where\n F: RefUnwindSafe,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 12ca477cf9..54003f886e 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -14,7 +14,7 @@ "mina_signer":[["impl UnwindSafe for KeypairError",1,["mina_signer::keypair::KeypairError"]],["impl UnwindSafe for Keypair",1,["mina_signer::keypair::Keypair"]],["impl UnwindSafe for PubKeyError",1,["mina_signer::pubkey::PubKeyError"]],["impl UnwindSafe for PubKey",1,["mina_signer::pubkey::PubKey"]],["impl UnwindSafe for CompressedPubKey",1,["mina_signer::pubkey::CompressedPubKey"]],["impl<H> !UnwindSafe for Schnorr<H>",1,["mina_signer::schnorr::Schnorr"]],["impl UnwindSafe for SecKeyError",1,["mina_signer::seckey::SecKeyError"]],["impl UnwindSafe for SecKey",1,["mina_signer::seckey::SecKey"]],["impl UnwindSafe for Signature",1,["mina_signer::signature::Signature"]],["impl UnwindSafe for NetworkId",1,["mina_signer::NetworkId"]]], "mvpoly":[["impl<F, const N: usize, const D: usize> UnwindSafe for Sparse<F, N, D>where\n F: UnwindSafe,",1,["mvpoly::monomials::Sparse"]],["impl<F, const N: usize, const D: usize> UnwindSafe for Dense<F, N, D>where\n F: UnwindSafe,",1,["mvpoly::prime::Dense"]],["impl UnwindSafe for PrimeNumberGenerator",1,["mvpoly::utils::PrimeNumberGenerator"]]], "o1_utils":[["impl<A, I> UnwindSafe for AdjacentPairs<A, I>where\n A: UnwindSafe,\n I: UnwindSafe,",1,["o1_utils::adjacent_pairs::AdjacentPairs"]],["impl<F> UnwindSafe for ChunkedEvaluations<F>where\n F: UnwindSafe,",1,["o1_utils::chunked_evaluations::ChunkedEvaluations"]],["impl<F> UnwindSafe for ChunkedPolynomial<F>where\n F: UnwindSafe,",1,["o1_utils::chunked_polynomial::ChunkedPolynomial"]],["impl UnwindSafe for FieldHelpersError",1,["o1_utils::field_helpers::FieldHelpersError"]],["impl<F, const B: usize, const N: usize> UnwindSafe for ForeignElement<F, B, N>where\n F: UnwindSafe,",1,["o1_utils::foreign_field::ForeignElement"]],["impl UnwindSafe for SerdeAs",1,["o1_utils::serialization::SerdeAs"]],["impl UnwindSafe for SerdeAsUnchecked",1,["o1_utils::serialization::SerdeAsUnchecked"]]], -"o1vm":[["impl UnwindSafe for Page",1,["o1vm::cannon::Page"]],["impl UnwindSafe for State",1,["o1vm::cannon::State"]],["impl UnwindSafe for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl UnwindSafe for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl UnwindSafe for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl UnwindSafe for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl UnwindSafe for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl UnwindSafe for Start",1,["o1vm::cannon::Start"]],["impl UnwindSafe for Symbol",1,["o1vm::cannon::Symbol"]],["impl UnwindSafe for Meta",1,["o1vm::cannon::Meta"]],["impl UnwindSafe for Preimage",1,["o1vm::cannon::Preimage"]],["impl UnwindSafe for Hint",1,["o1vm::cannon::Hint"]],["impl UnwindSafe for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl UnwindSafe for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl UnwindSafe for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl UnwindSafe for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl UnwindSafe for Commands",1,["o1vm::cli::Commands"]],["impl UnwindSafe for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl UnwindSafe for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl UnwindSafe for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl UnwindSafe for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl UnwindSafe for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl UnwindSafe for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl UnwindSafe for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl UnwindSafe for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> UnwindSafe for KeccakEnv<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> UnwindSafe for Env<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl UnwindSafe for Error",1,["o1vm::interpreters::keccak::Error"]],["impl UnwindSafe for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl UnwindSafe for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl UnwindSafe for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl UnwindSafe for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl UnwindSafe for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl UnwindSafe for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl UnwindSafe for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl UnwindSafe for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl UnwindSafe for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl UnwindSafe for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl UnwindSafe for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> UnwindSafe for Registers<T>where\n T: UnwindSafe,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl UnwindSafe for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> UnwindSafe for Env<Fp, PreImageOracle>where\n Fp: UnwindSafe,\n PreImageOracle: UnwindSafe,",1,["o1vm::interpreters::mips::witness::Env"]],["impl UnwindSafe for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> UnwindSafe for Env<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl UnwindSafe for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl UnwindSafe for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl UnwindSafe for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl UnwindSafe for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl UnwindSafe for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl UnwindSafe for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl UnwindSafe for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl UnwindSafe for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl UnwindSafe for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl UnwindSafe for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl UnwindSafe for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl UnwindSafe for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl UnwindSafe for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl UnwindSafe for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl UnwindSafe for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl UnwindSafe for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl UnwindSafe for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl UnwindSafe for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> UnwindSafe for Registers<T>where\n T: UnwindSafe,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl UnwindSafe for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl UnwindSafe for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl UnwindSafe for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl UnwindSafe for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl UnwindSafe for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> UnwindSafe for FoldingInstance<N, G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> UnwindSafe for FoldingWitness<N, F>where\n F: UnwindSafe,",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> UnwindSafe for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: UnwindSafe,\n <C as FoldingConfig>::Curve: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> UnwindSafe for FoldingEnvironment<N, C, Structure>where\n Structure: UnwindSafe,\n <C as FoldingConfig>::Curve: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> UnwindSafe for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> UnwindSafe for DecomposedTrace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> UnwindSafe for ColumnEnvironment<'a, F>where\n F: UnwindSafe + RefUnwindSafe,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> UnwindSafe for WitnessColumns<G, S>where\n G: UnwindSafe,\n S: UnwindSafe,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> UnwindSafe for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> UnwindSafe for Proof<G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::pickles::proof::Proof"]],["impl UnwindSafe for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl UnwindSafe for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl !UnwindSafe for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> UnwindSafe for ReadWrite<R, W>where\n R: UnwindSafe,\n W: UnwindSafe,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl UnwindSafe for RW",1,["o1vm::preimage_oracle::RW"]],["impl UnwindSafe for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> UnwindSafe for RAMLookup<T, ID>where\n ID: UnwindSafe,\n T: UnwindSafe,",1,["o1vm::ramlookup::RAMLookup"]]], +"o1vm":[["impl UnwindSafe for Page",1,["o1vm::cannon::Page"]],["impl UnwindSafe for State",1,["o1vm::cannon::State"]],["impl UnwindSafe for ParsePreimageKeyError",1,["o1vm::cannon::ParsePreimageKeyError"]],["impl UnwindSafe for PreimageKey",1,["o1vm::cannon::PreimageKey"]],["impl UnwindSafe for StepFrequency",1,["o1vm::cannon::StepFrequency"]],["impl UnwindSafe for HostProgram",1,["o1vm::cannon::HostProgram"]],["impl UnwindSafe for VmConfiguration",1,["o1vm::cannon::VmConfiguration"]],["impl UnwindSafe for Start",1,["o1vm::cannon::Start"]],["impl UnwindSafe for Symbol",1,["o1vm::cannon::Symbol"]],["impl UnwindSafe for Meta",1,["o1vm::cannon::Meta"]],["impl UnwindSafe for Preimage",1,["o1vm::cannon::Preimage"]],["impl UnwindSafe for Hint",1,["o1vm::cannon::Hint"]],["impl UnwindSafe for MipsVmConfigurationArgs",1,["o1vm::cli::cannon::MipsVmConfigurationArgs"]],["impl UnwindSafe for RunArgs",1,["o1vm::cli::cannon::RunArgs"]],["impl UnwindSafe for GenStateJsonArgs",1,["o1vm::cli::cannon::GenStateJsonArgs"]],["impl UnwindSafe for Cannon",1,["o1vm::cli::cannon::Cannon"]],["impl UnwindSafe for Commands",1,["o1vm::cli::Commands"]],["impl UnwindSafe for Architecture",1,["o1vm::elf_loader::Architecture"]],["impl UnwindSafe for ColumnAlias",1,["o1vm::interpreters::keccak::column::ColumnAlias"]],["impl UnwindSafe for Steps",1,["o1vm::interpreters::keccak::column::Steps"]],["impl UnwindSafe for StepsIter",1,["o1vm::interpreters::keccak::column::StepsIter"]],["impl UnwindSafe for Sponges",1,["o1vm::interpreters::keccak::column::Sponges"]],["impl UnwindSafe for SpongesIter",1,["o1vm::interpreters::keccak::column::SpongesIter"]],["impl UnwindSafe for Absorbs",1,["o1vm::interpreters::keccak::column::Absorbs"]],["impl UnwindSafe for AbsorbsIter",1,["o1vm::interpreters::keccak::column::AbsorbsIter"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::keccak::constraints::Env"]],["impl<F> UnwindSafe for KeccakEnv<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::keccak::environment::KeccakEnv"]],["impl<F> UnwindSafe for Env<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::keccak::witness::Env"]],["impl UnwindSafe for Error",1,["o1vm::interpreters::keccak::Error"]],["impl UnwindSafe for Constraint",1,["o1vm::interpreters::keccak::Constraint"]],["impl UnwindSafe for ColumnAlias",1,["o1vm::interpreters::mips::column::ColumnAlias"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::mips::constraints::Env"]],["impl UnwindSafe for InstructionParts",1,["o1vm::interpreters::mips::interpreter::debugging::InstructionParts"]],["impl UnwindSafe for Instruction",1,["o1vm::interpreters::mips::interpreter::Instruction"]],["impl UnwindSafe for InstructionIter",1,["o1vm::interpreters::mips::interpreter::InstructionIter"]],["impl UnwindSafe for RTypeInstruction",1,["o1vm::interpreters::mips::interpreter::RTypeInstruction"]],["impl UnwindSafe for RTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::RTypeInstructionIter"]],["impl UnwindSafe for JTypeInstruction",1,["o1vm::interpreters::mips::interpreter::JTypeInstruction"]],["impl UnwindSafe for JTypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::JTypeInstructionIter"]],["impl UnwindSafe for ITypeInstruction",1,["o1vm::interpreters::mips::interpreter::ITypeInstruction"]],["impl UnwindSafe for ITypeInstructionIter",1,["o1vm::interpreters::mips::interpreter::ITypeInstructionIter"]],["impl<T> UnwindSafe for Registers<T>where\n T: UnwindSafe,",1,["o1vm::interpreters::mips::registers::Registers"]],["impl UnwindSafe for SyscallEnv",1,["o1vm::interpreters::mips::witness::SyscallEnv"]],["impl<Fp, PreImageOracle> UnwindSafe for Env<Fp, PreImageOracle>where\n Fp: UnwindSafe,\n PreImageOracle: UnwindSafe,",1,["o1vm::interpreters::mips::witness::Env"]],["impl UnwindSafe for Column",1,["o1vm::interpreters::riscv32im::column::Column"]],["impl<F> UnwindSafe for Env<F>where\n F: UnwindSafe,",1,["o1vm::interpreters::riscv32im::constraints::Env"]],["impl UnwindSafe for Instruction",1,["o1vm::interpreters::riscv32im::interpreter::Instruction"]],["impl UnwindSafe for InstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::InstructionIter"]],["impl UnwindSafe for RInstruction",1,["o1vm::interpreters::riscv32im::interpreter::RInstruction"]],["impl UnwindSafe for RInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::RInstructionIter"]],["impl UnwindSafe for IInstruction",1,["o1vm::interpreters::riscv32im::interpreter::IInstruction"]],["impl UnwindSafe for IInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::IInstructionIter"]],["impl UnwindSafe for SInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SInstruction"]],["impl UnwindSafe for SInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SInstructionIter"]],["impl UnwindSafe for SBInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SBInstruction"]],["impl UnwindSafe for SBInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SBInstructionIter"]],["impl UnwindSafe for UInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UInstruction"]],["impl UnwindSafe for UInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UInstructionIter"]],["impl UnwindSafe for UJInstruction",1,["o1vm::interpreters::riscv32im::interpreter::UJInstruction"]],["impl UnwindSafe for UJInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::UJInstructionIter"]],["impl UnwindSafe for SyscallInstruction",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstruction"]],["impl UnwindSafe for SyscallInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::SyscallInstructionIter"]],["impl UnwindSafe for MInstruction",1,["o1vm::interpreters::riscv32im::interpreter::MInstruction"]],["impl UnwindSafe for MInstructionIter",1,["o1vm::interpreters::riscv32im::interpreter::MInstructionIter"]],["impl<T> UnwindSafe for Registers<T>where\n T: UnwindSafe,",1,["o1vm::interpreters::riscv32im::registers::Registers"]],["impl UnwindSafe for RegisterAlias",1,["o1vm::interpreters::riscv32im::registers::RegisterAlias"]],["impl<Fp> UnwindSafe for Env<Fp>where\n Fp: UnwindSafe,",1,["o1vm::interpreters::riscv32im::witness::Env"]],["impl UnwindSafe for KeccakConfig",1,["o1vm::legacy::folding::keccak::KeccakConfig"]],["impl UnwindSafe for DecomposableMIPSFoldingConfig",1,["o1vm::legacy::folding::mips::DecomposableMIPSFoldingConfig"]],["impl UnwindSafe for Challenge",1,["o1vm::legacy::folding::Challenge"]],["impl UnwindSafe for ChallengeIter",1,["o1vm::legacy::folding::ChallengeIter"]],["impl<const N: usize, G> UnwindSafe for FoldingInstance<N, G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::FoldingInstance"]],["impl<const N: usize, F> UnwindSafe for FoldingWitness<N, F>where\n F: UnwindSafe,",1,["o1vm::legacy::folding::FoldingWitness"]],["impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> UnwindSafe for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where\n Structure: UnwindSafe,\n <C as FoldingConfig>::Curve: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::DecomposedFoldingEnvironment"]],["impl<const N: usize, C, Structure> UnwindSafe for FoldingEnvironment<N, C, Structure>where\n Structure: UnwindSafe,\n <C as FoldingConfig>::Curve: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::folding::FoldingEnvironment"]],["impl<const N: usize, C> UnwindSafe for Trace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::legacy::trace::Trace"]],["impl<const N: usize, C> UnwindSafe for DecomposedTrace<N, C>where\n <<C as FoldingConfig>::Curve as AffineRepr>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["o1vm::legacy::trace::DecomposedTrace"]],["impl<'a, F> UnwindSafe for ColumnEnvironment<'a, F>where\n F: UnwindSafe + RefUnwindSafe,",1,["o1vm::pickles::column_env::ColumnEnvironment"]],["impl<G, S> UnwindSafe for WitnessColumns<G, S>where\n G: UnwindSafe,\n S: UnwindSafe,",1,["o1vm::pickles::proof::WitnessColumns"]],["impl<G> UnwindSafe for ProofInputs<G>where\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::pickles::proof::ProofInputs"]],["impl<G> UnwindSafe for Proof<G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["o1vm::pickles::proof::Proof"]],["impl UnwindSafe for ProverError",1,["o1vm::pickles::prover::ProverError"]],["impl UnwindSafe for LookupTableIDs",1,["o1vm::lookups::LookupTableIDs"]],["impl !UnwindSafe for PreImageOracle",1,["o1vm::preimage_oracle::PreImageOracle"]],["impl<R, W> UnwindSafe for ReadWrite<R, W>where\n R: UnwindSafe,\n W: UnwindSafe,",1,["o1vm::preimage_oracle::ReadWrite"]],["impl UnwindSafe for RW",1,["o1vm::preimage_oracle::RW"]],["impl UnwindSafe for NullPreImageOracle",1,["o1vm::preimage_oracle::NullPreImageOracle"]],["impl UnwindSafe for LookupMode",1,["o1vm::ramlookup::LookupMode"]],["impl<T, ID> UnwindSafe for RAMLookup<T, ID>where\n ID: UnwindSafe,\n T: UnwindSafe,",1,["o1vm::ramlookup::RAMLookup"]]], "poly_commitment":[["impl<CamlG> UnwindSafe for CamlPolyComm<CamlG>where\n CamlG: UnwindSafe,",1,["poly_commitment::commitment::caml::CamlPolyComm"]],["impl<C> UnwindSafe for PolyComm<C>where\n C: UnwindSafe,",1,["poly_commitment::commitment::PolyComm"]],["impl<G> UnwindSafe for BlindedCommitment<G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["poly_commitment::commitment::BlindedCommitment"]],["impl<G> UnwindSafe for Evaluation<G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["poly_commitment::commitment::Evaluation"]],["impl<'a, G, EFqSponge, OpeningProof> UnwindSafe for BatchEvaluationProof<'a, G, EFqSponge, OpeningProof>where\n EFqSponge: UnwindSafe,\n G: UnwindSafe,\n OpeningProof: RefUnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["poly_commitment::commitment::BatchEvaluationProof"]],["impl UnwindSafe for CommitmentError",1,["poly_commitment::error::CommitmentError"]],["impl<Key, Value> UnwindSafe for HashMapCache<Key, Value>",1,["poly_commitment::hash_map_cache::HashMapCache"]],["impl<G, F> UnwindSafe for CamlOpeningProof<G, F>where\n F: UnwindSafe,\n G: UnwindSafe,",1,["poly_commitment::ipa::caml::CamlOpeningProof"]],["impl<G> UnwindSafe for SRS<G>where\n G: UnwindSafe,",1,["poly_commitment::ipa::SRS"]],["impl<G> UnwindSafe for OpeningProof<G>where\n G: UnwindSafe,\n <G as AffineRepr>::ScalarField: UnwindSafe,",1,["poly_commitment::ipa::OpeningProof"]],["impl<F> UnwindSafe for Challenges<F>where\n F: UnwindSafe,",1,["poly_commitment::ipa::Challenges"]],["impl<Pair> UnwindSafe for KZGProof<Pair>where\n <Pair as Pairing>::G1Affine: UnwindSafe,\n <Pair as Pairing>::ScalarField: UnwindSafe,",1,["poly_commitment::kzg::KZGProof"]],["impl<Pair> UnwindSafe for PairingSRS<Pair>where\n <Pair as Pairing>::G1Affine: UnwindSafe,\n <Pair as Pairing>::G2Affine: UnwindSafe,",1,["poly_commitment::kzg::PairingSRS"]],["impl<'a, F, D> UnwindSafe for DensePolynomialOrEvaluations<'a, F, D>where\n D: UnwindSafe + RefUnwindSafe,\n F: RefUnwindSafe,",1,["poly_commitment::utils::DensePolynomialOrEvaluations"]]], "turshi":[["impl<F> UnwindSafe for CairoMemory<F>where\n F: UnwindSafe,",1,["turshi::memory::CairoMemory"]],["impl<F> UnwindSafe for CairoState<F>where\n F: UnwindSafe,",1,["turshi::runner::CairoState"]],["impl<F> UnwindSafe for CairoContext<F>where\n F: UnwindSafe,",1,["turshi::runner::CairoContext"]],["impl<F> UnwindSafe for CairoInstruction<F>where\n F: UnwindSafe,",1,["turshi::runner::CairoInstruction"]],["impl<'a, F> !UnwindSafe for CairoStep<'a, F>",1,["turshi::runner::CairoStep"]],["impl<'a, F> !UnwindSafe for CairoProgram<'a, F>",1,["turshi::runner::CairoProgram"]],["impl<F> UnwindSafe for CairoWord<F>where\n F: UnwindSafe,",1,["turshi::word::CairoWord"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/index.html b/rustdoc/index.html index a2c583b1f8..d22507a620 100644 --- a/rustdoc/index.html +++ b/rustdoc/index.html @@ -1 +1 @@ -Index of crates

List of all crates

\ No newline at end of file +Index of crates

List of all crates

\ No newline at end of file diff --git a/rustdoc/legacy_o1vm/fn.cannon_main.html b/rustdoc/legacy_o1vm/fn.cannon_main.html index 6d700ff1dc..c7f2e11f24 100644 --- a/rustdoc/legacy_o1vm/fn.cannon_main.html +++ b/rustdoc/legacy_o1vm/fn.cannon_main.html @@ -1 +1 @@ -cannon_main in legacy_o1vm - Rust

Function legacy_o1vm::cannon_main

source ·
pub fn cannon_main(args: RunArgs)
\ No newline at end of file +cannon_main in legacy_o1vm - Rust

Function legacy_o1vm::cannon_main

source ·
pub fn cannon_main(args: RunArgs)
\ No newline at end of file diff --git a/rustdoc/legacy_o1vm/fn.gen_state_json.html b/rustdoc/legacy_o1vm/fn.gen_state_json.html index 43c6a7d1b5..ef7a9c117c 100644 --- a/rustdoc/legacy_o1vm/fn.gen_state_json.html +++ b/rustdoc/legacy_o1vm/fn.gen_state_json.html @@ -1 +1 @@ -gen_state_json in legacy_o1vm - Rust
pub(crate) fn gen_state_json(arg: GenStateJsonArgs) -> Result<(), String>
\ No newline at end of file +gen_state_json in legacy_o1vm - Rust
pub(crate) fn gen_state_json(arg: GenStateJsonArgs) -> Result<(), String>
\ No newline at end of file diff --git a/rustdoc/legacy_o1vm/fn.main.html b/rustdoc/legacy_o1vm/fn.main.html index ff08eeb87b..9b562bdcfb 100644 --- a/rustdoc/legacy_o1vm/fn.main.html +++ b/rustdoc/legacy_o1vm/fn.main.html @@ -1 +1 @@ -main in legacy_o1vm - Rust

Function legacy_o1vm::main

source ·
pub fn main() -> ExitCode
\ No newline at end of file +main in legacy_o1vm - Rust

Function legacy_o1vm::main

source ·
pub fn main() -> ExitCode
\ No newline at end of file diff --git a/rustdoc/legacy_o1vm/index.html b/rustdoc/legacy_o1vm/index.html index 8d1487d586..51f29032ae 100644 --- a/rustdoc/legacy_o1vm/index.html +++ b/rustdoc/legacy_o1vm/index.html @@ -1,2 +1,2 @@ -legacy_o1vm - Rust

Crate legacy_o1vm

source ·

Constants

This function verifies a batch of polynomial commitment opening proofs. Return true if the verification is successful, false otherwise.

@@ -36,7 +36,7 @@
Safety
sponge: EFqSponge, rng: &mut RNG ) -> OpeningProof<G>where - EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, + EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, RNG: RngCore + CryptoRng, G::BaseField: PrimeField, G: EndoCurve,

Trait Implementations§

source§

impl<G: Clone> Clone for SRS<G>

source§

fn clone(&self) -> SRS<G>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<G: Debug> Debug for SRS<G>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<G: Default> Default for SRS<G>

source§

fn default() -> SRS<G>

Returns the “default value” for a type. Read more
source§

impl<'de, G> Deserialize<'de> for SRS<G>where diff --git a/rustdoc/poly_commitment/kzg/struct.KZGProof.html b/rustdoc/poly_commitment/kzg/struct.KZGProof.html index 42c500236b..8236d77c5d 100644 --- a/rustdoc/poly_commitment/kzg/struct.KZGProof.html +++ b/rustdoc/poly_commitment/kzg/struct.KZGProof.html @@ -41,7 +41,7 @@ _sponge: EFqSponge, _rng: &mut RNG ) -> Selfwhere - EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, F>, + EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, F>, RNG: RngCore + CryptoRng,

Parameters:

  • srs: the structured reference string
  • @@ -58,7 +58,7 @@ batch: &mut [BatchEvaluationProof<'_, G, EFqSponge, Self>], _rng: &mut RNG ) -> boolwhere - EFqSponge: FqSponge<G::BaseField, G, F>, + EFqSponge: FqSponge<G::BaseField, G, F>, RNG: RngCore + CryptoRng,
    Verify the opening proof
source§

impl<Pair: Pairing> Serialize for KZGProof<Pair>where Pair::G1Affine: CanonicalDeserialize + CanonicalSerialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl<Pair> RefUnwindSafe for KZGProof<Pair>where diff --git a/rustdoc/poly_commitment/trait.OpenProof.html b/rustdoc/poly_commitment/trait.OpenProof.html index 793f009e89..b6d4dd628c 100644 --- a/rustdoc/poly_commitment/trait.OpenProof.html +++ b/rustdoc/poly_commitment/trait.OpenProof.html @@ -12,7 +12,7 @@ sponge: EFqSponge, rng: &mut RNG ) -> Self - where EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, <G as AffineRepr>::ScalarField>, + where EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, <G as AffineRepr>::ScalarField>, RNG: RngCore + CryptoRng; fn verify<EFqSponge, RNG>( srs: &Self::SRS, @@ -20,7 +20,7 @@ batch: &mut [BatchEvaluationProof<'_, G, EFqSponge, Self>], rng: &mut RNG ) -> bool - where EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>, + where EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>, RNG: RngCore + CryptoRng; }

Required Associated Types§

source

type SRS: SRS<G> + Debug

Required Methods§

source

fn open<EFqSponge, RNG, D: EvaluationDomain<<G as AffineRepr>::ScalarField>>( srs: &Self::SRS, @@ -32,7 +32,7 @@ sponge: EFqSponge, rng: &mut RNG ) -> Selfwhere - EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, <G as AffineRepr>::ScalarField>, + EFqSponge: Clone + FqSponge<<G as AffineRepr>::BaseField, G, <G as AffineRepr>::ScalarField>, RNG: RngCore + CryptoRng,

Create an opening proof for a batch of polynomials. The parameters are the following:

Verify the opening proof

Implementors§

source§

impl<BaseField: PrimeField, G: AffineRepr<BaseField = BaseField> + CommitmentCurve + EndoCurve> OpenProof<G> for OpeningProof<G>

§

type SRS = SRS<G>

source§

impl<F: PrimeField, G: CommitmentCurve<ScalarField = F>, G2: CommitmentCurve<ScalarField = F>, Pair: Pairing<G1Affine = G, G2Affine = G2>> OpenProof<G> for KZGProof<Pair>

§

type SRS = PairingSRS<Pair>

\ No newline at end of file diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index cde2564d45..b025646434 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -17,7 +17,7 @@ var searchIndex = JSON.parse('{\ "mina_signer":{"doc":"Mina signer","t":"GCGCNECGCCCINLLLLFFLLLLLLLLAAAAKALLLLKLDENNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLNNNNNDNRNDEGNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMDLLLLLLLLLLLLLLRGDENNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLMMLLLLLL","n":["BaseField","CompressedPubKey","CurvePoint","Keypair","MAINNET","NetworkId","PubKey","ScalarField","Schnorr","SecKey","Signature","Signer","TESTNET","borrow","borrow_mut","clone","clone_into","create_kimchi","create_legacy","deref","deref_mut","drop","fmt","from","init","into","into_bytes","keypair","pubkey","schnorr","seckey","sign","signature","to_owned","try_from","try_into","type_id","verify","vzip","Keypair","KeypairError","NonCurvePoint","PublicKey","Result","SecretKey","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_bytes","from_hex","from_parts_unsafe","from_secret_key","get_address","init","init","into","into","provide","public","rand","secret","source","to_bytes","to_hex","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AddressBase58","AddressChecksum","AddressLength","AddressRawByteLength","AddressVersion","CompressedPubKey","Hex","MINA_ADDRESS_LEN","NonCurvePoint","PubKey","PubKeyError","Result","SecKey","XCoordinate","XCoordinateBytes","YCoordinateBytes","YCoordinateParity","YCoordinateParityBytes","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","empty","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from_address","from_address","from_bytes","from_bytes","from_hex","from_hex","from_point_unsafe","from_secret_key","from_secret_key","init","init","init","into","into","into","into_address","into_address","into_compressed","into_point","is_odd","point","provide","to_bytes","to_bytes","to_hex","to_hex","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","x","Schnorr","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","sign","try_from","try_into","type_id","verify","vzip","MINA_SEC_KEY_LEN","Result","SecKey","SecKeyError","SecretKeyBase58","SecretKeyBytes","SecretKeyChecksum","SecretKeyHex","SecretKeyLength","SecretKeyVersion","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","from","from","from_base58","from_bytes","from_hex","init","init","into","into","into_scalar","new","provide","rand","scalar","to_base58","to_bytes","to_hex","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Signature","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","fmt","from","init","into","new","rx","s","to_owned","to_string","try_from","try_into","type_id","vzip"],"q":[[0,"mina_signer"],[39,"mina_signer::keypair"],[101,"mina_signer::pubkey"],[202,"mina_signer::schnorr"],[217,"mina_signer::seckey"],[278,"mina_signer::signature"]],"d":["Base field element type","","Affine curve point type","","Id for mainnet","Mina network (or blockchain) identifier","","Scalar field element type","","","","Interface for signed objects","Id for all testnets","","","","","Create an experimental kimchi signer context with domain …","Create a legacy signer context with domain parameters …","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Keypair structures and algorithms","Public key structures and algorithms","Mina Schnorr signature scheme","Secret key structures and helpers","Sign input (see Hashable) using keypair kp and return the …","Mina signature structure and associated helpers","","","","","Verify that the signature sig on input (see Hashable) is …","","Keypair structure","Keypair error","point not on curve","Public key error","Keypair result","Invalid secret key","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Deserialize keypair from secret key bytes","Deserialize keypair from secret key hex","Create keypair from scalar field secret element and curve …","Create keypair from secret key","Obtain the Mina address corresponding to the keypair’s …","","","Calls U::from(self).","Calls U::from(self).","","Public key","Generate random keypair","Secret key","","Deserialize keypair into bytes","Deserialize keypair into hex","","","","","","","","","","","","","Invalid address base58","Invalid address checksum","Invalid address length","Invalid raw address bytes length","Invalid address version","Compressed public keys consist of x-coordinate and …","Invalid hex","Length of Mina addresses","Invalid y-coordinate parity","Public key","Public key errors","Public key Result","Invalid secret key","Invalid x-coordinate","Invalid x-coordinate bytes","Point not on curve","Invalid y-coordinate parity","Invalid y-coordinate","","","","","","","","","","","","","","","","","","","","","","The empty CompressedPubKey value that is used as public_key…","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Deserialize Mina address into public key","Deserialize Mina address into compressed public key (via …","Deserialize public key from bytes","Deserialize compressed public key from bytes","Deserialize public key from hex","Deserialize compressed public key from hex","Create public key from curve point Note: Does not check …","Create public key from a secret key","Create compressed public key from a secret key","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Serialize public key into corresponding Mina address","Serialize compressed public key into corresponding Mina …","Convert public key into compressed public key","Convert public key into curve point","Parity of y-coordinate","Borrow public key as curve point","","Deserialize public key into bytes","Deserialize compressed public key into bytes","Deserialize public key into hex","Deserialize compressed public key into hex","","","","","","","","","","","","","","","","","","X-coordinate","Schnorr signer context for the Mina signature algorithm","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Secret key length","Keypair result","Secret key","Keypair error","Invalid base58 secret key","Invalid secret key bytes","Invalid secret key checksum","Invalid secret key hex","Invalid secrey key length","Invalid secret key version","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Deserialize base58 encoded secret key","Deserialize secret key from bytes","Deserialize secret key from hex","","","Calls U::from(self).","Calls U::from(self).","Convert secret key into scalar field element","Create secret key from scalar field element","","Generate a random secret key","Borrows secret key as scalar field element","Deserialize secret key into base58","Deserialize secret key into bytes","Deserialize secret key into hex","","","","","","","","","","","","Signature structure","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Create a new signature","Base field component","Scalar field component","","","","","",""],"i":[0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,3,0,1,1,1,1,3,1,0,0,15,15,0,15,15,9,15,9,15,9,15,9,15,9,15,9,15,9,15,9,15,15,9,9,15,15,9,9,15,15,15,9,9,9,9,9,9,15,9,15,9,15,9,9,9,15,9,9,15,9,15,9,15,9,15,9,15,9,15,9,17,17,17,17,17,0,17,0,17,0,0,0,17,17,17,17,17,17,17,13,30,17,13,30,17,13,30,17,13,30,17,13,30,17,13,30,17,13,30,30,17,13,30,17,17,13,13,30,30,17,17,13,13,30,17,13,30,13,30,13,30,13,30,13,13,30,17,13,30,17,13,30,13,30,13,13,30,13,17,13,30,13,30,17,13,30,17,13,17,13,30,17,13,30,17,13,30,17,13,30,30,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,0,0,0,16,16,16,16,16,16,16,23,16,23,16,23,16,23,16,23,16,23,16,23,16,23,16,16,23,23,16,16,23,16,23,23,23,23,16,23,16,23,23,23,16,23,23,23,23,23,16,23,16,16,23,16,23,16,23,16,23,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[1,1],[[]],[[],[[3,[2]]]],[[],[[3,[2]]]],[4],[4],[4],[[1,5],6],[[]],[[],4],[[]],[1,[[8,[7]]]],0,0,0,0,[9,10],0,[[]],[[],11],[[],11],[[],12],[[10,13],14],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[15,15],[9,9],[[]],[[]],[4],[4],[4],[4],[4],[4],[[15,15],14],[[9,9],14],[[],14],[[],14],[[],14],[[],14],[[15,5],6],[[15,5],6],[[9,5],6],[[9,5],6],[16,15],[[]],[17,15],[[]],[[[18,[7]]],[[19,[9]]]],[20,[[19,[9]]]],[[21,22],9],[23,[[19,[9]]]],[9,24],[[],4],[[],4],[[]],[[]],[25],0,[[[0,[26,27]]],[[19,[9]]]],0,[15,[[29,[28]]]],[9,[[8,[7]]]],[9,24],[[]],[[]],[[],24],[[],24],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[17,17],[13,13],[30,30],[[]],[[]],[[]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[],30],[[17,17],14],[[13,13],14],[[30,30],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[17,5],6],[[17,5],6],[[13,5],6],[[13,5],6],[[30,5],6],[[]],[[]],[[]],[20,[[31,[13]]]],[20,[[31,[30]]]],[[[18,[7]]],[[31,[13]]]],[[[18,[7]]],[[31,[30]]]],[20,[[31,[13]]]],[20,[[31,[30]]]],[22,13],[23,[[31,[13]]]],[23,30],[[],4],[[],4],[[],4],[[]],[[]],[[]],[13,24],[30,24],[13,30],[13,22],0,[13,22],[25],[13,[[8,[7]]]],[30,[[8,[7]]]],[13,24],[30,24],[[]],[[]],[[]],[[],24],[[],24],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[],12],[[]],[[]],[[]],0,0,[[]],[[]],[4],[4],[4],[[]],[[],4],[[]],[[[32,[2]],9,2],10],[[],11],[[],11],[[],12],[[[32,[2]],10,13,2],14],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[16,16],[23,23],[[]],[[]],[4],[4],[4],[4],[4],[4],[[16,16],14],[[23,23],14],[[],14],[[],14],[[],14],[[],14],[[16,5],6],[[16,5],6],[[23,5],6],[[]],[[]],[20,[[33,[23]]]],[[[18,[7]]],[[33,[23]]]],[20,[[33,[23]]]],[[],4],[[],4],[[]],[[]],[23,21],[21,23],[25],[[[0,[26,27]]],23],[23,21],[23,24],[23,[[8,[7]]]],[23,24],[[]],[[]],[[],24],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[]],[[]],0,[[]],[[]],[10,10],[[]],[4],[4],[4],[[10,10],14],[[],14],[[],14],[[10,5],6],[[10,5],6],[[]],[[],4],[[]],[[34,21],10],0,0,[[]],[[],24],[[],11],[[],11],[[],12],[[]]],"c":[],"p":[[4,"NetworkId"],[8,"Hashable"],[8,"Signer"],[15,"usize"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Keypair"],[3,"Signature"],[4,"Result"],[3,"TypeId"],[3,"PubKey"],[15,"bool"],[4,"KeypairError"],[4,"SecKeyError"],[4,"PubKeyError"],[15,"slice"],[6,"Result"],[15,"str"],[6,"ScalarField"],[6,"CurvePoint"],[3,"SecKey"],[3,"String"],[3,"Demand"],[8,"RngCore"],[8,"CryptoRng"],[8,"Error"],[4,"Option"],[3,"CompressedPubKey"],[6,"Result"],[3,"Schnorr"],[6,"Result"],[6,"BaseField"]]},\ "mvpoly":{"doc":"This module contains the definition of the MVPoly trait, …","t":"IKFKKKKKLLKKKKKKAKAAKADLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLFFLLLLLLFLLLLLFLFLLLLLLL","n":["MVPoly","add_monomial","compute_combined_cross_terms","compute_cross_terms","compute_cross_terms_scaled","degree","double","eval","from_constant","from_expr","from_variable","homogeneous_eval","is_constant","is_homogeneous","is_multilinear","modify_monomial","monomials","mul_by_scalar","pbt","prime","random","utils","Sparse","add","add","add","add","add_monomial","borrow","borrow_mut","clone","clone_into","compute_cross_terms","compute_cross_terms_scaled","degree","deref","deref_mut","double","drop","eq","equivalent","equivalent","eval","fmt","from","from","from","from","from_variable","homogeneous_eval","init","into","is_constant","is_homogeneous","is_multilinear","is_zero","modify_monomial","monomials","mul","mul_by_scalar","neg","neg","one","random","sub","sub","sub","sub","to_owned","try_from","try_into","type_id","vzip","zero","test_add_monomial","test_add_zero","test_can_be_printed_with_debug","test_degree_constant","test_degree_random_degree","test_double_is_add_twice","test_eval_pbt_add","test_eval_pbt_mul_by_scalar","test_eval_pbt_neg","test_eval_pbt_sub","test_evaluation_constant_polynomial","test_evaluation_zero_polynomial","test_homogeneous_eval","test_is_constant","test_is_multilinear","test_is_zero","test_mul_by_one","test_mul_by_scalar","test_mul_by_scalar_with_one","test_mul_by_scalar_with_zero","test_mul_by_zero","test_mvpoly_add_degree_pbt","test_mvpoly_mul_by_scalar_degree_pbt","test_mvpoly_mul_degree_pbt","test_mvpoly_mul_eval_pbt","test_mvpoly_mul_pbt","test_mvpoly_neg_degree_pbt","test_mvpoly_sub_degree_pbt","test_neg","test_neg_ref","test_sub_zero","Dense","add","add","add","add","add_monomial","borrow","borrow_mut","clone","clone_into","compute_cross_terms","compute_cross_terms_scaled","compute_normalized_indices","default","degree","deref","deref_mut","dimension","double","drop","eq","equivalent","equivalent","eval","fmt","from","from","from","from_coeffs","from_variable","homogeneous_eval","increase_degree","index","index_mut","init","into","is_constant","is_homogeneous","is_multilinear","is_zero","iter","maximum_degree","modify_monomial","mul","mul_by_scalar","neg","neg","new","number_of_variables","one","random","sub","sub","sub","sub","to_owned","try_from","try_into","type_id","vzip","zero","PrimeNumberGenerator","borrow","borrow_mut","compute_all_two_factors_decomposition","compute_indices_nested_loop","default","deref","deref_mut","drop","from","get_first_nth_primes","get_mapping_with_primes","get_next_prime","get_nth_prime","init","into","into_iter","is_prime","is_prime","naive_prime_factors","new","next","par_bridge","try_from","try_into","type_id","vzip"],"q":[[0,"mvpoly"],[22,"mvpoly::monomials"],[74,"mvpoly::pbt"],[105,"mvpoly::prime"],[166,"mvpoly::utils"]],"d":["Generic trait to represent a multi-variate polynomial","Add the monomial coeff * x_1^{e_1} * ... * x_N^{e_N} to the","Compute the cross terms of a list of polynomials. The …","Compute the cross-terms as described in Behind Nova: …","Compute the cross-terms of the given polynomial, scaled by …","Returns the degree of the polynomial.","","Evaluate the polynomial at the vector point x.","","Build a value from an expression. This method aims to be …","Build the univariate polynomial x_i from the variable i. …","Evaluate the polynomial at the vector point x and the …","","Returns true if the polynomial is homogeneous (of degree D…","Return true if the multi-variate polynomial is …","Modify the monomial in the polynomial to the new value …","","","This module contains a list of property tests for the …","Multivariate polynomial dense representation using prime …","Generate a random polynomial of maximum degree max_degree.","This module contains functions to work with prime numbers …","Represents a multivariate polynomial in N variables with …","","","","","","","","","","","","Returns the degree of the polynomial.","","","","","","","","Evaluate the polynomial at the vector point x.","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","Generate a random polynomial of maximum degree max_degree.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Represents a multivariate polynomial of degree less than D …","","","","","","","","","","","","Output example for N = 2 and D = 2:","","Returns the degree of the polynomial.","","","","","","","","","Evaluate the polynomial at the vector point x.","","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","Generate a random polynomial of maximum degree max_degree.","","","","","","","","","","","","","","Compute all the possible two factors decomposition of a …","Compute the list of indices to perform N nested loops of …","","","","","Returns the argument unchanged.","","Build mapping from 1..N to the first N prime numbers. It …","Get the next prime number","Generate the nth prime number","","Calls U::from(self).","","Naive implementation checking if n is prime You can also …","Check if a number is prime using the list of prime numbers …","Given a number n, return the list of prime factors of n, …","","","","","","",""],"i":[0,4,0,4,4,4,4,4,4,4,4,4,4,4,4,4,0,4,0,0,4,0,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,25,25,0,0,25,25,25,25,25,25,0,25,25,25,25,25,0,25,0,25,25,25,25,25,25,25],"f":[0,[[[2,[1]]]],[[[5,[[4,[3]]]],[2,[3]],[2,[3]],3,3,3,3],[[6,[1,3]]]],[[2,2],[[6,[1]]]],[[2,2],[[6,[1]]]],[[],1],[[]],[2],[[[9,[[8,[7]]]]]],[[[12,[[10,[7]],[11,[1]]]],[13,[1]]]],[[[14,[[11,[1]]]],[13,[1]]]],[2],[[],15],[[],15],[[],15],[[[2,[1]]]],0,[[]],0,0,[[16,[13,[1]]]],0,0,[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]],[[17,[3]]]],[[[17,[3]],[2,[1]],3]],[[]],[[]],[[[17,[[0,[7,3]]]]],[[17,[[0,[7,3]]]]]],[[]],[[[17,[3]],[2,[3]],[2,[3]],3,3],[[6,[1,3]]]],[[[17,[3]],[2,[3]],[2,[3]],3,3,3,3],[[6,[1,3]]]],[[[17,[3]]],1],[1],[1],[[[17,[3]]],[[17,[3]]]],[1],[[[17,[3]],[17,[3]]],15],[[],15],[[],15],[[[17,[3]],[2,[3]]],3],[[[17,[3]],18],19],[20],[[]],[3,[[17,[3]]]],[[[21,[3]]],[[17,[3]]]],[[[14,[[11,[1]]]],[13,[1]]],[[17,[3]]]],[[[17,[3]],[2,[3]],3],3],[[],1],[[]],[[[17,[3]]],15],[[[17,[3]]],15],[[[17,[3]]],15],[[[17,[3]]],15],[[[17,[3]],[2,[1]],3]],0,[[[17,[3]],[17,[3]]],[[17,[3]]]],[[[17,[3]],3],[[17,[3]]]],[[[17,[3]]]],[[[17,[3]]]],[[],[[17,[3]]]],[[16,[13,[1]]],[[17,[3]]]],[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]]],[[[17,[3]],[17,[3]]]],[[]],[[],22],[[],22],[[],23],[[]],[[],[[17,[3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[2,[1]],3]],[[]],[[]],[[[21,[[0,[7,3]]]]],[[21,[[0,[7,3]]]]]],[[]],[[[21,[3]],[2,[3]],[2,[3]],3,3],[[6,[1,3]]]],[[[21,[3]],[2,[3]],[2,[3]],3,3,3,3],[[6,[1,3]]]],[[],[[5,[1]]]],[[],[[21,[3]]]],[[[21,[3]]],1],[1],[1],[[],1],[[[21,[3]]],[[21,[3]]]],[1],[[[21,[3]],[21,[3]]],15],[[],15],[[],15],[[[21,[3]],[2,[3]]],3],[[[21,[3]],18],19],[20],[[]],[3,[[21,[3]]]],[[[5,[3]]],[[21,[3]]]],[[[14,[[11,[1]]]],[13,[1]]],[[21,[3]]]],[[[21,[3]],[2,[3]],3],3],[[[21,[3]]],[[21,[3]]]],[[[21,[3]],1]],[[[21,[3]],1]],[[],1],[[]],[[[21,[3]]],15],[[[21,[3]]],15],[[[21,[3]]],15],[[[21,[3]]],15],[[[21,[3]]],24],[[[21,[3]]],1],[[[21,[3]],[2,[1]],3]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],3],[[21,[3]]]],[[[21,[3]]]],[[[21,[3]]]],[[],[[21,[3]]]],[[[21,[3]]],1],[[],[[21,[3]]]],[[16,[13,[1]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[[21,[3]],[21,[3]]],[[21,[3]]]],[[]],[[],22],[[],22],[[],23],[[]],[[],[[21,[3]]]],0,[[]],[[]],[[1,[6,[1,5]],25],5],[[[5,[1]],[13,[1]]],[[5,[[5,[1]]]]]],[[],25],[1],[1],[1],[[]],[[25,1],[[5,[1]]]],[[],[[5,[1]]]],[25,1],[[25,1],1],[[],1],[[]],[[]],[1,15],[[25,1],15],[[1,25],5],[[],25],[25,13],[[],26],[[],22],[[],22],[[],23],[[]]],"c":[],"p":[[15,"usize"],[15,"array"],[8,"PrimeField"],[8,"MVPoly"],[3,"Vec"],[3,"HashMap"],[8,"Clone"],[4,"ConstantExprInner"],[4,"Operations"],[6,"ConstantExpr"],[8,"Into"],[6,"Expr"],[4,"Option"],[3,"Variable"],[15,"bool"],[8,"RngCore"],[3,"Sparse"],[3,"Formatter"],[6,"Result"],[15,"never"],[3,"Dense"],[4,"Result"],[3,"TypeId"],[8,"Iterator"],[3,"PrimeNumberGenerator"],[3,"IterBridge"]]},\ "o1_utils":{"doc":"A collection of utility functions and constants that can …","t":"CCCCCCCCCCAAAAOOAAAAAAAAAADLLLLLLLLLLLLLLLLFFFIKKIKKKDLLMLLLLLLLLLLMLLLLLDLLLLLLLLLLMMLLLLIKKKKIKKKKINNNIENIGIKLLLLLLLLLLLLLLKKKKKFLFLLFFLLLLKKKKLLLLKKLLDILLLLLLLLLLLLLLLLLLLMLLLLLLKLKLKLLLLISLFFDDLLLLLLLLLLLLLLLLLLALLFFLLLLLLLLFFF","n":["BigUintFieldHelpers","BigUintHelpers","BitwiseOps","ChunkedEvaluations","ExtendedDensePolynomial","ExtendedEvaluations","FieldHelpers","ForeignElement","RandomField","Two","adjacent_pairs","array","biguint_helpers","bitwise_operations","box_array","box_array2","chunked_evaluations","chunked_polynomial","dense_polynomial","evaluations","field_helpers","foreign_field","hasher","math","serialization","tests","AdjacentPairs","borrow","borrow_mut","deref","deref_mut","drop","from","from","from","init","into","into_iter","next","try_from","try_into","type_id","vzip","vec_to_boxed_array","vec_to_boxed_array2","vec_to_boxed_array3","BigUintHelpers","bitlen","from_hex","BitwiseOps","bitwise_and","bitwise_not","bitwise_xor","ChunkedEvaluations","borrow","borrow_mut","chunks","clone","clone_into","deref","deref_mut","deserialize","drop","from","init","into","serialize","size","to_owned","try_from","try_into","type_id","vzip","ChunkedPolynomial","borrow","borrow_mut","deref","deref_mut","drop","evaluate_chunks","from","init","into","linearize","polys","size","try_from","try_into","type_id","vzip","ExtendedDensePolynomial","eval_polynomial","scale","shiftr","to_chunked_polynomial","ExtendedEvaluations","pow","scale","shift","square","BigUintFieldHelpers","DecodeHex","DeserializeBits","DeserializeBytes","FieldHelpers","FieldHelpersError","FromBigToField","RandomField","Result","Two","bits_to_field","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","fmt","from","from_biguint","from_bits","from_bytes","from_hex","gen","gen_field_with_bits","i32_to_field","init","inner_prod","into","modulus_biguint","pows","product","provide","size_in_bytes","to_bigint_positive","to_biguint","to_bits","to_bytes","to_field","to_hex","to_owned","to_string","try_from","try_into","two","two_pow","type_id","vzip","ForeignElement","ForeignFieldHelpers","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","from_be","from_biguint","from_field","index","index_mut","init","into","limbs","neg","new","to_biguint","to_owned","try_from","try_into","two_to_2limb","two_to_2limb","two_to_3limb","two_to_3limb","two_to_limb","two_to_limb","type_id","vzip","zero","CryptoDigest","PREFIX","digest","ceil_log2","div_ceil","SerdeAs","SerdeAsUnchecked","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","deserialize_as","deserialize_as","drop","drop","from","from","init","init","into","into","ser","serialize_as","serialize_as","test_generic_serialization_regression_canonical","test_generic_serialization_regression_serde","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","deserialize","serialize","make_test_rng"],"q":[[0,"o1_utils"],[26,"o1_utils::adjacent_pairs"],[43,"o1_utils::array"],[46,"o1_utils::biguint_helpers"],[49,"o1_utils::bitwise_operations"],[53,"o1_utils::chunked_evaluations"],[73,"o1_utils::chunked_polynomial"],[90,"o1_utils::dense_polynomial"],[95,"o1_utils::evaluations"],[100,"o1_utils::field_helpers"],[153,"o1_utils::foreign_field"],[190,"o1_utils::hasher"],[193,"o1_utils::math"],[195,"o1_utils::serialization"],[228,"o1_utils::serialization::ser"],[230,"o1_utils::tests"]],"d":["","","","","","","","","","","This module hosts the AdjacentPairs type, which can be …","This module provides different helpers in creating …","This module provides a set of functions to perform bit …","This module provides a set of functions to perform bit …","A macro similar to vec![$elem; $size] which returns a boxed","A macro similar to vec![vec![$elem; $size1]; $size2] which …","This module contains a type ChunkedEvaluations,","This module contains a type ChunkedPolynomial, and a …","This adds a few utility functions for the DensePolynomial …","This adds a few utility functions for the Evaluations …","Useful helper methods to extend ark_ff::Field.","Describes helpers for foreign field arithmetics Generic …","This module provides the CryptoDigest trait, which …","This modules implements some math helper functions.","This adds a few utility functions for serializing and …","Utils only for testing","You can create a new AdjacentPairs from an iterator using:","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","Converts a vector of elements to a boxed one. Semantically …","Converts a two-dimensional vector to a constant sized …","Converts a three-dimensional vector to a constant sized …","Helpers for BigUint","Returns the minimum number of bits required to represent a …","Creates a BigUint from an hexadecimal string in big endian","Bitwise operations","Conjunction of the bits of two BigUint inputs for a given …","Negate the bits of a Self input If it provides a larger …","Bitwise XOR of two BigUint inputs","This struct contains multiple chunk evaluations.","","","The chunk evaluations.","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Each chunk polynomial has degree size-1.","","","","","","This struct contains multiple chunk polynomials with …","","","","","","This function evaluates polynomial in chunks.","Returns the argument unchanged.","","Calls U::from(self).","Multiplies the chunks of a polynomial with powers of …","The chunk polynomials.","Each chunk polynomial has degree size-1.","","","","","An extension for the DensePolynomial type.","eval_polynomial(coeffs, x) evaluates a polynomial given …","This function “scales” (multiplies all the …","Shifts all the coefficients to the right.","Convert a polynomial into chunks. Implementors must ensure …","An extension for the Evaluations type.","Raise each evaluation to some power pow","This function “scales” (multiplies) a polynomial with …","Utility function for shifting poly along domain coordinate","Square each evaluation","Field element wrapper for BigUint","","","","Field element helpers Unless otherwise stated everything …","Field helpers error","","Helper to generate random field elements","Result alias using FieldHelpersError","Helper to obtain two","Create a new field element from this field elements bits","","","","","","","","","","","","","Returns the argument unchanged.","Deserialize from BigUint","Deserialize from bits","Deserialize from bytes","Deserialize from little-endian hex","Initialize a random input with a random value of given …","Generates a random field element of up to a given number …","Converts an i32 into a Field","","COmpute the inner product of two slices of field elements.","Calls U::from(self).","Get the modulus as BigUint","pows(d, x) returns a vector containing the first d powers …","Returns the product of all the field elements belonging to …","","Field size in bytes","Serialize field element f to a (positive) BigInt directly.","Serialize field element to a BigUint","Serialize to bits","Serialize to bytes","Convert BigUint into PrimeField element","Serialize to hex","","","","","Value two","Power of two","","","Represents a foreign field element Represents a foreign …","Foreign field helpers for B the limb size.","","","","","","","","","","","","Returns the argument unchanged.","Initializes a new foreign element from a set of bytes in …","Initializes a new foreign element from a big unsigned …","Initializes a new foreign element from an element in the …","","","","Calls U::from(self).","limbs in little endian order","Initializes a new foreign element from an absolute BigUint …","Creates a new foreign element from an array containing N …","Obtains the big integer representation of the foreign …","","","","2^{2 * B}","","2^{3 * B}","","2^{B}","","","","Creates a new foreign element representing the value zero","This trait can be implemented on any type that implements …","The domain separation string to use in the hash. This is …","Returns the digest of self. Note: this is implemented as …","Returns ceil(log2(d)) but panics if d = 0.","This function is bound to be stable soon. See …","You can use SerdeAs with serde_with in order to serialize …","Same as SerdeAs but using unchecked and uncompressed …","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","You can use this module for serialization and …","","","A generic regression serialization test for serialization …","A generic regression serialization test for serialization …","","","","","","","","","You can use this to deserialize an arkworks type with …","You can use this to serialize an arkworks type with serde …","Create a new test rng with a random seed"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,45,45,0,46,46,46,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,47,47,47,47,0,48,48,48,48,0,24,24,24,0,0,24,0,0,0,49,24,24,24,24,24,24,24,24,24,24,24,24,24,49,49,49,49,50,50,0,24,0,24,49,0,0,24,49,49,49,49,49,51,49,24,24,24,24,52,52,24,24,0,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,53,37,53,37,53,37,37,37,37,0,54,54,0,0,0,0,55,56,55,56,55,56,55,56,55,56,55,56,55,56,55,56,55,56,0,55,56,0,0,55,56,55,56,55,56,55,56,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[1],[1],[1],[2,[[4,[3]]]],[[]],[5],[[],1],[[]],[[]],[[[4,[6,3]]],7],[[],8],[[],8],[[],9],[[]],[10,[[12,[11]]]],[[[10,[[10,[13]]]]],[[12,[[11,[[11,[13]]]]]]]],[[[10,[[10,[[10,[13]]]]]]],[[12,[[11,[[11,[[11,[13]]]]]]]]]],0,[[],1],[14],0,[1],[[[7,[1]]]],[[]],0,[[]],[[]],0,[[[16,[[0,[15,13]]]]],[[16,[[0,[15,13]]]]]],[[]],[1],[1],[17,[[8,[[16,[15]]]]]],[1],[[]],[[],1],[[]],[[[16,[15]],18],8],0,[[]],[[],8],[[],8],[[],9],[[]],0,[[]],[[]],[1],[1],[1],[[[20,[19]],19],[[10,[19]]]],[[]],[[],1],[[]],[[[20,[19]],19],[[21,[19]]]],0,0,[[],8],[[],8],[[],9],[[]],0,[22],[[]],[1],[[1,1],20],0,[1],[[]],[1],[[]],0,0,0,0,0,0,0,0,0,0,[[1,1],23],[[]],[[]],[24,24],[[]],[1],[1],[1],[[24,24],25],[[],25],[[],25],[[24,26],27],[[24,26],27],[[]],[28,[[23,[15]]]],[[[22,[25]]],23],[[[22,[29]]],23],[14,23],[[7,[7,[1]]]],[1],[30,[[0,[[32,[31]],33]]]],[[],1],[[[22,[19]],[22,[19]]],19],[[]],[[],28],[[1,19],[[10,[19]]]],[3,19],[34],[[],1],[[],35],[[],28],[[],[[10,[25]]]],[[],[[10,[29]]]],[[],[[23,[15]]]],[[],36],[[]],[[],36],[[],8],[[],8],[[]],[31],[[],9],[[]],0,0,[[]],[[]],[[[37,[[0,[13,19]]]]],[[37,[[0,[13,19]]]]]],[[]],[1],[1],[1],[[[37,[[0,[38,19]]]],[37,[[0,[38,19]]]]],25],[[],25],[[],25],[[[37,[19]],26],27],[[]],[[[22,[29]]],[[37,[19]]]],[28,[[37,[19]]]],[15,[[37,[15]]]],[[[37,[19]],1]],[[[37,[19]],1]],[[],1],[[]],0,[[[37,[19]],28],[[37,[19]]]],[[[11,[19]]],[[37,[19]]]],[[[37,[19]]],28],[[]],[[],8],[[],8],[[]],[[],19],[[]],[[],19],[[]],[[],19],[[],9],[[]],[[],[[37,[19]]]],0,0,[[],[[11,[29]]]],[1,1],[[1,1],1],0,0,[[]],[[]],[[]],[[]],[1],[1],[1],[1],[17,[[8,[39]]]],[17,[[8,[39]]]],[1],[1],[[]],[[]],[[],1],[[],1],[[]],[[]],0,[[40,18],8],[[40,18],8],[[[0,[40,39,38,41]],[10,[29]]]],[[[0,[42,43,38,41]],[10,[29]]]],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[]],[[]],[17,[[8,[39]]]],[[40,18],8],[[[7,[[11,[29]]]]],44]],"c":[],"p":[[15,"usize"],[8,"IntoIterator"],[8,"Iterator"],[3,"AdjacentPairs"],[15,"never"],[8,"Copy"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"Vec"],[15,"array"],[3,"Box"],[8,"Clone"],[15,"str"],[8,"PrimeField"],[3,"ChunkedEvaluations"],[8,"Deserializer"],[8,"Serializer"],[8,"Field"],[3,"ChunkedPolynomial"],[3,"DensePolynomial"],[15,"slice"],[6,"Result"],[4,"FieldHelpersError"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"BigUint"],[15,"u8"],[15,"i32"],[15,"u64"],[8,"From"],[8,"Neg"],[3,"Demand"],[3,"BigInt"],[3,"String"],[3,"ForeignElement"],[8,"PartialEq"],[8,"CanonicalDeserialize"],[8,"CanonicalSerialize"],[8,"Debug"],[8,"Serialize"],[8,"Deserialize"],[3,"StdRng"],[8,"BigUintHelpers"],[8,"BitwiseOps"],[8,"ExtendedDensePolynomial"],[8,"ExtendedEvaluations"],[8,"FieldHelpers"],[8,"RandomField"],[8,"BigUintFieldHelpers"],[8,"Two"],[8,"ForeignFieldHelpers"],[8,"CryptoDigest"],[3,"SerdeAs"],[3,"SerdeAsUnchecked"]]},\ -"o1vm":{"doc":"","t":"CCAAAAAAAAAAANNNRRDDDNRRRRRDDDDNDDEDDMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNELLLLALLLLLLLLLLLLLLLLLLLLLENDDNDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLENNLLLLLLLLFFLLLLAAANNNNCNNNENENNNNNNNCNCNNNNLLLLLLLLAALLLLLLALLLLLLLLLLALLALLFFLLLLLLLLLLANEDNNNENNNGNNRRRNNNNNNNNNNNNNNNNNNNEDNNEDNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLMLLLLLLLLMLLLLLLLDLLLLMLLLLLLLLLLLLMLLLLLLMLLIIILLLLLLLLLLLLLLLLKLLLIIQKLLLKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLMMLLLLLLLMCCCCAAAAAENGRRRRRNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNRRRRRRRNEDEDINEDNNNNNNNNNNNNNNNNNNNNNNNNQNEDRRRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNLLLKKKKKKKLLLKLLLLLLLLLLLLLLLLKKKLLLLLLLLLLLLLLLLLLLLKKKKALLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKFFFFLLLLLLLLLLLLLKLLLLLLLLLLLLLKKKLLLLLLLLKLLLLKLLLLLLLLKKLLKKLLLLLLKKKKKLLKKKLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKDLLLLLLLLLLLLLLLLMLLMMMMLMLLLLLRRRRRRRRRDLLLLMLLLLLLLMMMLLLLLMMMMLLLLLLDRRRRRRRDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLMMMMMMLLLLLLLMMMMLLLLMMLLLLLLMMMMMLLLLLLMLLLLLLLLLLLLLLLLLLRRRRRAAAAAEGNNNLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLNNNNNNNNNNNNNNNEDNEDINNNNNNNNEDNNNNNNNQEDNNNEDNEDNNNNNNNNNNNNNNNEDNNEDEDNNQNNLLLKKKKKKKLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKFFFFFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLLLLLLLLKKLLKKLLLLLKKKLLKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLKNNNNNNNNNNNNRNRRRNEDNNNNNNNNNNNNNNNNNNNNNNLLLLLLMLLLLLLLLLLLMMLLLLLLLMLLLLLLLLLLDRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLMMMMLLLLLLLLLLLLLLLLMMLLLMMMLLLLLLLLLLLLLLLLLLLGGGGGGGAAANEDDDDDNNMMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLALALLLLMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMDGGGLLLLLLLLLLLLLLLLLLLLLLLDGGGLLLLLLLLLLLLLLLLLLLLLLLFIDIQDILLLLLLLLMLLLLMMLLKLLLLLKLLLLLLAMAKLKLKLKLKKLLLKLLLMLLLLLLLLMGGLLLLLLLGGLLLLLLLNNNENNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRRRAAAADLLMLMLLMLLFLLLLLLLMLLLLLMDDDLLLLLLMLLLLLLLLLMMLLLLLLLMLLLLMMMMMMLLLLLLLLLLLLMMNELLLLLLLLLLLLFLLLLLLLFDIDDLLLLLLMLFLLLLLLLLLLLLKLKLMMLLLLLLMMMLLLLLLLLLLLLLMEDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFF","n":["RAMLookup","RAMLookupMode","cannon","cli","elf_loader","interpreters","legacy","lookups","pickles","preimage_oracle","ramlookup","test_preimage_read","utils","Always","Every","Exactly","HINT_CLIENT_READ_FD","HINT_CLIENT_WRITE_FD","Hint","HostProgram","Meta","Never","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","PREIMAGE_CLIENT_READ_FD","PREIMAGE_CLIENT_WRITE_FD","Page","ParsePreimageKeyError","Preimage","PreimageKey","Range","Start","State","StepFrequency","Symbol","VmConfiguration","arguments","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create","create","create","data","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","equivalent","equivalent","exit","exited","find_address_symbol","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_str","from_str","get","get","heap","hi","host","index","info_at","init","init","init","init","init","init","init","init","init","init","init","init","input_state_file","into","into","into","into","into","into","into","into","into","into","into","into","last_hint","lo","memory","metadata_file","name","name","next_pc","output_state_file","pc","pprof_cpu","preimage","preimage_key","preimage_offset","proof_at","proof_fmt","registers","serialize","serialize","size","snapshot_fmt","snapshot_state_at","start","step","step","stop_at","symbols","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Cannon","Commands","augment_subcommands","augment_subcommands_for_update","borrow","borrow_mut","cannon","clone","clone_into","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","has_subcommand","init","into","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Cannon","GenStateJson","GenStateJsonArgs","MipsVmConfigurationArgs","Run","RunArgs","TestPreimageRead","augment_args","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","command","command","command","command_for_update","command_for_update","command_for_update","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","group_id","group_id","group_id","has_subcommand","init","init","init","init","input","into","into","into","into","output","preimage_db_dir","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vm_cfg","vzip","vzip","vzip","vzip","Architecture","Mips","RiscV32","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","make_state","parse_elf","try_from","try_into","type_id","vzip","keccak","mips","riscv32im","AbsorbRootZero","AbsorbShifts","AbsorbXor","AbsorbZeroPad","Absorbs","BooleanityPadding","ChiShiftsB","ChiShiftsSum","Constraint","Constraint","Error","IotaStateG","Lookup","PadAtEnd","PaddingSuffix","PiRhoRotatedE","PiRhoShiftsE","PiRhoWordE","Sponges","SqueezeShifts","Steps","ThetaQuotientC","ThetaRotatedC","ThetaShiftsC","ThetaWordC","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","column","constraints","deref","deref","deref_mut","deref_mut","drop","drop","environment","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","helpers","init","init","interpreter","into","into","pad_blocks","standardize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","Absorb","Absorbs","AbsorbsIter","BlockIndex","ChiShiftsB","ChiShiftsSum","ColumnAlias","First","HashIndex","Input","KeccakWitness","Last","Middle","N_ZKVM_KECCAK_COLS","N_ZKVM_KECCAK_REL_COLS","N_ZKVM_KECCAK_SEL_COLS","Only","Output","PadBytesFlags","PadLength","PadSuffix","PiRhoDenseE","PiRhoDenseRotE","PiRhoExpandRotE","PiRhoQuotientE","PiRhoRemainderE","PiRhoShiftsE","Round","RoundConstants","RoundNumber","Sponge","SpongeBytes","SpongeNewState","SpongeShifts","SpongeZeros","Sponges","SpongesIter","Squeeze","StepIndex","Steps","StepsIter","ThetaDenseC","ThetaDenseRotC","ThetaExpandRotC","ThetaQuotientC","ThetaRemainderC","ThetaShiftsC","TwoToPad","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","hash","hash","hash","hash","index","index","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","is_witness","iter","iter","iter","iter","len","len","len","len","next","next","next","next_back","next_back","next_back","nth","nth","nth","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","size_hint","size_hint","size_hint","to_column","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","constraints","default","deref","deref_mut","drop","fmt","from","init","into","lookups","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","KeccakEnv","borrow","borrow_mut","clone","clone_into","constraints_env","default","deref","deref_mut","drop","fmt","from","init","into","new","null_state","selector","step","step","to_owned","try_from","try_into","type_id","update_step","vzip","witness_env","write_column","write_column_field","ArithHelpers","BoolHelpers","LogupHelpers","either_zero","is_boolean","is_nonzero","is_one","is_zero","lookup_byte","lookup_pad","lookup_rc16","lookup_reset","lookup_round_constants","lookup_sparse","not","one","or","read_syscall","two","two_pow","write_syscall","xor","zero","Interpreter","KeccakInterpreter","Variable","add_lookup","block_in_padding","block_index","bytes_block","constant","constant_field","constrain","constrain_absorb","constrain_booleanity","constrain_chi","constrain_flags","constrain_iota","constrain_padding","constrain_pirho","constrain_round","constrain_sponge","constrain_squeeze","constrain_theta","constraints","dense_c","dense_e","dense_rot_c","dense_rot_e","expand_rot_c","expand_rot_e","flags_block","from_quarters","from_shifts","hash_index","in_padding","input","input_of_step","is_absorb","is_pad","is_root","is_round","is_sponge","is_squeeze","lookup_steps","lookup_syscall_hash","lookup_syscall_preimage","lookups","lookups_round_chi","lookups_round_iota","lookups_round_pirho","lookups_round_theta","lookups_sponge","mode_absorb","mode_pad","mode_root","mode_rootpad","mode_round","mode_squeeze","new_state","old_state","output","output_of_step","pad_bytes_flags","pad_length","pad_suffix","quotient_c","quotient_e","remainder_c","remainder_e","round","round_constants","shifts_b","shifts_c","shifts_e","shifts_sum","sponge_byte","sponge_bytes","sponge_shifts","sponge_zeros","state_a","state_g","step_index","two_to_pad","variable","vec_dense_c","vec_dense_e","vec_dense_rot_c","vec_dense_rot_e","vec_expand_rot_c","vec_expand_rot_e","vec_quotient_c","vec_quotient_e","vec_remainder_c","vec_remainder_e","vec_shifts_b","vec_shifts_c","vec_shifts_e","vec_shifts_sum","vec_sponge_shifts","xor_state","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","default","deref","deref_mut","drop","fmt","from","init","into","multiplicities","tables","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","witness","ITypeInstruction","Instruction","JTypeInstruction","RTypeInstruction","column","constraints","interpreter","registers","witness","ColumnAlias","InstructionCounter","MIPSWitness","N_MIPS_COLS","N_MIPS_REL_COLS","N_MIPS_SEL_COLS","SCRATCH_SIZE","SCRATCH_SIZE_INVERSE","ScratchState","ScratchStateInverse","Selector","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index_mut","index_mut","init","into","is_witness","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","Env","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","bitmask","borrow","borrow_mut","check_boolean","check_equal","check_is_zero","constant","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","divmod","divmod_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_all_constraints","get_constraints","get_lookups","get_selector","get_selector_constraints","increase_instruction_counter","init","instruction_counter","into","is_zero","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","request_hint_write","request_preimage_write","reset","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","Add","AddImmediate","AddImmediateUnsigned","AddUnsigned","And","AndImmediate","BranchEq","BranchGeqZero","BranchGtZero","BranchLeqZero","BranchLtZero","BranchNeq","CountLeadingOnes","CountLeadingZeros","Div","DivUnsigned","FD_HINT_READ","FD_HINT_WRITE","FD_PREIMAGE_READ","FD_PREIMAGE_WRITE","FD_STDERR","FD_STDIN","FD_STDOUT","IType","ITypeInstruction","ITypeInstructionIter","Instruction","InstructionIter","InterpreterEnv","JType","JTypeInstruction","JTypeInstructionIter","Jump","JumpAndLink","JumpAndLinkRegister","JumpRegister","Load16","Load16Unsigned","Load32","Load8","Load8Unsigned","LoadUpperImmediate","LoadWordLeft","LoadWordRight","MoveFromHi","MoveFromLo","MoveNonZero","MoveToHi","MoveToLo","MoveZero","Multiply","MultiplyToRegister","MultiplyUnsigned","Nor","Or","OrImmediate","Position","RType","RTypeInstruction","RTypeInstructionIter","SYSCALL_BRK","SYSCALL_CLONE","SYSCALL_EXIT_GROUP","SYSCALL_FCNTL","SYSCALL_MMAP","SYSCALL_READ","SYSCALL_WRITE","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalVariable","ShiftRightArithmetic","ShiftRightArithmeticVariable","ShiftRightLogical","ShiftRightLogicalVariable","Store16","Store32","Store32Conditional","Store8","StoreWordLeft","StoreWordRight","Sub","SubUnsigned","Sync","SyscallExitGroup","SyscallFcntl","SyscallMmap","SyscallOther","SyscallReadHint","SyscallReadOther","SyscallReadPreimage","SyscallWriteHint","SyscallWriteOther","SyscallWritePreimage","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","debugging","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_jtype","interpret_rtype","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","is_zero","iter","iter","iter","iter","iter","len","len","len","len","len","lookup_16bits","lookup_2bits","lookup_8bits","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next","next","next","next","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check16","range_check2","range_check64","range_check8","read_memory","read_register","report_exit","request_hint_write","request_preimage_write","reset","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","InstructionParts","borrow","borrow_mut","clone","clone_into","decode","default","deref","deref_mut","deserialize","drop","encode","eq","equivalent","equivalent","fmt","from","funct","init","into","op_code","rd","rs","rt","serialize","shamt","to_owned","try_from","try_into","type_id","vzip","NUM_REGISTERS","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_HI","REGISTER_LO","REGISTER_NEXT_IP","REGISTER_PREIMAGE_KEY_END","REGISTER_PREIMAGE_KEY_START","REGISTER_PREIMAGE_OFFSET","Registers","borrow","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref_mut","deserialize","drop","fmt","from","general_purpose","heap_pointer","hi","index","index_mut","init","into","iter","lo","next_instruction_pointer","preimage_key","preimage_offset","serialize","to_owned","try_from","try_into","type_id","vzip","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","SyscallEnv","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","bitmask","borrow","borrow","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone_into","constant","copy","count_leading_ones","count_leading_zeros","create","create","decode_instruction","default","deref","deref","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","hash_counter","increase_instruction_counter","init","init","instruction_counter","instruction_counter","into","into","is_zero","keccak_env","last_hint","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","preimage","preimage_bytes_read","preimage_key","preimage_oracle","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","request_hint_write","request_preimage_write","reset","reset_scratch_state","reset_scratch_state_inverse","scratch_state","scratch_state_idx","scratch_state_idx_inverse","scratch_state_inverse","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","syscall_env","test_less_than","test_less_than_signed","test_zero","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","vzip","write_column","write_field_column","xor_witness","INSTRUCTION_SET_SIZE","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","SCRATCH_SIZE","column","constraints","interpreter","registers","witness","Column","E","InstructionCounter","ScratchState","Selector","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","init","into","to_owned","try_from","try_into","type_id","vzip","Env","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","bitmask","borrow","borrow_mut","check_equal","check_is_zero","constant","constraints","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","div","div_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_constraints","get_lookups","get_selector","get_selector_constraints","increase_instruction_counter","init","instruction_counter","into","inverse_or_zero","is_zero","lookups","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","reset","scratch_state_idx","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","Add","AddImmediate","AddUpperImmediate","And","AndImmediate","BranchEq","BranchGreaterThanEqual","BranchGreaterThanEqualUnsigned","BranchLessThan","BranchLessThanUnsigned","BranchNeq","Div","Divu","Fence","FenceI","IInstruction","IInstructionIter","IType","Instruction","InstructionIter","InterpreterEnv","JumpAndLink","JumpAndLinkRegister","LoadByte","LoadByteUnsigned","LoadHalf","LoadHalfUnsigned","LoadUpperImmediate","LoadWord","MInstruction","MInstructionIter","MType","Mul","Mulh","Mulhsu","Mulhu","Or","OrImmediate","Position","RInstruction","RInstructionIter","RType","Rem","Remu","SBInstruction","SBInstructionIter","SBType","SInstruction","SInstructionIter","SType","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalImmediate","ShiftRightArithmetic","ShiftRightArithmeticImmediate","ShiftRightLogical","ShiftRightLogicalImmediate","StoreByte","StoreHalf","StoreWord","Sub","SyscallInstruction","SyscallInstructionIter","SyscallSuccess","SyscallType","UInstruction","UInstructionIter","UJInstruction","UJInstructionIter","UJType","UType","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","default","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","div","div_signed","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","hash","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_mtype","interpret_rtype","interpret_sbtype","interpret_stype","interpret_syscall","interpret_ujtype","interpret_utype","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","inverse_or_zero","is_zero","iter","iter","iter","iter","iter","iter","iter","iter","iter","iter","len","len","len","len","len","len","len","len","len","len","lookup_16bits","lookup_2bits","lookup_8bits","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","next","next","next","next","next","next","next","next","next","next_back","next_back","next_back","next_back","next_back","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","nth","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check16","range_check64","range_check8","read_memory","read_register","report_exit","reset","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","A0","A1","A2","A3","A4","A5","A6","A7","Fp","Gp","HeapPointer","Ip","N_GP_REGISTERS","NextIp","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_NEXT_IP","Ra","RegisterAlias","Registers","S0","S1","S10","S11","S2","S3","S4","S5","S6","S7","S8","S9","Sp","T0","T1","T2","T3","T4","T5","T6","Tp","Zero","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","fmt","from","from","general_purpose","heap_pointer","index","index","index_mut","init","init","into","into","next_instruction_pointer","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","bitmask","borrow","borrow_mut","check_equal","check_is_zero","constant","copy","count_leading_ones","count_leading_zeros","create","decode_instruction","deref","deref_mut","div","div_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","increase_instruction_counter","init","instruction_counter","instruction_counter","into","inverse_or_zero","is_zero","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","reset","reset_scratch_state","scratch_state","scratch_state_idx","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","write_column","write_field_column","xor_witness","BaseSponge","Curve","Fp","OpeningProof","Pairing","ScalarSponge","SpongeParams","folding","proof","trace","Beta","Challenge","ChallengeIter","DecomposedFoldingEnvironment","FoldingEnvironment","FoldingInstance","FoldingWitness","Gamma","JointCombiner","alphas","blinder","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","challenge","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","col","col","combine","combine","commitments","curr_witnesses","curr_witnesses","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_alphas","get_blinder","hash","hash","index","index","init","init","init","init","init","init","instances","instances","into","into","into","into","into","into","into_iter","iter","keccak","len","mips","new","new","next","next_back","next_witnesses","next_witnesses","nth","par_bridge","relax","relax","selector","selector","size_hint","structure","structure","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","witness","KeccakConfig","KeccakFoldingEnvironment","KeccakFoldingInstance","KeccakFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","DecomposableMIPSFoldingConfig","DecomposableMIPSFoldingEnvironment","MIPSFoldingInstance","MIPSFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","fold","DecomposableTracer","DecomposedTrace","Foldable","Selector","Trace","Tracer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","constraints","deref","deref","deref_mut","deref_mut","domain_size","domain_size","drop","drop","folding_constraints","folding_constraints","from","from","in_circuit","index","init","init","init","init","into","into","is_full","keccak","lookups","mips","new","number_of_rows","pad_dummy","pad_dummy","pad_with_row","pad_with_row","pad_with_zeros","pad_with_zeros","pad_witnesses","push_row","push_row","reset","set_selector_column","to_folding_pair","to_folding_pair","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","DecomposedKeccakTrace","KeccakTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","DecomposedMIPSTrace","MIPSTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","AtMost4Lookup","ByteLookup","KeccakStepLookup","LookupTableIDs","MemoryLookup","PadLookup","RangeCheck16Lookup","RegisterLookup","ResetLookup","RoundConstantsLookup","SparseLookup","SyscallLookup","all_variants","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","from_u32","hash","init","into","is_fixed","ix_by_value","length","partial_cmp","runtime_create_column","to_owned","to_u32","try_from","try_into","type_id","vzip","DEGREE_QUOTIENT_POLYNOMIAL","MAXIMUM_DEGREE_CONSTRAINTS","TOTAL_NUMBER_OF_CONSTRAINTS","column_env","proof","prover","verifier","ColumnEnvironment","borrow","borrow_mut","challenges","column_domain","constants","deref","deref_mut","domain","drop","from","get_all_columns","get_challenges","get_column","get_constants","get_domain","init","into","l0_1","l0_1","try_from","try_into","type_id","vanishes_on_zero_knowledge_and_previous_rows","vzip","witness","Proof","ProofInputs","WitnessColumns","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","commitments","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","error","evaluations","from","from","from","get_column","init","init","init","instruction_counter","into","into","into","new","opening_proof","quotient_commitment","quotient_evaluations","scratch","scratch_inverse","selector","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","zeta_evaluations","zeta_omega_evaluations","ConstraintDegreeTooHigh","ProverError","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","prove","provide","to_owned","to_string","try_from","try_into","type_id","vzip","verify","PreImageOracle","PreImageOracleT","RW","ReadWrite","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cmd","create","create_bidirectional_channel","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","get_preimage","get_preimage","hint","hint","hint_client","hint_server","init","init","init","into","into","into","oracle_client","oracle_server","reader","start","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","writer","LookupMode","RAMLookup","Read","Write","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","init","init","into","into","into_logup","new","numerator","read_if","read_one","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_if","write_one","main","memory_size"],"q":[[0,"o1vm"],[13,"o1vm::cannon"],[267,"o1vm::cli"],[295,"o1vm::cli::cannon"],[404,"o1vm::elf_loader"],[421,"o1vm::interpreters"],[424,"o1vm::interpreters::keccak"],[495,"o1vm::interpreters::keccak::column"],[715,"o1vm::interpreters::keccak::constraints"],[741,"o1vm::interpreters::keccak::environment"],[769,"o1vm::interpreters::keccak::helpers"],[792,"o1vm::interpreters::keccak::interpreter"],[890,"o1vm::interpreters::keccak::witness"],[917,"o1vm::interpreters::mips"],[926,"o1vm::interpreters::mips::column"],[965,"o1vm::interpreters::mips::constraints"],[1032,"o1vm::interpreters::mips::interpreter"],[1401,"o1vm::interpreters::mips::interpreter::debugging"],[1432,"o1vm::interpreters::mips::registers"],[1472,"o1vm::interpreters::mips::witness"],[1593,"o1vm::interpreters::riscv32im"],[1603,"o1vm::interpreters::riscv32im::column"],[1627,"o1vm::interpreters::riscv32im::constraints"],[1700,"o1vm::interpreters::riscv32im::interpreter"],[2302,"o1vm::interpreters::riscv32im::registers"],[2382,"o1vm::interpreters::riscv32im::witness"],[2477,"o1vm::legacy"],[2487,"o1vm::legacy::folding"],[2633,"o1vm::legacy::folding::keccak"],[2660,"o1vm::legacy::folding::mips"],[2687,"o1vm::legacy::proof"],[2688,"o1vm::legacy::trace"],[2754,"o1vm::legacy::trace::keccak"],[2763,"o1vm::legacy::trace::mips"],[2772,"o1vm::lookups"],[2813,"o1vm::pickles"],[2820,"o1vm::pickles::column_env"],[2846,"o1vm::pickles::proof"],[2899,"o1vm::pickles::prover"],[2921,"o1vm::pickles::verifier"],[2922,"o1vm::preimage_oracle"],[2976,"o1vm::ramlookup"],[3021,"o1vm::test_preimage_read"],[3022,"o1vm::utils"]],"d":["","","Modules mimicking the defined structures used by Cannon …","","A module to load ELF files.","","Legacy implementation of the recursive proof composition. …","Instantiation of the lookups for the VM project. …","Pickles flavor of the o1vm. This is the pickles flavor of …","Preimage oracle interface used by the zkVM.","The RAM lookup argument.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","An interpreter for an optimised version of Keccak","An interpreter for the MIPS instruction set. This module …","An interpreter for the RISC-V 32IM instruction set, …","","","","","","","","","All the names for constraints involved in the Keccak …","","Errors that can occur during the check of the witness","","","","","","","","","","","","","","","","","","","","","","","This module defines the custom columns used in the Keccak …","This module contains the constraints for one Keccak step.","","","","","","","This module contains the definition and implementation of …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","This module defines the Keccak interpreter in charge of …","Calls U::from(self).","Calls U::from(self).","This function returns a vector of field elements that …","Standardizes a Keccak step to a common opcode","","","","","","","","","","","This file contains the witness for the Keccak hash …","","Order of absorb steps in the computation depending on the …","An iterator over the variants of Absorbs","Block index inside the hash to enumerate preimage bytes","","","Column aliases used by the Keccak circuit. The number of …","","Hash identifier to distinguish inside the syscalls …","","The witness columns used by the Keccak circuit. The Keccak …","","","Total number of columns used in Keccak, including relation …","The maximum total number of witness columns used by the …","The number of columns required for the Keccak selectors. …","","","","","","","","","","","","Current step performs a round of the permutation. The …","","","Current step is a sponge","","","","","Variants of Keccak sponges","An iterator over the variants of Sponges","","Hash step identifier to distinguish inside interstep …","Variants of Keccak steps available for the interpreter. …","An iterator over the variants of Steps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Map the column alias to the actual column index. Note that …","Map the column alias to the actual column index. Note that …","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","","Constraints that are added to the circuit","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Variables that are looked up in the circuit","","","","","","","","This struct contains all that needs to be kept track of …","","","","","Environment for the constraints (includes lookups). The …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Starts a new Keccak environment for a given hash index and …","Nullifies the Witness and Constraint environments by …","Returns the selector of the current step in standardized …","Entrypoint for the interpreter. It executes one step of …","Current step","","","","","This function updates the next step of the environment …","","Environment for the witness (includes multiplicities)","Writes an integer value to a column of the Keccak witness","Writes a field value to a column of the Keccak witness","This trait contains helper functions for arithmetic …","This trait contains helper functions for boolean …","This trait contains helper functions for the lookups used …","Degree-2 variable encoding whether at least one of the two …","Degree-2 variable encoding whether the input is a boolean …","Degree-2 variable encoding whether the first input is …","Degree-1 variable encoding whether the input is the value …","","Adds a lookup to the Byte table","Adds a lookup to the Pad table","Adds a lookup to the RangeCheck16 table","Adds a lookup to the Reset table","Adds a lookup to the RoundConstants table","Adds a lookup to the Shift table","Degree-1 variable encoding the negation of the input Note: …","Returns a variable representing the value one","Degree-2 variable encoding the OR of two variables, which …","","Returns a variable representing the value two","Returns a variable representing the value 2^x","","Degree-2 variable encoding the XOR of two variables which …","Returns a variable representing the value zero","This trait includes functionalities needed to obtain the …","","","Adds a given Lookup to the environment if the condition …","This function returns a degree-2 variable that is computed …","Returns the block index as a variable","Returns a variable that encodes the idx-th block of bytes …","Creates a variable from a constant integer","Creates a variable from a constant field element","Adds one KeccakConstraint to the environment if the …","Constrains 332 checks of absorb sponges","Constrains 136 checks of booleanity for some mode flags.","Constrains 200 checks of the chi algorithm in round steps","Constrains 136 checks of correctness of mode flags","Constrains 4 checks of the iota algorithm in round steps","Constrains 6 checks of padding absorb sponges","Constrains 150 checks of the pirho algorithm in round steps","Constrains 389 checks of round steps","Constrains 354 checks of sponge steps","Constrains 16 checks of squeeze sponges","Constrains 35 checks of the theta algorithm in round steps","Creates all 879 constraints/checks to the environment:","Returns the (x,q)-th term of ThetaDenseC, as a variable","Returns the (y,x,q)-th variable of PiRhoDenseE","Returns the (x,q)-th variable of ThetaDenseRotC","Returns the (y,x,q)-th variable of PiRhoDenseRotE","Returns the (x,q)-th variable of ThetaExpandRotC","Returns the (y,x,q)-th variable of PiRhoExpandRotE","Returns a vector of pad bytes flags as variables, with idx …","This function returns the composed variable from dense …","COLUMN OPERATIONS /// This function returns the composed …","Returns the hash index as a variable","Returns a variable that encodes whether the idx-th byte of …","Returns the 100 step input variables, which correspond to …","Returns a slice of the input variables of the current step …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","SELECTOR OPERATIONS /// Returns a degree-2 variable that …","Returns a variable that encodes whether the current step …","Reads a Lookup containing the input of a step and writes a …","When in Squeeze mode, writes a Lookup containing the …","When in Absorb mode, reads Lookups containing the 136 …","Creates all possible lookups to the Keccak constraints …","Adds the 800 lookups required for Chi in the round","Adds the 1 lookup required for Iota in the round","Adds the 700 lookups required for PiRho in the round","Adds the 120 lookups required for Theta in the round","Adds the 601 lookups required for the sponge","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","Returns the idx-th new state expanded quarter, as a …","Returns the idx-th old state expanded quarter, as a …","Returns the 100 step output variables, which correspond to …","Returns a slice of the output variables of the current …","Returns the 136 flags indicating which bytes of the new …","Returns a variable that encodes the bytelength of the …","Returns a variable that encodes the idx-th chunk of the …","Returns the (x)-th term of ThetaQuotientC, as a variable","Returns the (y,x,q)-th variable of PiRhoQuotientE","Returns the (x,q)-th variable of ThetaRemainderC","Returns the (y,x,q)-th variable of PiRhoRemainderE","Returns a variable that encodes the current round number […","Returns the 4 expanded quarters that encode the round …","Returns the (i,y,x,q)-th variable of ChiShiftsB","Returns the (i,x,q)-th variable of ThetaShiftsC","Returns the (i,y,x,q)-th variable of PiRhoShiftsE","Returns the (i,y,x,q)-th variable of ChiShiftsSum","Returns the idx-th byte of the sponge, as a variable","Returns the 200 bytes of the sponge, as variables","Returns the idx-th term of the shifts of the sponge, as a …","Returns the last 32 terms that are added to the new block …","Returns the (y,x,q)-th input of the theta algorithm, as a …","Returns the idx-th output of a round step as a variable","Returns the step index as a variable","Returns a variable that encodes the value 2^pad_length","Returns the variable corresponding to a given column alias.","Returns the 20 variables corresponding to ThetaDenseC","Returns the 100 variables corresponding to PiRhoDenseE","Returns the 20 variables corresponding to ThetaDenseRotC","Returns the 100 variables corresponding to PiRhoDenseRotE","Returns the 20 variables corresponding to ThetaExpandRotC","Returns the 100 variables corresponding to PiRhoExpandRotE","Returns the 5 variables corresponding to ThetaQuotientC","Returns the 100 variables corresponding to PiRhoQuotientE","Returns the 20 variables corresponding to ThetaRemainderC","Returns the 100 variables corresponding to PiRhoRemainderE","Returns the 400 variables corresponding to ChiShiftsB","Returns the 80 variables corresponding to ThetaShiftsC","Returns the 400 variables corresponding to PiRhoShiftsE","Returns the 400 variables corresponding to ChiShiftsSum","Returns the 400 terms that compose the shifts of the …","Returns the output of an absorb sponge, which is the XOR …","This struct contains all that needs to be kept track of …","","","","","","","","Checks the constraint tag by checking that the input x is …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","The multiplicities of each lookup entry. Should not be …","The fixed tables used in the Keccak gate","","","","","","","","The full state of the Keccak gate (witness)","","","","","","","","","","Abstract columns (or variables of our multi-variate …","","Represents one line of the execution trace of the virtual …","All the witness columns used in MIPS","The number of columns used for relation witness in the …","The number of witness columns used to store the …","","Number of columns used by the MIPS interpreter to keep …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Map the column alias to the actual column index.","Map the column alias to the actual column index.","","","","Calls U::from(self).","","","","","","","","","The environment keeping the constraints between the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Return the constraints for the current instruction, …","","","Return the constraints for the selector. Each selector …","","","","Calls U::from(self).","","","","","","","","","","","","","This function checks that the preimage is read correctly. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of ITypeInstruction","","An iterator over the variants of Instruction","","","","An iterator over the variants of JTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","A position can be seen as an indexed variable","","","An iterator over the variants of RTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Activate the selector for the given instruction.","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","Check that the witness value x is a boolean (0 or 1); …","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","Returns (x / y, x % y), storing the results in …","Returns (x / y, x % y), storing the results in …","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","Adds a lookup to the RangeCheck16Lookup table","Adds a lookup to the AtMost4Lookup table","Adds a lookup to the ByteLookup table","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","Returns x nor y, storing the result in position.","","","","","Returns x or y, storing the result in position.","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","Range checks with 2 lookups to the RangeCheck16Lookup …","Range checks with 1 lookup to the AtMost4Lookup table 0 <= …","","Range checks with 2 lookups to the ByteLookup table that a …","","","","","Request the preimage oracle for len bytes and store the …","Reset the environment to handle the next instruction","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This represents the internal state of the virtual machine.","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","","","","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Computes what is the non-normalized next instruction …","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","","","","","","","","","","Execute a single step of the MIPS program. Returns the …","","","","","","","","","","","","","","","","","","","","","Number of instructions in the ISA","","","","The minimal number of columns required for the VM","List all columns used by the interpreter","","This module implement an interpreter for the RISCV32 IM …","All the registers used by the ISA","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Return the constraints for the current instruction, …","","","Return the constraints for the selector. Each selector …","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Format: add rd, rs1, rs2","Format: addi rd, rs1, imm","Format: auipc rd,imm","Format: and rd, rs1, rs2","Format: andi rd, rs1, imm","Format: beq rs1, rs2, offset","Format: bge rs1, rs2, offset","Format: bgeu rs1, rs2, offset","Format: blt rs1, rs2, offset","Format: bltu rs1, rs2, offset","Format: bne rs1, rs2, offset","Format: div rd, rs1, rs2","Format: divu rd, rs1, rs2","Format: fence","Format: fence.i","","An iterator over the variants of IInstruction","","","An iterator over the variants of Instruction","","Format: jal rd,imm","Format: jalr rd, rs1, imm","Format: lb rd, offset(rs1)","Format: lbu rd, offset(rs1)","Format: lh rd, offset(rs1)","Format: lhu rd, offset(rs1)","Format: lui rd,imm","Format: lw rd, offset(rs1)","M extension instructions Following …","An iterator over the variants of MInstruction","","Format: mul rd, rs1, rs2","Format: mulh rd, rs1, rs2","Format: mulhsu rd, rs1, rs2","Format: mulhu rd, rs1, rs2","Format: or rd, rs1, rs2","Format: ori rd, rs1, imm","A position can be seen as an indexed variable","","An iterator over the variants of RInstruction","","Format: rem rd, rs1, rs2","Format: remu rd, rs1, rs2","","An iterator over the variants of SBInstruction","","","An iterator over the variants of SInstruction","","Format: slt rd, rs1, rs2","Format: slti rd, rs1, imm","Format: sltiu rd, rs1, imm","Format: sltu rd, rs1, rs2","Format: sll rd, rs1, rs2","Format: slli rd, rs1, shamt","Format: sra rd, rs1, rs2","Format: srai rd, rs1, shamt","Format: srl rd, rs1, rs2","Format: srli rd, rs1, shamt","Format: sb rs2, offset(rs1)","Format: sh rs2, offset(rs1)","Format: sw rs2, offset(rs1)","Format: sub rd, rs1, rs2","","An iterator over the variants of SyscallInstruction","","","","An iterator over the variants of UInstruction","","An iterator over the variants of UJInstruction","","","","Format: xor rd, rs1, rs2","Format: xori rd, rs1, imm","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Activate the selector for the given instruction.","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x / y, storing the results in position.","Returns x / y, storing the results in position.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","","","","","","","","","","","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","","","","","","","","Interpret an I-type instruction. The encoding of an I-type …","Interpret an M-type instruction. The encoding of an M-type …","Interpret an R-type instruction. The encoding of an R-type …","Interpret an SB-type instruction. The encoding of an …","Interpret an S-type instruction. The encoding of an S-type …","","Interpret an UJ-type instruction. The encoding of an …","Interpret an U-type instruction. The encoding of an U-type …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Returns x^(-1), or 0 if x is 0, storing the result in …","","","","","","","","","","","","","","","","","","","","","","Adds a lookup to the RangeCheck16Lookup table","Adds a lookup to the AtMost4Lookup table","Adds a lookup to the ByteLookup table","Returns x % y, storing the results in position.","Returns x % y, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns (x * y) & ((1 << 32) - 1)), storing the results in …","Returns (x * y) & ((1 << 32) - 1)), storing the results in …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","","","","","","","","","","","Returns x nor y, storing the result in position.","","","","","","","","","","Returns x or y, storing the result in position.","","","","","","","","","","","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","Range checks with 2 lookups to the RangeCheck16Lookup …","","Range checks with 2 lookups to the ByteLookup table that a …","","","","","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","Function arguments/results","","","","","","","","Frame pointer/saved register. This is the same register.","Global pointer","","Current instruction pointer","","Next instruction pointer","","","","Return address","This enum provides aliases for the registers. This is …","This represents the internal state of the virtual machine.","","Saved registers","","","","","","","","","","","Stack pointer","Temporary/alternate register","Temporaries","","","","","","Thread pointer","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","There are 32 general purpose registers.","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","Execute a single step in the RISCV32i program","","","","","","","","","","","","","","","","Elliptic curve group of BN254","Scalar field of BN254","","","","","","","This module defines structures and traits to build and …","","","An iterator over the variants of Challenge","Environment for the decomposable folding protocol, for a …","","Folding instance containing the commitment to a witness of …","Includes the data witness columns and also the dynamic …","","","Reuses the Alphas defined in the example of folding","Blinder used in the polynomial commitment scheme","","","","","","","","","","","","","","","Challenges for the proof. We do use 3 challenges:","","","","","","","","","","","","","Commitments to the witness columns, including the dynamic …","Corresponds to the omega evaluations, for both sides","Corresponds to the evaluations at ω, for both sides","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Commitments to the witness columns, for both sides","Commitments to the witness columns, for both sides","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Corresponds to the zeta*omega evaluations, for both sides …","Corresponds to the evaluations at ζω, for both sides …","","","This method takes an Instance and a commitment to zero and …","This method takes a witness and a vector of evaluations to …","","","","","Structure of the folded circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a selector column to the corresponding witness column.","Map a column alias to the corresponding witness column.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Map a column alias to the corresponding witness column.","","Map a selector column to the corresponding witness column.","","Calls U::from(self).","","","","","","FIXME: DUMMY FOLD FUNCTION THAT ONLY KEEPS THE LAST …","DecomposableTracer builds traces for some program …","Struct representing a circuit execution trace which is …","The trait Foldable describes structures that can be folded.","","Implement a trace for a single instruction.","Tracer builds traces for some program executions. The …","","","","","","","","","","","","","","","The domain size of the circuit (should coincide with that …","","","Returns a map of constraints that are compatible with …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns a boolean indicating whether the witness for the …","","Initialize a new trace with the given domain size, …","","","","Calls U::from(self).","Calls U::from(self).","Returns whether the witness for the given selector has …","","","","Create a new decomposable trace with the given domain …","Returns the number of rows that have been instantiated for …","Pad the rows of one opcode with the first row until …","","Pad the rows of one opcode with the given row until …","","Pads the rows of one opcode with zero rows until reaching …","","Pads the rows of the witnesses until reaching the domain …","Add a witness row to the circuit (only for relation …","","Resets the witness after folding","Sets the selector column to all ones, and the rest to all …","Returns the witness for the given selector as a folding …","","","","The traces are indexed by the selector Inside the witness …","","","","","","","","","","The Keccak circuit trace","A Keccak instruction trace","","","","","","","","The MIPS circuit trace","The MIPS instruction trace","","","","","","","","Values from 0 to 4 to check the number of bytes read from …","All values that can be stored in a byte (amortized table, …","Input/Output of Keccak steps","All of the possible lookup table IDs used in the zkVM","","All [1..136] values of possible padding lengths, the value …","Single-column table of all values in the range [0, 2^16)","","Dual-column table of all values in the range [0, 2^16) and …","24-row table with all possible values for round and their …","Single-column table of 2^16 entries with the sparse …","Syscalls communication channel","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","Degree of the quotient polynomial. We do evaluate all …","Maximum degree of the constraints. It does include the …","Total number of constraints for all instructions, …","","","","","The collection of polynomials (all in evaluation form) and …","","","Challenges from the IOP.","","Constant values required","","","The domains used in the PLONK argument.","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","The value prod_{j != 1} (1 - ω^j), used for efficiently …","","","","","","The witness column polynomials. Includes relation columns …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","IPA opening proof","","","","","","","","","","","","","","","","","","","","","Errors that can arise when creating a proof","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Make a PlonKish proof for the given circuit. As inputs, we …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Enum representing the two different modes of a RAMLookup","Struct containing a RAMLookup","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Transforms the current RAMLookup into an equivalent Logup","Creates a new RAMLookup from a mode, a table ID, a …","Returns the numerator corresponding to this lookup in the …","Reads one value when if_is_true is 1.","Reads one value from a table.","","","","","","","","","","","","Writes one value when if_is_true is 1.","Writes one value to a table.","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,9,10,4,13,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,13,15,5,6,9,10,13,15,16,18,1,2,3,4,5,6,16,18,1,5,6,16,16,15,15,6,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,3,4,5,6,18,1,9,10,15,15,3,13,3,9,10,13,15,16,18,1,2,3,4,5,6,3,9,10,13,15,16,18,1,2,3,4,5,6,15,15,15,3,2,5,15,3,15,3,15,15,15,3,3,15,13,15,5,3,3,5,15,4,3,6,4,1,2,3,4,5,6,15,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,29,0,29,29,29,29,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,34,0,0,34,0,34,24,32,33,24,32,33,34,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,24,32,33,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,33,24,32,33,34,33,32,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,32,24,32,33,34,0,38,38,38,38,38,38,38,38,38,38,0,0,38,38,38,38,0,0,0,41,41,41,41,0,41,41,41,0,40,0,41,40,41,41,41,41,41,0,41,0,41,41,41,41,40,41,40,41,40,41,40,41,0,0,40,41,40,41,40,41,0,40,41,40,40,41,41,40,41,40,41,0,40,41,0,40,41,0,0,40,41,40,41,40,41,40,41,40,41,0,47,0,0,45,45,45,0,49,45,45,0,49,49,0,0,0,49,45,45,45,45,45,45,45,45,45,45,44,45,45,44,45,45,45,45,0,0,47,45,0,0,45,45,45,45,45,45,45,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,47,49,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,45,45,44,44,47,47,49,49,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,54,54,54,54,45,44,46,47,48,49,50,45,44,46,47,48,49,50,44,46,48,50,45,44,44,47,49,44,46,48,50,46,48,50,46,48,50,46,48,50,46,48,50,45,44,47,49,46,48,50,45,44,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,0,0,0,178,178,178,178,178,179,179,179,179,179,179,178,180,178,179,180,180,179,178,180,0,0,64,64,181,181,181,64,64,64,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,64,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,0,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,67,67,67,67,66,66,66,66,66,66,66,66,66,66,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,74,78,78,74,74,78,78,78,78,78,78,78,74,74,74,74,0,0,0,0,0,0,0,68,0,0,0,0,0,68,0,0,76,76,74,74,78,78,78,78,78,78,78,78,74,74,74,74,74,74,74,74,74,74,74,78,80,68,0,0,0,0,0,0,0,0,0,74,78,78,74,74,74,74,74,74,74,78,78,78,78,78,78,74,74,74,74,74,74,74,74,74,74,74,74,74,80,74,78,80,80,80,80,80,80,80,80,80,80,80,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,74,76,78,80,80,80,80,0,74,76,78,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,68,73,74,75,76,77,78,79,68,74,76,78,80,68,68,74,74,76,76,78,78,80,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,68,74,76,78,80,80,68,73,74,75,76,77,78,79,80,0,0,0,0,68,73,74,75,76,77,78,79,68,73,75,77,79,80,68,68,74,76,78,68,73,75,77,79,80,80,80,80,80,80,73,75,77,79,73,75,77,79,80,73,75,77,79,80,73,75,77,79,68,74,76,78,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,73,75,77,79,80,80,80,80,68,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,68,73,74,75,76,77,78,79,80,80,80,80,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,0,0,0,0,0,0,0,0,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,0,0,0,0,0,0,0,0,0,88,88,88,88,88,88,88,88,88,89,88,89,88,88,88,89,89,88,88,88,88,88,89,88,89,88,89,88,89,88,88,88,89,88,88,88,88,88,88,89,88,88,88,88,88,88,88,89,88,88,88,89,88,88,89,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,89,88,89,88,89,88,89,88,88,88,88,89,88,88,88,0,0,0,0,0,0,0,0,0,0,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,95,97,103,95,97,101,101,101,101,101,101,109,109,95,95,0,0,92,0,0,0,105,97,97,97,97,97,103,97,0,0,92,109,109,109,109,95,97,111,0,0,92,109,109,0,0,92,0,0,92,95,97,97,95,95,97,95,97,95,97,99,99,99,95,0,0,107,92,0,0,0,0,92,92,111,95,97,111,111,111,111,111,111,111,111,111,111,111,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,107,109,111,111,111,111,95,97,99,101,103,105,107,109,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,107,109,111,92,92,95,95,97,97,99,99,101,101,103,103,105,105,107,107,109,109,111,111,111,111,92,92,94,95,95,96,97,97,98,99,99,100,101,101,102,103,103,104,105,105,106,107,108,109,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,95,97,99,101,103,105,107,109,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,0,0,0,0,0,0,0,0,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,96,98,100,102,104,106,108,110,111,111,92,92,95,97,99,101,103,105,107,109,92,94,96,98,100,102,104,106,108,110,111,111,111,111,111,111,111,111,111,111,111,94,96,98,100,102,104,106,108,110,94,96,98,100,102,104,106,108,110,111,94,96,98,100,102,104,106,108,110,111,94,96,98,100,102,104,106,108,110,92,95,97,99,101,103,105,107,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,94,96,98,100,102,104,106,108,110,111,111,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,109,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,111,111,113,113,113,113,113,113,113,113,113,113,113,113,0,113,0,0,0,113,0,0,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,112,113,112,112,112,112,112,113,112,113,112,112,113,112,112,113,112,112,112,112,112,112,113,112,113,112,112,112,112,113,112,113,112,113,112,113,112,0,0,0,0,0,0,0,0,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,0,0,0,0,0,0,0,0,0,0,117,0,0,0,0,0,0,117,117,122,122,116,119,117,120,122,124,116,119,117,120,122,124,116,119,122,117,120,122,124,117,120,122,124,116,119,122,124,122,116,119,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,117,124,117,117,124,124,117,120,122,124,116,119,117,117,120,122,124,122,122,117,124,122,124,116,119,117,120,122,124,116,119,116,119,117,120,122,124,120,117,0,120,0,116,119,120,120,116,119,120,120,122,124,116,119,120,116,119,122,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,124,0,0,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,135,135,135,134,134,134,134,134,134,134,0,0,0,0,136,136,136,136,136,136,136,136,136,136,136,136,136,137,137,137,136,136,136,136,136,136,136,0,0,0,0,182,0,0,141,142,141,142,141,142,141,142,141,141,142,141,142,141,142,141,142,183,142,141,142,142,142,182,141,142,142,141,142,142,0,141,0,184,142,182,142,182,142,182,142,184,182,142,142,142,183,142,141,142,142,141,142,141,142,141,142,141,142,141,0,0,148,149,148,148,148,149,148,0,0,150,151,150,150,150,151,150,58,58,58,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,0,0,0,0,0,0,0,153,153,153,153,153,153,153,153,153,153,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,0,157,159,164,157,159,164,164,157,159,164,157,159,164,157,159,164,157,159,157,159,164,157,157,159,164,157,157,159,164,159,164,164,164,157,157,157,157,159,164,157,159,164,157,159,164,157,159,164,164,164,160,0,160,160,160,160,160,160,160,160,160,160,160,160,0,160,160,160,160,160,160,160,0,0,0,0,0,166,185,186,166,185,186,166,166,0,166,185,186,166,185,186,166,185,186,166,185,186,87,166,87,166,166,166,166,185,186,166,185,186,166,166,185,166,166,185,186,166,185,186,166,185,186,166,185,186,185,0,0,168,168,168,59,168,59,168,59,168,59,168,59,168,59,168,59,168,59,59,168,59,168,59,168,59,59,59,59,59,59,168,59,59,168,59,168,59,168,59,168,59,59,59,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[[]],[[]],[[]],[[]],[[]],[[]],[[[8,[7]]],9],[[[8,[7]]],10],[11,4],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[12,[[14,[13]]]],[12,[[14,[15]]]],[12,[[14,[5]]]],[12,[[14,[6]]]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[16,16],17],[[18,18],17],[[1,1],17],[[5,5],17],[[6,6],17],[[],17],[[],17],0,0,[[6,19],[[21,[20]]]],[[13,22],23],[[15,22],23],[[16,22],23],[[18,22],23],[[1,22],23],[[2,22],23],[[3,22],23],[[4,22],23],[[5,22],23],[[6,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,3],[[]],[[]],[[]],[25,[[14,[18]]]],[25,[[14,[1,20]]]],[9,[[8,[7]]]],[10,[[8,[7]]]],0,0,0,0,0,[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,26],14],[[15,26],14],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[15,20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[28,28],[28,28],[[]],[[]],0,[29,29],[[]],[[],28],[[],28],[11],[11],[11],[[29,22],23],[[]],[30,[[14,[29,31]]]],[30,[[14,[29,31]]]],[25,17],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[29,30],[[14,[31]]]],[[29,30],[[14,[31]]]],[[]],0,0,0,0,0,0,0,[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,24],[32,32],[33,33],[34,34],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[24,22],23],[[32,22],23],[[33,22],23],[[34,22],23],[[]],[[]],[[]],[[]],[30,[[14,[24,31]]]],[30,[[14,[32,31]]]],[30,[[14,[33,31]]]],[30,[[14,[34,31]]]],[30,[[14,[24,31]]]],[30,[[14,[32,31]]]],[30,[[14,[33,31]]]],[30,[[14,[34,31]]]],[[],[[21,[35]]]],[[],[[21,[35]]]],[[],[[21,[35]]]],[25,17],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[24,30],[[14,[31]]]],[[32,30],[[14,[31]]]],[[33,30],[[14,[31]]]],[[34,30],[[14,[31]]]],[[24,30],[[14,[31]]]],[[32,30],[[14,[31]]]],[[33,30],[[14,[31]]]],[[34,30],[[14,[31]]]],0,[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[11],[11],[11],[[]],[[],11],[[]],[[[37,[36]]],[[14,[15,20]]]],[[38,39],[[14,[15,20]]]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[40,40],[41,41],[[]],[[]],0,0,[11],[11],[11],[11],[11],[11],0,[[40,40],17],[[41,41],17],[[],17],[[],17],[[],17],[[],17],[[40,22],23],[[41,22],23],[[]],[[]],0,[[],11],[[],11],0,[[]],[[]],[11,[[43,[42]]]],[44,44],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[45,45],[44,44],[46,46],[47,47],[48,48],[49,49],[50,50],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[45,45],51],[[44,44],51],[[47,47],51],[[49,49],51],[[],47],[[],49],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[45,45],17],[[44,44],17],[[47,47],17],[[49,49],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[45,22],23],[[44,22],23],[[46,22],23],[[47,22],23],[[48,22],23],[[49,22],23],[[50,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[45,52]],[[44,52]],[[47,52]],[[49,52]],[[[54,[53]],44]],[[[54,[53]],45]],[[[54,[53]],45]],[[[54,[53]],44]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[44],[[]],[[]],[[]],[45,17],[[],46],[[]],[[],48],[[],50],[[],11],[46,11],[48,11],[50,11],[46,21],[48,21],[50,21],[46,21],[48,21],[50,21],[[46,11],21],[[48,11],21],[[50,11],21],[[],55],[[],55],[[],55],[[45,45],[[21,[51]]]],[[44,44],[[21,[51]]]],[[47,47],[[21,[51]]]],[[49,49],[[21,[51]]]],[46],[48],[50],[45,56],[44,56],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[57,[42]],[59,[58]]]],[[]],[[]],[[[57,[53]]],[[57,[53]]]],[[]],[60],[42],[[[57,[42]],41]],0,[[],[[57,[42]]]],[11],[11],[11],[[[57,[61]],22],23],[[]],[[],11],[[]],0,[[]],[[],14],[[],14],[60],[[],27],[[[57,[42]],45]],[[]],0,[[]],[[]],[[[62,[53]]],[[62,[53]]]],[[]],0,[[],[[62,[42]]]],[11],[11],[11],[[[62,[61]],22],23],[[]],[[],11],[[]],[[60,[63,[7]]],[[62,[42]]]],[[[62,[42]]]],[[[62,[42]]],44],[[[62,[42]]]],0,[[]],[[],14],[[],14],[[],27],[[[62,[42]]]],[[]],0,[[[62,[42]],45,60]],[[[62,[42]],45,42]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[8],[[]],[[]],[8],[[]],[[]],[[]],[[]],[8],[[]],[60],[8],[[]],[[]],0,0,0,[[[59,[58]]]],[11],[[]],[11,8],[60],[[]],[41],[44],[[64,44]],[[44,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[[64,44]],[[44,[8,[[8,[8]]]]]],[44],[[44,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[44],[44],[44],[44,[[8,[[8,[8]]]]]],[44],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[11,8],[[63,[21,[11]],11]],[[63,[21,[11]],[21,[11]],[21,[11]],[21,[11]]]],[[]],[11],[[],43],[[],8],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[11],[11],[[],43],[[],8],[[],43],[[]],[11],[11],[[11,11,11]],[[11,11]],[[11,11,11]],[[]],[[],43],[[11,11,11,11]],[[11,11,11]],[[11,11,11,11]],[[11,11,11,11]],[11],[[],43],[11],[[],43],[[11,11,11]],[11],[[]],[[]],[45],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[11],0,[[[65,[42]],[59,[58]]]],[[]],[[]],[[[65,[53]]],[[65,[53]]]],[[]],[60],[42],[[[65,[42]],41]],[[],[[65,[42]]]],[11],[11],[11],[[[65,[61]],22],23],[[]],[[],11],[[]],0,0,[[]],[[],14],[[],14],[60],[[],27],[[[65,[42]],45]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[66,66],[[]],[[66,66],51],[11],[11],[11],[[66,66],17],[[],17],[[],17],[[66,22],23],[[]],[[66,52]],[[[67,[53]],66]],[[[67,[53]],68]],[[[67,[53]],66]],[[[67,[53]],68]],[[],11],[[]],[66,17],[[66,66],[[21,[51]]]],[66,56],[[]],[[],14],[[],14],[[],27],[[]],0,[[[69,[42]],68]],[[[69,[42]]]],[[[69,[42]],[59,[58]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]],19,19]],[[]],[[]],[[]],[[]],[[]],[19],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[],[[69,[42]]]],[11],[11],[[[69,[42]]]],[[[69,[42]]]],[11],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[]],[[],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]],[[8,[[59,[[72,[[71,[42,70]],56]],58]]]]]],[[[69,[42]]],[[72,[[71,[42,70]],56]]]],[[[69,[42]]],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]]],[[],11],[[[69,[42]]]],[[]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[],14],[[],14],[[],27],[[[69,[42]]]],[[]],[[[69,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[68],[[]],[[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[68,68],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,68],51],[[74,74],51],[[76,76],51],[[78,78],51],[19],[[]],[[]],[[]],0,[[],74],[[],76],[[],78],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[[68,68],17],[[74,74],17],[[76,76],17],[[78,78],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[68,22],23],[[73,22],23],[[74,22],23],[[75,22],23],[[76,22],23],[[77,22],23],[[78,22],23],[[79,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,52]],[[74,52]],[[76,52]],[[78,52]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[80,68]],[[80,78]],[[80,76]],[[80,74]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[68],[[]],[[]],[[]],[[]],[[]],[[],73],[[]],[[],75],[[],77],[[],79],[[],11],[73,11],[75,11],[77,11],[79,11],[[]],[[]],[[]],[[]],[[]],[[]],[73,21],[75,21],[77,21],[79,21],[73,21],[75,21],[77,21],[79,21],[[]],[[73,11],21],[[75,11],21],[[77,11],21],[[79,11],21],[[]],[[],55],[[],55],[[],55],[[],55],[[68,68],[[21,[51]]]],[[74,74],[[21,[51]]]],[[76,76],[[21,[51]]]],[[78,78],[[21,[51]]]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[[]],[[]],[19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[73],[75],[77],[79],[[]],[[]],[[]],[[]],[68,56],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[81,81],[[]],[19,81],[[],81],[11],[11],[12,[[14,[81]]]],[11],[81,19],[[81,81],17],[[],17],[[],17],[[81,22],23],[[]],0,[[],11],[[]],0,0,0,0,[[81,26],14],0,[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[82,[53]]],[[82,[53]]]],[[]],0,[[],[[82,[83]]]],[11],[11],[12,[[14,[[82,[84]]]]]],[11],[[[82,[61]],22],23],[[]],0,0,0,[[[82,[53]],11]],[[[82,[53]],11]],[[],11],[[]],[82,85],0,0,0,0,[[[82,[86]],26],14],[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,[[[88,[42,87]],68]],[[[88,[42,87]]]],[[[88,[42,87]],[59,[58]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]],19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[89,89],[[]],[19],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[11,15,87],[[88,[42,87]]]],[15,89],[[[88,[42,87]]]],[[],89],[11],[11],[11],[11],[[[88,[42,87]]]],[[[88,[42,87]]]],[11],[11],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[]],[[]],[[[88,[42,87]],19],11],[[[88,[42,87]],19],7],[[[88,[42,87]],19],11],0,0,[[[88,[42,87]]]],[[],11],[[],11],[[[88,[42,87]]]],0,[[]],[[]],[[[88,[42,87]]]],0,0,0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]],60],[[[88,[42,87]]]],[[[88,[42,87]]],60],[[[88,[42,87]]]],0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],0,0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]],3,[21,[6]],4],68],[[[88,[42,87]]]],0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[[88,[42,87]],11]],[[[88,[42,87]],11]],[[[88,[42,87]]]],[[]],[[]],[[[88,[42,87]],66,60]],[[[88,[42,87]],66,42]],[[[88,[42,87]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[90,90],[[]],[11],[11],[11],[[90,90],17],[[],17],[[],17],[[90,22],23],[[]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],0,[[[91,[42]],92]],[[[91,[42]]]],[[[91,[42]],[59,[58]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]],19,19]],[[]],[[]],[[]],[[]],[19],0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[],[[91,[42]]]],[11],[11],[[[91,[42]]]],[[[91,[42]]]],[11],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[]],[[[91,[42]]],[[8,[[93,[42]]]]]],[[[91,[42]]],[[8,[[59,[[93,[42]],58]]]]]],[[[91,[42]]],[[93,[42]]]],[[[91,[42]]],[[8,[[93,[42]]]]]],[[[91,[42]]]],[[],11],[[[91,[42]]]],[[]],[[[91,[42]]]],[[[91,[42]]]],0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],0,0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[],14],[[],14],[[],27],[[[91,[42]]]],[[]],[[[91,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[92],[[]],[[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[92,92],[94,94],[95,95],[96,96],[97,97],[98,98],[99,99],[100,100],[101,101],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[92,92],51],[[95,95],51],[[97,97],51],[[99,99],51],[[101,101],51],[[103,103],51],[[105,105],51],[[107,107],51],[[109,109],51],[19],[[]],[[]],[[]],[[],95],[[],97],[[],99],[[],101],[[],103],[[],105],[[],107],[[],109],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[92,92],17],[[95,95],17],[[97,97],17],[[99,99],17],[[101,101],17],[[103,103],17],[[105,105],17],[[107,107],17],[[109,109],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[92,22],23],[[92,22],23],[[94,22],23],[[95,22],23],[[95,22],23],[[96,22],23],[[97,22],23],[[97,22],23],[[98,22],23],[[99,22],23],[[99,22],23],[[100,22],23],[[101,22],23],[[101,22],23],[[102,22],23],[[103,22],23],[[103,22],23],[[104,22],23],[[105,22],23],[[105,22],23],[[106,22],23],[[107,22],23],[[108,22],23],[[109,22],23],[[109,22],23],[[110,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[92,52]],[[95,52]],[[97,52]],[[99,52]],[[101,52]],[[103,52]],[[105,52]],[[107,52]],[[109,52]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[111,92]],[[111,97]],[[111,109]],[[111,95]],[[111,101]],[[111,99]],[[111,107]],[[111,105]],[[111,103]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[92],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],94],[[]],[[],96],[[],98],[[],100],[[],102],[[],104],[[],106],[[],108],[[],110],[[],11],[94,11],[96,11],[98,11],[100,11],[102,11],[104,11],[106,11],[108,11],[110,11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[94,21],[96,21],[98,21],[100,21],[102,21],[104,21],[106,21],[108,21],[110,21],[94,21],[96,21],[98,21],[100,21],[102,21],[104,21],[106,21],[108,21],[110,21],[[]],[[94,11],21],[[96,11],21],[[98,11],21],[[100,11],21],[[102,11],21],[[104,11],21],[[106,11],21],[[108,11],21],[[110,11],21],[[]],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[92,92],[[21,[51]]]],[[95,95],[[21,[51]]]],[[97,97],[[21,[51]]]],[[99,99],[[21,[51]]]],[[101,101],[[21,[51]]]],[[103,103],[[21,[51]]]],[[105,105],[[21,[51]]]],[[107,107],[[21,[51]]]],[[109,109],[[21,[51]]]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[[]],[19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[94],[96],[98],[100],[102],[104],[106],[108],[110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[112,[53]]],[[112,[53]]]],[[]],0,[[],[[112,[83]]]],[11],[11],[11],[11],[12,[[14,[[112,[84]]]]]],[11],[11],[[[112,[61]],22],23],[[]],[[]],0,0,[[[112,[53]],113]],[[[112,[53]],11]],[[[112,[53]],11]],[[],11],[[],11],[[]],[[]],0,[[[112,[86]],26],14],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,0,0,0,0,0,[[[114,[42]],92]],[[[114,[42]]]],[[[114,[42]],[59,[58]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]],19,19]],[[]],[[]],[[]],[[]],[19],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[11,15],[[114,[42]]]],[[[114,[42]]]],[11],[11],[[[114,[42]]]],[[[114,[42]]]],[11],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[]],[[[114,[42]],19],11],[[[114,[42]],19],7],[[[114,[42]],19],11],0,[[[114,[42]]]],[[],11],[[[114,[42]]]],0,[[]],[[[114,[42]]]],[[[114,[42]]]],0,0,0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]],60],[[[114,[42]]]],[[[114,[42]]],60],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],0,0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]],92],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[],14],[[],14],[[],27],[[[114,[42]],11]],[[[114,[42]],11]],[[[114,[42]]]],[[]],[[[114,[42]],90,60]],[[[114,[42]],90,42]],[[[114,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[116,[115,53]],117,118]],[[[119,[115,53]],117,118]],0,[117,117],[120,120],[[[122,[[0,[53,121]]]]],[[122,[[0,[53,121]]]]]],[[[124,[[0,[53,123]]]]],[[124,[[0,[53,123]]]]]],[[]],[[]],[[]],[[]],[[[116,[115,53]],125,118],63],[[[119,[115,53]],125,118],63],[[[122,[121]],[122,[121]]],[[122,[121]]]],[[[124,[123]],[124,[123]],123],[[124,[123]]]],0,0,0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[117,117],17],[[[124,[[0,[126,123]]]],[124,[[0,[126,123]]]]],17],[[],17],[[],17],[[],17],[[],17],[[117,22],23],[[120,22],23],[[[122,[[0,[61,121]]]],22],23],[[[124,[[0,[61,123]]]],22],23],[[]],[[]],[70,117],[[]],[[]],[[]],[[]],[[[122,[121]]],127],[[[122,[121]]]],[[117,52]],[[[124,[[0,[128,123]]]],52]],[[[122,[121]],117]],[[[124,[129]],56]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],120],0,[120,11],0,[[[43,[122]],[43,[124]]],[[116,[115,53]]]],[[[43,[122]],[43,[124]]],[[119,[115,53]]]],[120,21],[120,21],0,0,[[120,11],21],[[],55],[[],130],[[[132,[131]]],133],[[[116,[115,53]],118],63],[[[119,[115,53]],118],63],[120],0,0,[[[122,[121]]]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[134,134],[[]],[11],[11],[11],[[134,134],17],[[],17],[[],17],[[134,22],23],[[]],[[134,52]],[[135,45]],[[135,44]],[[135,56]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,[[]],[[]],[136,136],[[]],[11],[11],[11],[[136,136],17],[[],17],[[],17],[[136,22],23],[[]],[[136,52]],[[137,56]],[[137,66]],[[137,68]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],[[138,[139,[58]],[140,[8]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[141,[[0,[53,115]]]]],[[141,[[0,[53,115]]]]]],[[[142,[[0,[53,115]]]]],[[142,[[0,[53,115]]]]]],[[]],[[]],0,[11],[11],[11],[11],0,0,[11],[11],[[],[[144,[[8,[143]]]]]],[[[142,[115]]],[[144,[[8,[[143,[115]]]]]]]],[[]],[[]],[[[142,[115]]],17],[[[142,[115]]]],[11],[[],11],[11,[[142,[115]]]],[[],11],[[]],[[]],[[[142,[115]]],17],0,0,0,[11],[[[142,[115]]],11],[[],11],[[[142,[115]]],11],[43,11],[[[142,[115]],43],11],[[],11],[[[142,[115]]],11],[[]],[43],[[[142,[115]],43]],[[[142,[115]]]],[[[142,[115]],11]],[[131,[146,[145]]]],[[[142,[115]],147,131,[146,[145]]]],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,[[11,44,62],148],[[11,62],149],[148,11],[[148,43],11],[148,11],[149],[[148,43]],0,0,[[11,68,69],150],[[11,69],151],[150,11],[[150,43],11],[150,11],[151],[[150,43]],0,0,0,0,0,0,0,0,0,0,0,0,[[],[[8,[58]]]],[[]],[[]],[58,58],[[]],[[58,58],51],[11],[11],[11],[[58,58],17],[[],17],[[],17],[[58,22],23],[[]],[19,58],[[58,52]],[[],11],[[]],[58,17],[[58,[63,[152]]],[[21,[11]]]],[58,11],[[58,58],[[21,[51]]]],[58,17],[[]],[58,19],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,[[]],[[]],0,[[[153,[123]]],154],0,[11],[11],0,[11],[[]],[[],[[8,[56]]]],[[[153,[123]]],[[155,[123]]]],[[[153,[123]]],[[21,[[132,[123,[131,[123]]]]]]]],[[[153,[123]]],[[156,[123]]]],[[[153,[123]],154],[[131,[123]]]],[[],11],[[]],[[[153,[123]]],123],0,[[],14],[[],14],[[],27],[[[153,[123]]],[[132,[123,[131,[123]]]]]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],0,0,[[]],[[]],[[]],[[[157,[43]],56],21],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[11,[[159,[158]]]],0,0,0,0,0,0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[160,160],[[]],[11],[11],[11],[[160,22],23],[[160,22],23],[[]],[[],11],[[]],[[138,[161,[158]],[159,[158]],[63,[[72,[[71,[70]],56]]]],[0,[162,163]]],[[14,[[164,[158]],160]]]],[165],[[]],[[],20],[[],14],[[],14],[[],27],[[]],[[138,[63,[[72,[[71,[70]],56]]]],[164,[158]]],17],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[[21,[2]]],166],[[],21],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[[]],[[[43,[7]]],9],[[166,[43,[7]]],9],[10],[[166,10]],0,0,[[],11],[[],11],[[],11],[[]],[[]],[[]],0,0,0,[166,167],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[168,168],[[[59,[53,[0,[53,169]]]]],[[59,[53,[0,[53,169]]]]]],[[]],[[]],[11],[11],[11],[11],[11],[11],[[168,22],23],[[[59,[61,[0,[61,169]]]],22],23],[[[59,[[0,[170,42]],169]],22],23],[[]],[[]],[[],11],[[],11],[[]],[[]],[[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]],[[176,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[[168,169,[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],[63,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]]],[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]],[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169,[8,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]]],[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[[169,[8,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]]],[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[[]],[[]],[[],20],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],[[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169,[8,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]]],[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[[169,[8,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]]]]],[[59,[[0,[53,[171,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[172,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],[173,[[0,[53,[171,[[0,[53,171,172,173,61,174,175]]]],[172,[[0,[53,171,172,173,61,174,175]]]],[173,[[0,[53,171,172,173,61,174,175]]]],61,174,175]]]],61,174,175]]]],61,174,175]],169]]]],[32,177],[11,20]],"c":[],"p":[[4,"StepFrequency"],[3,"HostProgram"],[3,"VmConfiguration"],[3,"Start"],[3,"Symbol"],[3,"Meta"],[15,"u8"],[3,"Vec"],[3,"Preimage"],[3,"Hint"],[15,"usize"],[8,"Deserializer"],[3,"Page"],[4,"Result"],[3,"State"],[3,"ParsePreimageKeyError"],[15,"bool"],[3,"PreimageKey"],[15,"u32"],[3,"String"],[4,"Option"],[3,"Formatter"],[6,"Result"],[3,"MipsVmConfigurationArgs"],[15,"str"],[8,"Serializer"],[3,"TypeId"],[3,"Command"],[4,"Commands"],[3,"ArgMatches"],[6,"Error"],[3,"RunArgs"],[3,"GenStateJsonArgs"],[4,"Cannon"],[3,"Id"],[8,"EndianParse"],[3,"ElfBytes"],[4,"Architecture"],[3,"Path"],[4,"Error"],[4,"Constraint"],[8,"Field"],[15,"array"],[4,"Steps"],[4,"ColumnAlias"],[3,"StepsIter"],[4,"Sponges"],[3,"SpongesIter"],[4,"Absorbs"],[3,"AbsorbsIter"],[4,"Ordering"],[8,"Hasher"],[8,"Clone"],[6,"KeccakWitness"],[3,"IterBridge"],[4,"Column"],[3,"Env"],[4,"LookupTableIDs"],[3,"RAMLookup"],[15,"u64"],[8,"Debug"],[3,"KeccakEnv"],[15,"slice"],[8,"Interpreter"],[3,"Env"],[4,"ColumnAlias"],[6,"MIPSWitness"],[4,"Instruction"],[3,"Env"],[4,"BerkeleyChallengeTerm"],[6,"ConstantExpr"],[6,"Expr"],[3,"InstructionIter"],[4,"RTypeInstruction"],[3,"RTypeInstructionIter"],[4,"JTypeInstruction"],[3,"JTypeInstructionIter"],[4,"ITypeInstruction"],[3,"ITypeInstructionIter"],[8,"InterpreterEnv"],[3,"InstructionParts"],[3,"Registers"],[8,"Default"],[8,"Deserialize"],[8,"Iterator"],[8,"Serialize"],[8,"PreImageOracleT"],[3,"Env"],[3,"SyscallEnv"],[4,"Column"],[3,"Env"],[4,"Instruction"],[6,"E"],[3,"InstructionIter"],[4,"RInstruction"],[3,"RInstructionIter"],[4,"IInstruction"],[3,"IInstructionIter"],[4,"SInstruction"],[3,"SInstructionIter"],[4,"SBInstruction"],[3,"SBInstructionIter"],[4,"UInstruction"],[3,"UInstructionIter"],[4,"UJInstruction"],[3,"UJInstructionIter"],[4,"SyscallInstruction"],[3,"SyscallInstructionIter"],[4,"MInstruction"],[3,"MInstructionIter"],[8,"InterpreterEnv"],[3,"Registers"],[4,"RegisterAlias"],[3,"Env"],[8,"FoldingConfig"],[3,"DecomposedFoldingEnvironment"],[4,"Challenge"],[4,"Side"],[3,"FoldingEnvironment"],[3,"ChallengeIter"],[8,"CommitmentCurve"],[3,"FoldingInstance"],[8,"FftField"],[3,"FoldingWitness"],[4,"CurrOrNext"],[8,"PartialEq"],[4,"Alphas"],[8,"Hash"],[6,"Fp"],[3,"RelaxedInstance"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"RelaxedWitness"],[3,"KeccakConfig"],[6,"KeccakFoldingWitness"],[3,"DecomposableMIPSFoldingConfig"],[6,"MIPSFoldingWitness"],[3,"EvaluationDomains"],[3,"ProofInputs"],[3,"Witness"],[3,"Trace"],[3,"DecomposedTrace"],[4,"FoldingCompatibleExpr"],[3,"BTreeMap"],[6,"Pairing"],[3,"PairingSRS"],[8,"FqSponge"],[6,"KeccakTrace"],[6,"DecomposedKeccakTrace"],[6,"MIPSTrace"],[6,"DecomposedMIPSTrace"],[8,"PrimeField"],[3,"ColumnEnvironment"],[4,"Domain"],[3,"BerkeleyChallenges"],[3,"Constants"],[3,"WitnessColumns"],[8,"KimchiCurve"],[3,"ProofInputs"],[4,"ProverError"],[3,"SRS"],[8,"RngCore"],[8,"CryptoRng"],[3,"Proof"],[3,"Demand"],[3,"PreImageOracle"],[3,"Child"],[4,"LookupMode"],[8,"LookupTableID"],[8,"Display"],[8,"Add"],[8,"Sub"],[8,"Mul"],[8,"One"],[8,"Zero"],[3,"Logup"],[3,"ExitCode"],[8,"BoolHelpers"],[8,"LogupHelpers"],[8,"ArithHelpers"],[8,"KeccakInterpreter"],[8,"Tracer"],[8,"Foldable"],[8,"DecomposableTracer"],[3,"ReadWrite"],[3,"RW"]]},\ +"o1vm":{"doc":"","t":"CCAAAAAAAAAAANNNRRDDDNRRRRRDDDDNDDEDDMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNELLLLALLLLLLLLLLLLLLLLLLLLLENDDNDNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLENNLLLLLLLLFFLLLLAAANNNNCNNNENENNNNNNNCNCNNNNLLLLLLLLAALLLLLLALLLLLLLLLLALLALLFFLLLLLLLLLLANEDNNNENNNGNNRRRNNNNNNNNNNNNNNNNNNNEDNNEDNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLMLLLLLLLLMLLLLLLLDLLLLMLLLLLLLLLLLLMLLLLLLMLLIIILLLLLLLLLLLLLLLLKLLLIIQKLLLKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLMMLLLLLLLMCCCCAAAAAENGRRRRRNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNRRRRRRRNEDEDINEDNNNNNNNNNNNNNNNNNNNNNNNNQNEDRRRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNLLLKKKKKKKLLLKLLLLLLLLLLLLLLLLKKKLLLLLLLLLLLLLLLLLLLLKKKKALLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKFFFFLLLLLLLLLLLLLKLLLLLLLLLLLLLKKKLLLLLLLLKLLLLKLLLLLLLLKKLLKKLLLLLLKKKKKLLKKKLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKDLLLLLLLLLLLLLLLLMLLMMMMLMLLLLLRRRRRRRRRDLLLLMLLLLLLLMMMLLLLLMMMMLLLLLLDRRRRRRRDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLMMMMMMLLLLLLLMMMMLLLLMMLLLLLLMMMMMLLLLLLMLLLLLLLLLLLLLLLLLLRRRRRAAAAAEGNNNLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLNNNNNNNNNNNNNNNEDNEDINNNNNNNNEDNNNNNNNQEDNNNEDNEDNNNNNNNNNNNNNNNEDNNEDEDNNQNNLLLKKKKKKKLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLKFFFFFFFFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLLLLLLLLKKLLKKLLLLLKKKLLKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLKNNNNNNNNNNNNRNRRRNEDNNNNNNNNNNNNNNNNNNNNNNLLLLLLMLLLLLLLLLLLMMLLLLLLLMLLLLLLLLLLDRRRRRRRLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLMMMMLLLLLLLLLLLLLLLLMMLLLMMMLLLLLLLLLLLLLLLLLLLGGGGGGGAAANEDDDDDNNMMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLALALLLLMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMDGGGLLLLLLLLLLLLLLLLLLLLLLLDGGGLLLLLLLLLLLLLLLLLLLLLLLFIDIQDILLLLLLLLMLLLLMMLLKLLLLLKLLLLLLAMAKLKLKLKLKKLLLKLLLMLLLLLLLLMGGLLLLLLLGGLLLLLLLNNNENNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRRRAAAADLLMLMLLMLLFLLLLLLLMLLLLLMDDDLLLLLLMLLLLLLLLLMMLLLLLLLMLLLLMMMMMMLLLLLLLLLLLLMMNELLLLLLLLLLLLFLLLLLLLFDDIDDLLLLLLLLMLFLLLLLLLLLLLLLLLLKLLKLLMMLLLLLLLLMMMLLLLLLLLLLLLLLLLLMEDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFF","n":["RAMLookup","RAMLookupMode","cannon","cli","elf_loader","interpreters","legacy","lookups","pickles","preimage_oracle","ramlookup","test_preimage_read","utils","Always","Every","Exactly","HINT_CLIENT_READ_FD","HINT_CLIENT_WRITE_FD","Hint","HostProgram","Meta","Never","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","PREIMAGE_CLIENT_READ_FD","PREIMAGE_CLIENT_WRITE_FD","Page","ParsePreimageKeyError","Preimage","PreimageKey","Range","Start","State","StepFrequency","Symbol","VmConfiguration","arguments","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create","create","create","data","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","equivalent","equivalent","exit","exited","find_address_symbol","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_str","from_str","get","get","heap","hi","host","index","info_at","init","init","init","init","init","init","init","init","init","init","init","init","input_state_file","into","into","into","into","into","into","into","into","into","into","into","into","last_hint","lo","memory","metadata_file","name","name","next_pc","output_state_file","pc","pprof_cpu","preimage","preimage_key","preimage_offset","proof_at","proof_fmt","registers","serialize","serialize","size","snapshot_fmt","snapshot_state_at","start","step","step","stop_at","symbols","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Cannon","Commands","augment_subcommands","augment_subcommands_for_update","borrow","borrow_mut","cannon","clone","clone_into","command","command_for_update","deref","deref_mut","drop","fmt","from","from_arg_matches","from_arg_matches_mut","has_subcommand","init","into","to_owned","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip","Cannon","GenStateJson","GenStateJsonArgs","MipsVmConfigurationArgs","Run","RunArgs","TestPreimageRead","augment_args","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","command","command","command","command_for_update","command_for_update","command_for_update","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","group_id","group_id","group_id","has_subcommand","init","init","init","init","input","into","into","into","into","output","preimage_db_dir","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vm_cfg","vzip","vzip","vzip","vzip","Architecture","Mips","RiscV32","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","make_state","parse_elf","try_from","try_into","type_id","vzip","keccak","mips","riscv32im","AbsorbRootZero","AbsorbShifts","AbsorbXor","AbsorbZeroPad","Absorbs","BooleanityPadding","ChiShiftsB","ChiShiftsSum","Constraint","Constraint","Error","IotaStateG","Lookup","PadAtEnd","PaddingSuffix","PiRhoRotatedE","PiRhoShiftsE","PiRhoWordE","Sponges","SqueezeShifts","Steps","ThetaQuotientC","ThetaRotatedC","ThetaShiftsC","ThetaWordC","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","column","constraints","deref","deref","deref_mut","deref_mut","drop","drop","environment","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","from","from","helpers","init","init","interpreter","into","into","pad_blocks","standardize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","Absorb","Absorbs","AbsorbsIter","BlockIndex","ChiShiftsB","ChiShiftsSum","ColumnAlias","First","HashIndex","Input","KeccakWitness","Last","Middle","N_ZKVM_KECCAK_COLS","N_ZKVM_KECCAK_REL_COLS","N_ZKVM_KECCAK_SEL_COLS","Only","Output","PadBytesFlags","PadLength","PadSuffix","PiRhoDenseE","PiRhoDenseRotE","PiRhoExpandRotE","PiRhoQuotientE","PiRhoRemainderE","PiRhoShiftsE","Round","RoundConstants","RoundNumber","Sponge","SpongeBytes","SpongeNewState","SpongeShifts","SpongeZeros","Sponges","SpongesIter","Squeeze","StepIndex","Steps","StepsIter","ThetaDenseC","ThetaDenseRotC","ThetaExpandRotC","ThetaQuotientC","ThetaRemainderC","ThetaShiftsC","TwoToPad","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","hash","hash","hash","hash","index","index","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","is_witness","iter","iter","iter","iter","len","len","len","len","next","next","next","next_back","next_back","next_back","nth","nth","nth","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","size_hint","size_hint","size_hint","to_column","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","constraints","default","deref","deref_mut","drop","fmt","from","init","into","lookups","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","KeccakEnv","borrow","borrow_mut","clone","clone_into","constraints_env","default","deref","deref_mut","drop","fmt","from","init","into","new","null_state","selector","step","step","to_owned","try_from","try_into","type_id","update_step","vzip","witness_env","write_column","write_column_field","ArithHelpers","BoolHelpers","LogupHelpers","either_zero","is_boolean","is_nonzero","is_one","is_zero","lookup_byte","lookup_pad","lookup_rc16","lookup_reset","lookup_round_constants","lookup_sparse","not","one","or","read_syscall","two","two_pow","write_syscall","xor","zero","Interpreter","KeccakInterpreter","Variable","add_lookup","block_in_padding","block_index","bytes_block","constant","constant_field","constrain","constrain_absorb","constrain_booleanity","constrain_chi","constrain_flags","constrain_iota","constrain_padding","constrain_pirho","constrain_round","constrain_sponge","constrain_squeeze","constrain_theta","constraints","dense_c","dense_e","dense_rot_c","dense_rot_e","expand_rot_c","expand_rot_e","flags_block","from_quarters","from_shifts","hash_index","in_padding","input","input_of_step","is_absorb","is_pad","is_root","is_round","is_sponge","is_squeeze","lookup_steps","lookup_syscall_hash","lookup_syscall_preimage","lookups","lookups_round_chi","lookups_round_iota","lookups_round_pirho","lookups_round_theta","lookups_sponge","mode_absorb","mode_pad","mode_root","mode_rootpad","mode_round","mode_squeeze","new_state","old_state","output","output_of_step","pad_bytes_flags","pad_length","pad_suffix","quotient_c","quotient_e","remainder_c","remainder_e","round","round_constants","shifts_b","shifts_c","shifts_e","shifts_sum","sponge_byte","sponge_bytes","sponge_shifts","sponge_zeros","state_a","state_g","step_index","two_to_pad","variable","vec_dense_c","vec_dense_e","vec_dense_rot_c","vec_dense_rot_e","vec_expand_rot_c","vec_expand_rot_e","vec_quotient_c","vec_quotient_e","vec_remainder_c","vec_remainder_e","vec_shifts_b","vec_shifts_c","vec_shifts_e","vec_shifts_sum","vec_sponge_shifts","xor_state","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","default","deref","deref_mut","drop","fmt","from","init","into","multiplicities","tables","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","witness","ITypeInstruction","Instruction","JTypeInstruction","RTypeInstruction","column","constraints","interpreter","registers","witness","ColumnAlias","InstructionCounter","MIPSWitness","N_MIPS_COLS","N_MIPS_REL_COLS","N_MIPS_SEL_COLS","SCRATCH_SIZE","SCRATCH_SIZE_INVERSE","ScratchState","ScratchStateInverse","Selector","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index_mut","index_mut","init","into","is_witness","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","Env","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","bitmask","borrow","borrow_mut","check_boolean","check_equal","check_is_zero","constant","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","divmod","divmod_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_all_constraints","get_constraints","get_lookups","get_selector","get_selector_constraints","increase_instruction_counter","init","instruction_counter","into","is_zero","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","request_hint_write","request_preimage_write","reset","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","Add","AddImmediate","AddImmediateUnsigned","AddUnsigned","And","AndImmediate","BranchEq","BranchGeqZero","BranchGtZero","BranchLeqZero","BranchLtZero","BranchNeq","CountLeadingOnes","CountLeadingZeros","Div","DivUnsigned","FD_HINT_READ","FD_HINT_WRITE","FD_PREIMAGE_READ","FD_PREIMAGE_WRITE","FD_STDERR","FD_STDIN","FD_STDOUT","IType","ITypeInstruction","ITypeInstructionIter","Instruction","InstructionIter","InterpreterEnv","JType","JTypeInstruction","JTypeInstructionIter","Jump","JumpAndLink","JumpAndLinkRegister","JumpRegister","Load16","Load16Unsigned","Load32","Load8","Load8Unsigned","LoadUpperImmediate","LoadWordLeft","LoadWordRight","MoveFromHi","MoveFromLo","MoveNonZero","MoveToHi","MoveToLo","MoveZero","Multiply","MultiplyToRegister","MultiplyUnsigned","Nor","Or","OrImmediate","Position","RType","RTypeInstruction","RTypeInstructionIter","SYSCALL_BRK","SYSCALL_CLONE","SYSCALL_EXIT_GROUP","SYSCALL_FCNTL","SYSCALL_MMAP","SYSCALL_READ","SYSCALL_WRITE","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalVariable","ShiftRightArithmetic","ShiftRightArithmeticVariable","ShiftRightLogical","ShiftRightLogicalVariable","Store16","Store32","Store32Conditional","Store8","StoreWordLeft","StoreWordRight","Sub","SubUnsigned","Sync","SyscallExitGroup","SyscallFcntl","SyscallMmap","SyscallOther","SyscallReadHint","SyscallReadOther","SyscallReadPreimage","SyscallWriteHint","SyscallWriteOther","SyscallWritePreimage","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","debugging","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_jtype","interpret_rtype","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","is_zero","iter","iter","iter","iter","iter","len","len","len","len","len","lookup_16bits","lookup_2bits","lookup_8bits","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next","next","next","next","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check16","range_check2","range_check64","range_check8","read_memory","read_register","report_exit","request_hint_write","request_preimage_write","reset","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","InstructionParts","borrow","borrow_mut","clone","clone_into","decode","default","deref","deref_mut","deserialize","drop","encode","eq","equivalent","equivalent","fmt","from","funct","init","into","op_code","rd","rs","rt","serialize","shamt","to_owned","try_from","try_into","type_id","vzip","NUM_REGISTERS","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_HI","REGISTER_LO","REGISTER_NEXT_IP","REGISTER_PREIMAGE_KEY_END","REGISTER_PREIMAGE_KEY_START","REGISTER_PREIMAGE_OFFSET","Registers","borrow","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref_mut","deserialize","drop","fmt","from","general_purpose","heap_pointer","hi","index","index_mut","init","into","iter","lo","next_instruction_pointer","preimage_key","preimage_offset","serialize","to_owned","try_from","try_into","type_id","vzip","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","SyscallEnv","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","alloc_scratch_inverse","and_witness","bitmask","borrow","borrow","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone_into","constant","copy","count_leading_ones","count_leading_zeros","create","create","decode_instruction","default","deref","deref","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","hash_counter","increase_instruction_counter","init","init","instruction_counter","instruction_counter","into","into","is_zero","keccak_env","last_hint","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","preimage","preimage_bytes_read","preimage_key","preimage_oracle","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","request_hint_write","request_preimage_write","reset","reset_scratch_state","reset_scratch_state_inverse","scratch_state","scratch_state_idx","scratch_state_idx_inverse","scratch_state_inverse","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","syscall_env","test_less_than","test_less_than_signed","test_zero","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","vzip","write_column","write_field_column","xor_witness","INSTRUCTION_SET_SIZE","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","SCRATCH_SIZE","column","constraints","interpreter","registers","witness","Column","E","InstructionCounter","ScratchState","Selector","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","init","into","to_owned","try_from","try_into","type_id","vzip","Env","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","bitmask","borrow","borrow_mut","check_equal","check_is_zero","constant","constraints","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","div","div_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_constraints","get_lookups","get_selector","get_selector_constraints","increase_instruction_counter","init","instruction_counter","into","inverse_or_zero","is_zero","lookups","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","reset","scratch_state_idx","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","Add","AddImmediate","AddUpperImmediate","And","AndImmediate","BranchEq","BranchGreaterThanEqual","BranchGreaterThanEqualUnsigned","BranchLessThan","BranchLessThanUnsigned","BranchNeq","Div","Divu","Fence","FenceI","IInstruction","IInstructionIter","IType","Instruction","InstructionIter","InterpreterEnv","JumpAndLink","JumpAndLinkRegister","LoadByte","LoadByteUnsigned","LoadHalf","LoadHalfUnsigned","LoadUpperImmediate","LoadWord","MInstruction","MInstructionIter","MType","Mul","Mulh","Mulhsu","Mulhu","Or","OrImmediate","Position","RInstruction","RInstructionIter","RType","Rem","Remu","SBInstruction","SBInstructionIter","SBType","SInstruction","SInstructionIter","SType","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalImmediate","ShiftRightArithmetic","ShiftRightArithmeticImmediate","ShiftRightLogical","ShiftRightLogicalImmediate","StoreByte","StoreHalf","StoreWord","Sub","SyscallInstruction","SyscallInstructionIter","SyscallSuccess","SyscallType","UInstruction","UInstructionIter","UJInstruction","UJInstructionIter","UJType","UType","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","default","default","default","default","default","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","div","div_signed","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","hash","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_mtype","interpret_rtype","interpret_sbtype","interpret_stype","interpret_syscall","interpret_ujtype","interpret_utype","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","inverse_or_zero","is_zero","iter","iter","iter","iter","iter","iter","iter","iter","iter","iter","len","len","len","len","len","len","len","len","len","len","lookup_16bits","lookup_2bits","lookup_8bits","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","next","next","next","next","next","next","next","next","next","next_back","next_back","next_back","next_back","next_back","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","nth","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check16","range_check64","range_check8","read_memory","read_register","report_exit","reset","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","A0","A1","A2","A3","A4","A5","A6","A7","Fp","Gp","HeapPointer","Ip","N_GP_REGISTERS","NextIp","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_NEXT_IP","Ra","RegisterAlias","Registers","S0","S1","S10","S11","S2","S3","S4","S5","S6","S7","S8","S9","Sp","T0","T1","T2","T3","T4","T5","T6","Tp","Zero","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","fmt","from","from","general_purpose","heap_pointer","index","index","index_mut","init","init","into","into","next_instruction_pointer","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","activate_selector","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","bitmask","borrow","borrow_mut","check_equal","check_is_zero","constant","copy","count_leading_ones","count_leading_zeros","create","decode_instruction","deref","deref_mut","div","div_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","increase_instruction_counter","init","instruction_counter","instruction_counter","into","inverse_or_zero","is_zero","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mod_signed","mod_unsigned","mul_hi","mul_hi_signed","mul_hi_signed_unsigned","mul_lo","mul_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","reset","reset_scratch_state","scratch_state","scratch_state_idx","selector","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","write_column","write_field_column","xor_witness","BaseSponge","Curve","Fp","OpeningProof","Pairing","ScalarSponge","SpongeParams","folding","proof","trace","Beta","Challenge","ChallengeIter","DecomposedFoldingEnvironment","FoldingEnvironment","FoldingInstance","FoldingWitness","Gamma","JointCombiner","alphas","blinder","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","challenge","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","col","col","combine","combine","commitments","curr_witnesses","curr_witnesses","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_alphas","get_blinder","hash","hash","index","index","init","init","init","init","init","init","instances","instances","into","into","into","into","into","into","into_iter","iter","keccak","len","mips","new","new","next","next_back","next_witnesses","next_witnesses","nth","par_bridge","relax","relax","selector","selector","size_hint","structure","structure","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","witness","KeccakConfig","KeccakFoldingEnvironment","KeccakFoldingInstance","KeccakFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","DecomposableMIPSFoldingConfig","DecomposableMIPSFoldingEnvironment","MIPSFoldingInstance","MIPSFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","fold","DecomposableTracer","DecomposedTrace","Foldable","Selector","Trace","Tracer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","constraints","deref","deref","deref_mut","deref_mut","domain_size","domain_size","drop","drop","folding_constraints","folding_constraints","from","from","in_circuit","index","init","init","init","init","into","into","is_full","keccak","lookups","mips","new","number_of_rows","pad_dummy","pad_dummy","pad_with_row","pad_with_row","pad_with_zeros","pad_with_zeros","pad_witnesses","push_row","push_row","reset","set_selector_column","to_folding_pair","to_folding_pair","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","DecomposedKeccakTrace","KeccakTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","DecomposedMIPSTrace","MIPSTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","AtMost4Lookup","ByteLookup","KeccakStepLookup","LookupTableIDs","MemoryLookup","PadLookup","RangeCheck16Lookup","RegisterLookup","ResetLookup","RoundConstantsLookup","SparseLookup","SyscallLookup","all_variants","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","equivalent","fmt","from","from_u32","hash","init","into","is_fixed","ix_by_value","length","partial_cmp","runtime_create_column","to_owned","to_u32","try_from","try_into","type_id","vzip","DEGREE_QUOTIENT_POLYNOMIAL","MAXIMUM_DEGREE_CONSTRAINTS","TOTAL_NUMBER_OF_CONSTRAINTS","column_env","proof","prover","verifier","ColumnEnvironment","borrow","borrow_mut","challenges","column_domain","constants","deref","deref_mut","domain","drop","from","get_all_columns","get_challenges","get_column","get_constants","get_domain","init","into","l0_1","l0_1","try_from","try_into","type_id","vanishes_on_zero_knowledge_and_previous_rows","vzip","witness","Proof","ProofInputs","WitnessColumns","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","commitments","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","error","evaluations","from","from","from","get_column","init","init","init","instruction_counter","into","into","into","new","opening_proof","quotient_commitment","quotient_evaluations","scratch","scratch_inverse","selector","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","zeta_evaluations","zeta_omega_evaluations","ConstraintDegreeTooHigh","ProverError","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","prove","provide","to_owned","to_string","try_from","try_into","type_id","vzip","verify","NullPreImageOracle","PreImageOracle","PreImageOracleT","RW","ReadWrite","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cmd","create","create_bidirectional_channel","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","from","from","from","from","get_preimage","get_preimage","get_preimage","hint","hint","hint","hint_client","hint_server","init","init","init","init","into","into","into","into","oracle_client","oracle_server","reader","start","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","writer","LookupMode","RAMLookup","Read","Write","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","init","init","into","into","into_logup","new","numerator","read_if","read_one","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_if","write_one","main","memory_size"],"q":[[0,"o1vm"],[13,"o1vm::cannon"],[267,"o1vm::cli"],[295,"o1vm::cli::cannon"],[404,"o1vm::elf_loader"],[421,"o1vm::interpreters"],[424,"o1vm::interpreters::keccak"],[495,"o1vm::interpreters::keccak::column"],[715,"o1vm::interpreters::keccak::constraints"],[741,"o1vm::interpreters::keccak::environment"],[769,"o1vm::interpreters::keccak::helpers"],[792,"o1vm::interpreters::keccak::interpreter"],[890,"o1vm::interpreters::keccak::witness"],[917,"o1vm::interpreters::mips"],[926,"o1vm::interpreters::mips::column"],[965,"o1vm::interpreters::mips::constraints"],[1032,"o1vm::interpreters::mips::interpreter"],[1401,"o1vm::interpreters::mips::interpreter::debugging"],[1432,"o1vm::interpreters::mips::registers"],[1472,"o1vm::interpreters::mips::witness"],[1593,"o1vm::interpreters::riscv32im"],[1603,"o1vm::interpreters::riscv32im::column"],[1627,"o1vm::interpreters::riscv32im::constraints"],[1700,"o1vm::interpreters::riscv32im::interpreter"],[2302,"o1vm::interpreters::riscv32im::registers"],[2382,"o1vm::interpreters::riscv32im::witness"],[2477,"o1vm::legacy"],[2487,"o1vm::legacy::folding"],[2633,"o1vm::legacy::folding::keccak"],[2660,"o1vm::legacy::folding::mips"],[2687,"o1vm::legacy::proof"],[2688,"o1vm::legacy::trace"],[2754,"o1vm::legacy::trace::keccak"],[2763,"o1vm::legacy::trace::mips"],[2772,"o1vm::lookups"],[2813,"o1vm::pickles"],[2820,"o1vm::pickles::column_env"],[2846,"o1vm::pickles::proof"],[2899,"o1vm::pickles::prover"],[2921,"o1vm::pickles::verifier"],[2922,"o1vm::preimage_oracle"],[2991,"o1vm::ramlookup"],[3036,"o1vm::test_preimage_read"],[3037,"o1vm::utils"]],"d":["","","Modules mimicking the defined structures used by Cannon …","","A module to load ELF files.","","Legacy implementation of the recursive proof composition. …","Instantiation of the lookups for the VM project. …","Pickles flavor of the o1vm. This is the pickles flavor of …","Preimage oracle interface used by the zkVM.","The RAM lookup argument.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","An interpreter for an optimised version of Keccak","An interpreter for the MIPS instruction set. This module …","An interpreter for the RISC-V 32IM instruction set, …","","","","","","","","","All the names for constraints involved in the Keccak …","","Errors that can occur during the check of the witness","","","","","","","","","","","","","","","","","","","","","","","This module defines the custom columns used in the Keccak …","This module contains the constraints for one Keccak step.","","","","","","","This module contains the definition and implementation of …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","This module defines the Keccak interpreter in charge of …","Calls U::from(self).","Calls U::from(self).","This function returns a vector of field elements that …","Standardizes a Keccak step to a common opcode","","","","","","","","","","","This file contains the witness for the Keccak hash …","","Order of absorb steps in the computation depending on the …","An iterator over the variants of Absorbs","Block index inside the hash to enumerate preimage bytes","","","Column aliases used by the Keccak circuit. The number of …","","Hash identifier to distinguish inside the syscalls …","","The witness columns used by the Keccak circuit. The Keccak …","","","Total number of columns used in Keccak, including relation …","The maximum total number of witness columns used by the …","The number of columns required for the Keccak selectors. …","","","","","","","","","","","","Current step performs a round of the permutation. The …","","","Current step is a sponge","","","","","Variants of Keccak sponges","An iterator over the variants of Sponges","","Hash step identifier to distinguish inside interstep …","Variants of Keccak steps available for the interpreter. …","An iterator over the variants of Steps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Map the column alias to the actual column index. Note that …","Map the column alias to the actual column index. Note that …","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","","Constraints that are added to the circuit","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Variables that are looked up in the circuit","","","","","","","","This struct contains all that needs to be kept track of …","","","","","Environment for the constraints (includes lookups). The …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Starts a new Keccak environment for a given hash index and …","Nullifies the Witness and Constraint environments by …","Returns the selector of the current step in standardized …","Entrypoint for the interpreter. It executes one step of …","Current step","","","","","This function updates the next step of the environment …","","Environment for the witness (includes multiplicities)","Writes an integer value to a column of the Keccak witness","Writes a field value to a column of the Keccak witness","This trait contains helper functions for arithmetic …","This trait contains helper functions for boolean …","This trait contains helper functions for the lookups used …","Degree-2 variable encoding whether at least one of the two …","Degree-2 variable encoding whether the input is a boolean …","Degree-2 variable encoding whether the first input is …","Degree-1 variable encoding whether the input is the value …","","Adds a lookup to the Byte table","Adds a lookup to the Pad table","Adds a lookup to the RangeCheck16 table","Adds a lookup to the Reset table","Adds a lookup to the RoundConstants table","Adds a lookup to the Shift table","Degree-1 variable encoding the negation of the input Note: …","Returns a variable representing the value one","Degree-2 variable encoding the OR of two variables, which …","","Returns a variable representing the value two","Returns a variable representing the value 2^x","","Degree-2 variable encoding the XOR of two variables which …","Returns a variable representing the value zero","This trait includes functionalities needed to obtain the …","","","Adds a given Lookup to the environment if the condition …","This function returns a degree-2 variable that is computed …","Returns the block index as a variable","Returns a variable that encodes the idx-th block of bytes …","Creates a variable from a constant integer","Creates a variable from a constant field element","Adds one KeccakConstraint to the environment if the …","Constrains 332 checks of absorb sponges","Constrains 136 checks of booleanity for some mode flags.","Constrains 200 checks of the chi algorithm in round steps","Constrains 136 checks of correctness of mode flags","Constrains 4 checks of the iota algorithm in round steps","Constrains 6 checks of padding absorb sponges","Constrains 150 checks of the pirho algorithm in round steps","Constrains 389 checks of round steps","Constrains 354 checks of sponge steps","Constrains 16 checks of squeeze sponges","Constrains 35 checks of the theta algorithm in round steps","Creates all 879 constraints/checks to the environment:","Returns the (x,q)-th term of ThetaDenseC, as a variable","Returns the (y,x,q)-th variable of PiRhoDenseE","Returns the (x,q)-th variable of ThetaDenseRotC","Returns the (y,x,q)-th variable of PiRhoDenseRotE","Returns the (x,q)-th variable of ThetaExpandRotC","Returns the (y,x,q)-th variable of PiRhoExpandRotE","Returns a vector of pad bytes flags as variables, with idx …","This function returns the composed variable from dense …","COLUMN OPERATIONS /// This function returns the composed …","Returns the hash index as a variable","Returns a variable that encodes whether the idx-th byte of …","Returns the 100 step input variables, which correspond to …","Returns a slice of the input variables of the current step …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","SELECTOR OPERATIONS /// Returns a degree-2 variable that …","Returns a variable that encodes whether the current step …","Reads a Lookup containing the input of a step and writes a …","When in Squeeze mode, writes a Lookup containing the …","When in Absorb mode, reads Lookups containing the 136 …","Creates all possible lookups to the Keccak constraints …","Adds the 800 lookups required for Chi in the round","Adds the 1 lookup required for Iota in the round","Adds the 700 lookups required for PiRho in the round","Adds the 120 lookups required for Theta in the round","Adds the 601 lookups required for the sponge","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","Returns the idx-th new state expanded quarter, as a …","Returns the idx-th old state expanded quarter, as a …","Returns the 100 step output variables, which correspond to …","Returns a slice of the output variables of the current …","Returns the 136 flags indicating which bytes of the new …","Returns a variable that encodes the bytelength of the …","Returns a variable that encodes the idx-th chunk of the …","Returns the (x)-th term of ThetaQuotientC, as a variable","Returns the (y,x,q)-th variable of PiRhoQuotientE","Returns the (x,q)-th variable of ThetaRemainderC","Returns the (y,x,q)-th variable of PiRhoRemainderE","Returns a variable that encodes the current round number […","Returns the 4 expanded quarters that encode the round …","Returns the (i,y,x,q)-th variable of ChiShiftsB","Returns the (i,x,q)-th variable of ThetaShiftsC","Returns the (i,y,x,q)-th variable of PiRhoShiftsE","Returns the (i,y,x,q)-th variable of ChiShiftsSum","Returns the idx-th byte of the sponge, as a variable","Returns the 200 bytes of the sponge, as variables","Returns the idx-th term of the shifts of the sponge, as a …","Returns the last 32 terms that are added to the new block …","Returns the (y,x,q)-th input of the theta algorithm, as a …","Returns the idx-th output of a round step as a variable","Returns the step index as a variable","Returns a variable that encodes the value 2^pad_length","Returns the variable corresponding to a given column alias.","Returns the 20 variables corresponding to ThetaDenseC","Returns the 100 variables corresponding to PiRhoDenseE","Returns the 20 variables corresponding to ThetaDenseRotC","Returns the 100 variables corresponding to PiRhoDenseRotE","Returns the 20 variables corresponding to ThetaExpandRotC","Returns the 100 variables corresponding to PiRhoExpandRotE","Returns the 5 variables corresponding to ThetaQuotientC","Returns the 100 variables corresponding to PiRhoQuotientE","Returns the 20 variables corresponding to ThetaRemainderC","Returns the 100 variables corresponding to PiRhoRemainderE","Returns the 400 variables corresponding to ChiShiftsB","Returns the 80 variables corresponding to ThetaShiftsC","Returns the 400 variables corresponding to PiRhoShiftsE","Returns the 400 variables corresponding to ChiShiftsSum","Returns the 400 terms that compose the shifts of the …","Returns the output of an absorb sponge, which is the XOR …","This struct contains all that needs to be kept track of …","","","","","","","","Checks the constraint tag by checking that the input x is …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","The multiplicities of each lookup entry. Should not be …","The fixed tables used in the Keccak gate","","","","","","","","The full state of the Keccak gate (witness)","","","","","","","","","","Abstract columns (or variables of our multi-variate …","","Represents one line of the execution trace of the virtual …","All the witness columns used in MIPS","The number of columns used for relation witness in the …","The number of witness columns used to store the …","","Number of columns used by the MIPS interpreter to keep …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Map the column alias to the actual column index.","Map the column alias to the actual column index.","","","","Calls U::from(self).","","","","","","","","","The environment keeping the constraints between the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Return the constraints for the current instruction, …","","","Return the constraints for the selector. Each selector …","","","","Calls U::from(self).","","","","","","","","","","","","","This function checks that the preimage is read correctly. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of ITypeInstruction","","An iterator over the variants of Instruction","","","","An iterator over the variants of JTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","A position can be seen as an indexed variable","","","An iterator over the variants of RTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Activate the selector for the given instruction.","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","Check that the witness value x is a boolean (0 or 1); …","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","Returns (x / y, x % y), storing the results in …","Returns (x / y, x % y), storing the results in …","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","Adds a lookup to the RangeCheck16Lookup table","Adds a lookup to the AtMost4Lookup table","Adds a lookup to the ByteLookup table","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","Returns x nor y, storing the result in position.","","","","","Returns x or y, storing the result in position.","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","Range checks with 2 lookups to the RangeCheck16Lookup …","Range checks with 1 lookup to the AtMost4Lookup table 0 <= …","","Range checks with 2 lookups to the ByteLookup table that a …","","","","","Request the preimage oracle for len bytes and store the …","Reset the environment to handle the next instruction","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This represents the internal state of the virtual machine.","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","","","","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Computes what is the non-normalized next instruction …","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","","","","","","","","","","Execute a single step of the MIPS program. Returns the …","","","","","","","","","","","","","","","","","","","","","Number of instructions in the ISA","","","","The minimal number of columns required for the VM","List all columns used by the interpreter","","This module implement an interpreter for the RISCV32 IM …","All the registers used by the ISA","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Return the constraints for the current instruction, …","","","Return the constraints for the selector. Each selector …","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Format: add rd, rs1, rs2","Format: addi rd, rs1, imm","Format: auipc rd,imm","Format: and rd, rs1, rs2","Format: andi rd, rs1, imm","Format: beq rs1, rs2, offset","Format: bge rs1, rs2, offset","Format: bgeu rs1, rs2, offset","Format: blt rs1, rs2, offset","Format: bltu rs1, rs2, offset","Format: bne rs1, rs2, offset","Format: div rd, rs1, rs2","Format: divu rd, rs1, rs2","Format: fence","Format: fence.i","","An iterator over the variants of IInstruction","","","An iterator over the variants of Instruction","","Format: jal rd,imm","Format: jalr rd, rs1, imm","Format: lb rd, offset(rs1)","Format: lbu rd, offset(rs1)","Format: lh rd, offset(rs1)","Format: lhu rd, offset(rs1)","Format: lui rd,imm","Format: lw rd, offset(rs1)","M extension instructions Following …","An iterator over the variants of MInstruction","","Format: mul rd, rs1, rs2","Format: mulh rd, rs1, rs2","Format: mulhsu rd, rs1, rs2","Format: mulhu rd, rs1, rs2","Format: or rd, rs1, rs2","Format: ori rd, rs1, imm","A position can be seen as an indexed variable","","An iterator over the variants of RInstruction","","Format: rem rd, rs1, rs2","Format: remu rd, rs1, rs2","","An iterator over the variants of SBInstruction","","","An iterator over the variants of SInstruction","","Format: slt rd, rs1, rs2","Format: slti rd, rs1, imm","Format: sltiu rd, rs1, imm","Format: sltu rd, rs1, rs2","Format: sll rd, rs1, rs2","Format: slli rd, rs1, shamt","Format: sra rd, rs1, rs2","Format: srai rd, rs1, shamt","Format: srl rd, rs1, rs2","Format: srli rd, rs1, shamt","Format: sb rs2, offset(rs1)","Format: sh rs2, offset(rs1)","Format: sw rs2, offset(rs1)","Format: sub rd, rs1, rs2","","An iterator over the variants of SyscallInstruction","","","","An iterator over the variants of UInstruction","","An iterator over the variants of UJInstruction","","","","Format: xor rd, rs1, rs2","Format: xori rd, rs1, imm","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Activate the selector for the given instruction.","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x / y, storing the results in position.","Returns x / y, storing the results in position.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","","","","","","","","","","","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","","","","","","","","Interpret an I-type instruction. The encoding of an I-type …","Interpret an M-type instruction. The encoding of an M-type …","Interpret an R-type instruction. The encoding of an R-type …","Interpret an SB-type instruction. The encoding of an …","Interpret an S-type instruction. The encoding of an S-type …","","Interpret an UJ-type instruction. The encoding of an …","Interpret an U-type instruction. The encoding of an U-type …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Returns x^(-1), or 0 if x is 0, storing the result in …","","","","","","","","","","","","","","","","","","","","","","Adds a lookup to the RangeCheck16Lookup table","Adds a lookup to the AtMost4Lookup table","Adds a lookup to the ByteLookup table","Returns x % y, storing the results in position.","Returns x % y, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns ((x * y) >> 32, storing the results in position.","Returns (x * y) & ((1 << 32) - 1)), storing the results in …","Returns (x * y) & ((1 << 32) - 1)), storing the results in …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","","","","","","","","","","","Returns x nor y, storing the result in position.","","","","","","","","","","Returns x or y, storing the result in position.","","","","","","","","","","","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","Range checks with 2 lookups to the RangeCheck16Lookup …","","Range checks with 2 lookups to the ByteLookup table that a …","","","","","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","Function arguments/results","","","","","","","","Frame pointer/saved register. This is the same register.","Global pointer","","Current instruction pointer","","Next instruction pointer","","","","Return address","This enum provides aliases for the registers. This is …","This represents the internal state of the virtual machine.","","Saved registers","","","","","","","","","","","Stack pointer","Temporary/alternate register","Temporaries","","","","","","Thread pointer","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","There are 32 general purpose registers.","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","Execute a single step in the RISCV32i program","","","","","","","","","","","","","","","","Elliptic curve group of BN254","Scalar field of BN254","","","","","","","This module defines structures and traits to build and …","","","An iterator over the variants of Challenge","Environment for the decomposable folding protocol, for a …","","Folding instance containing the commitment to a witness of …","Includes the data witness columns and also the dynamic …","","","Reuses the Alphas defined in the example of folding","Blinder used in the polynomial commitment scheme","","","","","","","","","","","","","","","Challenges for the proof. We do use 3 challenges:","","","","","","","","","","","","","Commitments to the witness columns, including the dynamic …","Corresponds to the omega evaluations, for both sides","Corresponds to the evaluations at ω, for both sides","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Commitments to the witness columns, for both sides","Commitments to the witness columns, for both sides","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Corresponds to the zeta*omega evaluations, for both sides …","Corresponds to the evaluations at ζω, for both sides …","","","This method takes an Instance and a commitment to zero and …","This method takes a witness and a vector of evaluations to …","","","","","Structure of the folded circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a column alias to the corresponding witness column.","Map a selector column to the corresponding witness column.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Map a column alias to the corresponding witness column.","Map a selector column to the corresponding witness column.","","","Calls U::from(self).","","","","","","FIXME: DUMMY FOLD FUNCTION THAT ONLY KEEPS THE LAST …","DecomposableTracer builds traces for some program …","Struct representing a circuit execution trace which is …","The trait Foldable describes structures that can be folded.","","Implement a trace for a single instruction.","Tracer builds traces for some program executions. The …","","","","","","","","","","","","","","","The domain size of the circuit (should coincide with that …","","","Returns a map of constraints that are compatible with …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns a boolean indicating whether the witness for the …","","Initialize a new trace with the given domain size, …","","","","Calls U::from(self).","Calls U::from(self).","Returns whether the witness for the given selector has …","","","","Create a new decomposable trace with the given domain …","Returns the number of rows that have been instantiated for …","Pad the rows of one opcode with the first row until …","","Pad the rows of one opcode with the given row until …","","Pads the rows of one opcode with zero rows until reaching …","","Pads the rows of the witnesses until reaching the domain …","Add a witness row to the circuit (only for relation …","","Resets the witness after folding","Sets the selector column to all ones, and the rest to all …","Returns the witness for the given selector as a folding …","","","","The traces are indexed by the selector Inside the witness …","","","","","","","","","","The Keccak circuit trace","A Keccak instruction trace","","","","","","","","The MIPS circuit trace","The MIPS instruction trace","","","","","","","","Values from 0 to 4 to check the number of bytes read from …","All values that can be stored in a byte (amortized table, …","Input/Output of Keccak steps","All of the possible lookup table IDs used in the zkVM","","All [1..136] values of possible padding lengths, the value …","Single-column table of all values in the range [0, 2^16)","","Dual-column table of all values in the range [0, 2^16) and …","24-row table with all possible values for round and their …","Single-column table of 2^16 entries with the sparse …","Syscalls communication channel","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","Degree of the quotient polynomial. We do evaluate all …","Maximum degree of the constraints. It does include the …","Total number of constraints for all instructions, …","","","","","The collection of polynomials (all in evaluation form) and …","","","Challenges from the IOP.","","Constant values required","","","The domains used in the PLONK argument.","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","The value prod_{j != 1} (1 - ω^j), used for efficiently …","","","","","","The witness column polynomials. Includes relation columns …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","IPA opening proof","","","","","","","","","","","","","","","","","","","","","Errors that can arise when creating a proof","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Make a PlonKish proof for the given circuit. As inputs, we …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Enum representing the two different modes of a RAMLookup","Struct containing a RAMLookup","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Transforms the current RAMLookup into an equivalent Logup","Creates a new RAMLookup from a mode, a table ID, a …","Returns the numerator corresponding to this lookup in the …","Reads one value when if_is_true is 1.","Reads one value from a table.","","","","","","","","","","","","Writes one value when if_is_true is 1.","Writes one value to a table.","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,9,10,4,13,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,13,15,5,6,9,10,13,15,16,18,1,2,3,4,5,6,16,18,1,5,6,16,16,15,15,6,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,3,4,5,6,18,1,9,10,15,15,3,13,3,9,10,13,15,16,18,1,2,3,4,5,6,3,9,10,13,15,16,18,1,2,3,4,5,6,15,15,15,3,2,5,15,3,15,3,15,15,15,3,3,15,13,15,5,3,3,5,15,4,3,6,4,1,2,3,4,5,6,15,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,29,0,29,29,29,29,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,34,0,0,34,0,34,24,32,33,24,32,33,34,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,24,32,33,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,33,24,32,33,34,33,32,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,24,32,33,34,32,24,32,33,34,0,38,38,38,38,38,38,38,38,38,38,0,0,38,38,38,38,0,0,0,41,41,41,41,0,41,41,41,0,40,0,41,40,41,41,41,41,41,0,41,0,41,41,41,41,40,41,40,41,40,41,40,41,0,0,40,41,40,41,40,41,0,40,41,40,40,41,41,40,41,40,41,0,40,41,0,40,41,0,0,40,41,40,41,40,41,40,41,40,41,0,47,0,0,45,45,45,0,49,45,45,0,49,49,0,0,0,49,45,45,45,45,45,45,45,45,45,45,44,45,45,44,45,45,45,45,0,0,47,45,0,0,45,45,45,45,45,45,45,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,47,49,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,45,45,44,44,47,47,49,49,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,47,49,54,54,54,54,45,44,46,47,48,49,50,45,44,46,47,48,49,50,44,46,48,50,45,44,44,47,49,44,46,48,50,46,48,50,46,48,50,46,48,50,46,48,50,45,44,47,49,46,48,50,45,44,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,45,44,46,47,48,49,50,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,0,0,0,179,179,179,179,179,180,180,180,180,180,180,179,181,179,180,181,181,180,179,181,0,0,64,64,182,182,182,64,64,64,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,64,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,0,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,67,67,67,67,66,66,66,66,66,66,66,66,66,66,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,74,78,78,74,74,78,78,78,78,78,78,78,74,74,74,74,0,0,0,0,0,0,0,68,0,0,0,0,0,68,0,0,76,76,74,74,78,78,78,78,78,78,78,78,74,74,74,74,74,74,74,74,74,74,74,78,80,68,0,0,0,0,0,0,0,0,0,74,78,78,74,74,74,74,74,74,74,78,78,78,78,78,78,74,74,74,74,74,74,74,74,74,74,74,74,74,80,74,78,80,80,80,80,80,80,80,80,80,80,80,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,74,76,78,80,80,80,80,0,74,76,78,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,68,73,74,75,76,77,78,79,68,74,76,78,80,68,68,74,74,76,76,78,78,80,80,80,80,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,80,68,74,76,78,80,80,68,73,74,75,76,77,78,79,80,0,0,0,0,68,73,74,75,76,77,78,79,68,73,75,77,79,80,68,68,74,76,78,68,73,75,77,79,80,80,80,80,80,80,73,75,77,79,73,75,77,79,80,73,75,77,79,80,73,75,77,79,68,74,76,78,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,73,75,77,79,80,80,80,80,68,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,68,73,74,75,76,77,78,79,80,68,73,74,75,76,77,78,79,80,80,80,80,0,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,0,0,0,0,0,0,0,0,0,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,0,0,0,0,0,0,0,0,0,88,88,88,88,88,88,88,88,88,89,88,89,88,88,88,89,89,88,88,88,88,88,89,88,89,88,89,88,89,88,88,88,89,88,88,88,88,88,88,89,88,88,88,88,88,88,88,89,88,88,88,89,88,88,89,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,89,88,89,88,89,88,89,88,88,88,88,89,88,88,88,0,0,0,0,0,0,0,0,0,0,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,0,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,95,97,103,95,97,101,101,101,101,101,101,109,109,95,95,0,0,92,0,0,0,105,97,97,97,97,97,103,97,0,0,92,109,109,109,109,95,97,111,0,0,92,109,109,0,0,92,0,0,92,95,97,97,95,95,97,95,97,95,97,99,99,99,95,0,0,107,92,0,0,0,0,92,92,111,95,97,111,111,111,111,111,111,111,111,111,111,111,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,107,109,111,111,111,111,95,97,99,101,103,105,107,109,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,107,109,111,92,92,95,95,97,97,99,99,101,101,103,103,105,105,107,107,109,109,111,111,111,111,92,92,94,95,95,96,97,97,98,99,99,100,101,101,102,103,103,104,105,105,106,107,108,109,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,92,95,97,99,101,103,105,107,109,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,0,0,0,0,0,0,0,0,0,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,96,98,100,102,104,106,108,110,111,111,92,92,95,97,99,101,103,105,107,109,92,94,96,98,100,102,104,106,108,110,111,111,111,111,111,111,111,111,111,111,111,94,96,98,100,102,104,106,108,110,94,96,98,100,102,104,106,108,110,111,94,96,98,100,102,104,106,108,110,111,94,96,98,100,102,104,106,108,110,92,95,97,99,101,103,105,107,109,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,94,96,98,100,102,104,106,108,110,111,111,111,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,95,97,99,101,103,105,109,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,111,111,111,113,113,113,113,113,113,113,113,113,113,113,113,0,113,0,0,0,113,0,0,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,113,112,113,112,112,112,112,112,113,112,113,112,112,113,112,112,113,112,112,112,112,112,112,113,112,113,112,112,112,112,113,112,113,112,113,112,113,112,0,0,0,0,0,0,0,0,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,114,0,0,0,0,0,0,0,0,0,0,117,0,0,0,0,0,0,117,117,122,122,116,119,117,120,122,124,116,119,117,120,122,124,116,119,122,117,120,122,124,117,120,122,124,116,119,122,124,122,116,119,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,117,124,117,117,124,124,117,120,122,124,116,119,117,117,120,122,124,122,122,117,124,122,124,116,119,117,120,122,124,116,119,116,119,117,120,122,124,120,117,0,120,0,116,119,120,120,116,119,120,120,122,124,116,119,120,116,119,122,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,116,119,117,120,122,124,124,0,0,0,0,134,134,134,134,134,134,134,134,134,134,134,134,134,135,135,135,134,134,134,134,134,134,134,0,0,0,0,136,136,136,136,136,136,136,136,136,136,136,136,136,137,137,137,136,136,136,136,136,136,136,0,0,0,0,183,0,0,141,142,141,142,141,142,141,142,141,141,142,141,142,141,142,141,142,184,142,141,142,142,142,183,141,142,142,141,142,142,0,141,0,185,142,183,142,183,142,183,142,185,183,142,142,142,184,142,141,142,142,141,142,141,142,141,142,141,142,141,0,0,148,149,148,148,148,149,148,0,0,150,151,150,150,150,151,150,58,58,58,0,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,0,0,0,0,0,0,0,0,153,153,153,153,153,153,153,153,153,153,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,0,157,159,164,157,159,164,164,157,159,164,157,159,164,157,159,164,157,159,157,159,164,157,157,159,164,157,157,159,164,159,164,164,164,157,157,157,157,159,164,157,159,164,157,159,164,157,159,164,164,164,160,0,160,160,160,160,160,160,160,160,160,160,160,160,0,160,160,160,160,160,160,160,0,0,0,0,0,0,166,186,187,167,166,186,187,167,166,166,0,166,186,187,167,166,186,187,167,166,186,187,167,166,186,187,167,87,166,167,87,166,167,166,166,166,186,187,167,166,186,187,167,166,166,186,166,166,186,187,167,166,186,187,167,166,186,187,167,166,186,187,167,186,0,0,169,169,169,59,169,59,169,59,169,59,169,59,169,59,169,59,169,59,59,169,59,169,59,169,59,59,59,59,59,59,169,59,59,169,59,169,59,169,59,169,59,59,59,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[[]],[[]],[[]],[[]],[[]],[[]],[[[8,[7]]],9],[[[8,[7]]],10],[11,4],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[12,[[14,[13]]]],[12,[[14,[15]]]],[12,[[14,[5]]]],[12,[[14,[6]]]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[16,16],17],[[18,18],17],[[1,1],17],[[5,5],17],[[6,6],17],[[],17],[[],17],0,0,[[6,19],[[21,[20]]]],[[13,22],23],[[15,22],23],[[16,22],23],[[18,22],23],[[1,22],23],[[2,22],23],[[3,22],23],[[4,22],23],[[5,22],23],[[6,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,3],[[]],[[]],[[]],[[]],[25,[[14,[18]]]],[25,[[14,[1,20]]]],[9,[[8,[7]]]],[10,[[8,[7]]]],0,0,0,0,0,[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,26],14],[[15,26],14],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[15,20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[28,28],[28,28],[[]],[[]],0,[29,29],[[]],[[],28],[[],28],[11],[11],[11],[[29,22],23],[[]],[30,[[14,[29,31]]]],[30,[[14,[29,31]]]],[25,17],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[29,30],[[14,[31]]]],[[29,30],[[14,[31]]]],[[]],0,0,0,0,0,0,0,[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[28,28],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,24],[32,32],[33,33],[34,34],[[]],[[]],[[]],[[]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[24,22],23],[[32,22],23],[[33,22],23],[[34,22],23],[[]],[[]],[[]],[[]],[30,[[14,[24,31]]]],[30,[[14,[32,31]]]],[30,[[14,[33,31]]]],[30,[[14,[34,31]]]],[30,[[14,[24,31]]]],[30,[[14,[32,31]]]],[30,[[14,[33,31]]]],[30,[[14,[34,31]]]],[[],[[21,[35]]]],[[],[[21,[35]]]],[[],[[21,[35]]]],[25,17],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[24,30],[[14,[31]]]],[[32,30],[[14,[31]]]],[[33,30],[[14,[31]]]],[[34,30],[[14,[31]]]],[[24,30],[[14,[31]]]],[[32,30],[[14,[31]]]],[[33,30],[[14,[31]]]],[[34,30],[[14,[31]]]],0,[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[11],[11],[11],[[]],[[],11],[[]],[[[37,[36]]],[[14,[15,20]]]],[[38,39],[[14,[15,20]]]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[40,40],[41,41],[[]],[[]],0,0,[11],[11],[11],[11],[11],[11],0,[[40,40],17],[[41,41],17],[[],17],[[],17],[[],17],[[],17],[[40,22],23],[[41,22],23],[[]],[[]],0,[[],11],[[],11],0,[[]],[[]],[11,[[43,[42]]]],[44,44],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[45,45],[44,44],[46,46],[47,47],[48,48],[49,49],[50,50],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[45,45],51],[[44,44],51],[[47,47],51],[[49,49],51],[[],47],[[],49],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[45,45],17],[[44,44],17],[[47,47],17],[[49,49],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[45,22],23],[[44,22],23],[[46,22],23],[[47,22],23],[[48,22],23],[[49,22],23],[[50,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[45,52]],[[44,52]],[[47,52]],[[49,52]],[[[54,[53]],44]],[[[54,[53]],45]],[[[54,[53]],44]],[[[54,[53]],45]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[44],[[]],[[]],[[]],[45,17],[[],46],[[]],[[],48],[[],50],[[],11],[46,11],[48,11],[50,11],[46,21],[48,21],[50,21],[46,21],[48,21],[50,21],[[46,11],21],[[48,11],21],[[50,11],21],[[],55],[[],55],[[],55],[[45,45],[[21,[51]]]],[[44,44],[[21,[51]]]],[[47,47],[[21,[51]]]],[[49,49],[[21,[51]]]],[46],[48],[50],[45,56],[44,56],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[57,[42]],[59,[58]]]],[[]],[[]],[[[57,[53]]],[[57,[53]]]],[[]],[60],[42],[[[57,[42]],41]],0,[[],[[57,[42]]]],[11],[11],[11],[[[57,[61]],22],23],[[]],[[],11],[[]],0,[[]],[[],14],[[],14],[60],[[],27],[[[57,[42]],45]],[[]],0,[[]],[[]],[[[62,[53]]],[[62,[53]]]],[[]],0,[[],[[62,[42]]]],[11],[11],[11],[[[62,[61]],22],23],[[]],[[],11],[[]],[[60,[63,[7]]],[[62,[42]]]],[[[62,[42]]]],[[[62,[42]]],44],[[[62,[42]]]],0,[[]],[[],14],[[],14],[[],27],[[[62,[42]]]],[[]],0,[[[62,[42]],45,60]],[[[62,[42]],45,42]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[8],[[]],[[]],[8],[[]],[[]],[[]],[[]],[8],[[]],[60],[8],[[]],[[]],0,0,0,[[[59,[58]]]],[11],[[]],[11,8],[60],[[]],[41],[44],[[64,44]],[[44,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[[64,44]],[[44,[8,[[8,[8]]]]]],[44],[[44,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[44],[44],[44],[44,[[8,[[8,[8]]]]]],[44],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[11,8],[[63,[21,[11]],11]],[[63,[21,[11]],[21,[11]],[21,[11]],[21,[11]]]],[[]],[11],[[],43],[[],8],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[44],[11],[11],[[],43],[[],8],[[],43],[[]],[11],[11],[[11,11,11]],[[11,11]],[[11,11,11]],[[]],[[],43],[[11,11,11,11]],[[11,11,11]],[[11,11,11,11]],[[11,11,11,11]],[11],[[],43],[11],[[],43],[[11,11,11]],[11],[[]],[[]],[45],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[[],43],[11],0,[[[65,[42]],[59,[58]]]],[[]],[[]],[[[65,[53]]],[[65,[53]]]],[[]],[60],[42],[[[65,[42]],41]],[[],[[65,[42]]]],[11],[11],[11],[[[65,[61]],22],23],[[]],[[],11],[[]],0,0,[[]],[[],14],[[],14],[60],[[],27],[[[65,[42]],45]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[66,66],[[]],[[66,66],51],[11],[11],[11],[[66,66],17],[[],17],[[],17],[[66,22],23],[[]],[[66,52]],[[[67,[53]],66]],[[[67,[53]],68]],[[[67,[53]],68]],[[[67,[53]],66]],[[],11],[[]],[66,17],[[66,66],[[21,[51]]]],[66,56],[[]],[[],14],[[],14],[[],27],[[]],0,[[[69,[42]],68]],[[[69,[42]]]],[[[69,[42]],[59,[58]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]],19,19]],[[]],[[]],[[]],[[]],[[]],[19],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[],[[69,[42]]]],[11],[11],[[[69,[42]]]],[[[69,[42]]]],[11],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[]],[[],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]],[[8,[[59,[[72,[[71,[42,70]],56]],58]]]]]],[[[69,[42]]],[[72,[[71,[42,70]],56]]]],[[[69,[42]]],[[8,[[72,[[71,[42,70]],56]]]]]],[[[69,[42]]]],[[],11],[[[69,[42]]]],[[]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[[69,[42]]]],[[],14],[[],14],[[],27],[[[69,[42]]]],[[]],[[[69,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[68],[[]],[[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[68,68],[73,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,68],51],[[74,74],51],[[76,76],51],[[78,78],51],[19],[[]],[[]],[[]],0,[[],74],[[],76],[[],78],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[[68,68],17],[[74,74],17],[[76,76],17],[[78,78],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[68,22],23],[[73,22],23],[[74,22],23],[[75,22],23],[[76,22],23],[[77,22],23],[[78,22],23],[[79,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[68,52]],[[74,52]],[[76,52]],[[78,52]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[80,68]],[[80,78]],[[80,76]],[[80,74]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[68],[[]],[[]],[[]],[[]],[[]],[[],73],[[]],[[],75],[[],77],[[],79],[[],11],[73,11],[75,11],[77,11],[79,11],[[]],[[]],[[]],[[]],[[]],[[]],[73,21],[75,21],[77,21],[79,21],[73,21],[75,21],[77,21],[79,21],[[]],[[73,11],21],[[75,11],21],[[77,11],21],[[79,11],21],[[]],[[],55],[[],55],[[],55],[[],55],[[68,68],[[21,[51]]]],[[74,74],[[21,[51]]]],[[76,76],[[21,[51]]]],[[78,78],[[21,[51]]]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[[]],[[]],[19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[73],[75],[77],[79],[[]],[[]],[[]],[[]],[68,56],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[81,81],[[]],[19,81],[[],81],[11],[11],[12,[[14,[81]]]],[11],[81,19],[[81,81],17],[[],17],[[],17],[[81,22],23],[[]],0,[[],11],[[]],0,0,0,0,[[81,26],14],0,[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[82,[53]]],[[82,[53]]]],[[]],0,[[],[[82,[83]]]],[11],[11],[12,[[14,[[82,[84]]]]]],[11],[[[82,[61]],22],23],[[]],0,0,0,[[[82,[53]],11]],[[[82,[53]],11]],[[],11],[[]],[82,85],0,0,0,0,[[[82,[86]],26],14],[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,0,[[[88,[42,87]],68]],[[[88,[42,87]]]],[[[88,[42,87]],[59,[58]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]],19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[89,89],[[]],[19],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[11,15,87],[[88,[42,87]]]],[15,89],[[[88,[42,87]]]],[[],89],[11],[11],[11],[11],[[[88,[42,87]]]],[[[88,[42,87]]]],[11],[11],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[]],[[]],[[[88,[42,87]],19],11],[[[88,[42,87]],19],7],[[[88,[42,87]],19],11],0,0,[[[88,[42,87]]]],[[],11],[[],11],[[[88,[42,87]]]],0,[[]],[[]],[[[88,[42,87]]]],0,0,0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]],60],[[[88,[42,87]]]],[[[88,[42,87]]],60],[[[88,[42,87]]]],0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],0,0,0,0,0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]],3,[21,[6]],4],68],[[[88,[42,87]]]],0,[[[88,[42,87]]]],[[[88,[42,87]]]],[[[88,[42,87]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[[88,[42,87]],11]],[[[88,[42,87]],11]],[[[88,[42,87]]]],[[]],[[]],[[[88,[42,87]],66,60]],[[[88,[42,87]],66,42]],[[[88,[42,87]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[90,90],[[]],[11],[11],[11],[[90,90],17],[[],17],[[],17],[[90,22],23],[[]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],0,[[[91,[42]],92]],[[[91,[42]]]],[[[91,[42]],[59,[58]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]],19,19]],[[]],[[]],[[]],[[]],[19],0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[],[[91,[42]]]],[11],[11],[[[91,[42]]]],[[[91,[42]]]],[11],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[]],[[[91,[42]]],[[8,[[93,[42]]]]]],[[[91,[42]]],[[8,[[59,[[93,[42]],58]]]]]],[[[91,[42]]],[[93,[42]]]],[[[91,[42]]],[[8,[[93,[42]]]]]],[[[91,[42]]]],[[],11],[[[91,[42]]]],[[]],[[[91,[42]]]],[[[91,[42]]]],0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],0,0,[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[[91,[42]]]],[[],14],[[],14],[[],27],[[[91,[42]]]],[[]],[[[91,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[92],[[]],[[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[92,92],[94,94],[95,95],[96,96],[97,97],[98,98],[99,99],[100,100],[101,101],[102,102],[103,103],[104,104],[105,105],[106,106],[107,107],[108,108],[109,109],[110,110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[92,92],51],[[95,95],51],[[97,97],51],[[99,99],51],[[101,101],51],[[103,103],51],[[105,105],51],[[107,107],51],[[109,109],51],[19],[[]],[[]],[[]],[[],95],[[],97],[[],99],[[],101],[[],103],[[],105],[[],107],[[],109],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[92,92],17],[[95,95],17],[[97,97],17],[[99,99],17],[[101,101],17],[[103,103],17],[[105,105],17],[[107,107],17],[[109,109],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[92,22],23],[[92,22],23],[[94,22],23],[[95,22],23],[[95,22],23],[[96,22],23],[[97,22],23],[[97,22],23],[[98,22],23],[[99,22],23],[[99,22],23],[[100,22],23],[[101,22],23],[[101,22],23],[[102,22],23],[[103,22],23],[[103,22],23],[[104,22],23],[[105,22],23],[[105,22],23],[[106,22],23],[[107,22],23],[[108,22],23],[[109,22],23],[[109,22],23],[[110,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[92,52]],[[95,52]],[[97,52]],[[99,52]],[[101,52]],[[103,52]],[[105,52]],[[107,52]],[[109,52]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[111,92]],[[111,97]],[[111,109]],[[111,95]],[[111,101]],[[111,99]],[[111,107]],[[111,105]],[[111,103]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[92],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],94],[[]],[[],96],[[],98],[[],100],[[],102],[[],104],[[],106],[[],108],[[],110],[[],11],[94,11],[96,11],[98,11],[100,11],[102,11],[104,11],[106,11],[108,11],[110,11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[94,21],[96,21],[98,21],[100,21],[102,21],[104,21],[106,21],[108,21],[110,21],[94,21],[96,21],[98,21],[100,21],[102,21],[104,21],[106,21],[108,21],[110,21],[[]],[[94,11],21],[[96,11],21],[[98,11],21],[[100,11],21],[[102,11],21],[[104,11],21],[[106,11],21],[[108,11],21],[[110,11],21],[[]],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[],55],[[92,92],[[21,[51]]]],[[95,95],[[21,[51]]]],[[97,97],[[21,[51]]]],[[99,99],[[21,[51]]]],[[101,101],[[21,[51]]]],[[103,103],[[21,[51]]]],[[105,105],[[21,[51]]]],[[107,107],[[21,[51]]]],[[109,109],[[21,[51]]]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[[]],[19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[94],[96],[98],[100],[102],[104],[106],[108],[110],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[112,[53]]],[[112,[53]]]],[[]],0,[[],[[112,[83]]]],[11],[11],[11],[11],[12,[[14,[[112,[84]]]]]],[11],[11],[[[112,[61]],22],23],[[]],[[]],0,0,[[[112,[53]],11]],[[[112,[53]],113]],[[[112,[53]],11]],[[],11],[[],11],[[]],[[]],0,[[[112,[86]],26],14],[[]],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,0,0,0,0,0,[[[114,[42]],92]],[[[114,[42]]]],[[[114,[42]],[59,[58]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]],19,19]],[[]],[[]],[[]],[[]],[19],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[11,15],[[114,[42]]]],[[[114,[42]]]],[11],[11],[[[114,[42]]]],[[[114,[42]]]],[11],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[]],[[[114,[42]],19],11],[[[114,[42]],19],7],[[[114,[42]],19],11],0,[[[114,[42]]]],[[],11],[[[114,[42]]]],0,[[]],[[[114,[42]]]],[[[114,[42]]]],0,0,0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]],60],[[[114,[42]]]],[[[114,[42]]],60],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],0,0,0,[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]],92],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[[114,[42]]]],[[],14],[[],14],[[],27],[[[114,[42]],11]],[[[114,[42]],11]],[[[114,[42]]]],[[]],[[[114,[42]],90,60]],[[[114,[42]],90,42]],[[[114,[42]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[116,[115,53]],117,118]],[[[119,[115,53]],117,118]],0,[117,117],[120,120],[[[122,[[0,[53,121]]]]],[[122,[[0,[53,121]]]]]],[[[124,[[0,[53,123]]]]],[[124,[[0,[53,123]]]]]],[[]],[[]],[[]],[[]],[[[116,[115,53]],125,118],63],[[[119,[115,53]],125,118],63],[[[122,[121]],[122,[121]]],[[122,[121]]]],[[[124,[123]],[124,[123]],123],[[124,[123]]]],0,0,0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[117,117],17],[[[124,[[0,[126,123]]]],[124,[[0,[126,123]]]]],17],[[],17],[[],17],[[],17],[[],17],[[117,22],23],[[120,22],23],[[[122,[[0,[61,121]]]],22],23],[[[124,[[0,[61,123]]]],22],23],[[]],[[]],[[]],[70,117],[[]],[[]],[[]],[[[122,[121]]],127],[[[122,[121]]]],[[117,52]],[[[124,[[0,[128,123]]]],52]],[[[122,[121]],117]],[[[124,[129]],56]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],120],0,[120,11],0,[[[43,[122]],[43,[124]]],[[116,[115,53]]]],[[[43,[122]],[43,[124]]],[[119,[115,53]]]],[120,21],[120,21],0,0,[[120,11],21],[[],55],[[],130],[[[132,[131]]],133],[[[116,[115,53]],118],63],[[[119,[115,53]],118],63],[120],0,0,[[[122,[121]]]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[134,134],[[]],[11],[11],[11],[[134,134],17],[[],17],[[],17],[[134,22],23],[[]],[[134,52]],[[135,45]],[[135,56]],[[135,44]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],0,0,0,0,[[]],[[]],[136,136],[[]],[11],[11],[11],[[136,136],17],[[],17],[[],17],[[136,22],23],[[]],[[136,52]],[[137,56]],[[137,68]],[[137,66]],[[],11],[[]],[[]],[[],14],[[],14],[[],27],[[]],[[138,[139,[58]],[140,[8]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[141,[[0,[53,115]]]]],[[141,[[0,[53,115]]]]]],[[[142,[[0,[53,115]]]]],[[142,[[0,[53,115]]]]]],[[]],[[]],0,[11],[11],[11],[11],0,0,[11],[11],[[],[[144,[[8,[143]]]]]],[[[142,[115]]],[[144,[[8,[[143,[115]]]]]]]],[[]],[[]],[[[142,[115]]],17],[[[142,[115]]]],[11],[[],11],[11,[[142,[115]]]],[[],11],[[]],[[]],[[[142,[115]]],17],0,0,0,[11],[[[142,[115]]],11],[[],11],[[[142,[115]]],11],[43,11],[[[142,[115]],43],11],[[],11],[[[142,[115]]],11],[[]],[43],[[[142,[115]],43]],[[[142,[115]]]],[[[142,[115]],11]],[[131,[146,[145]]]],[[[142,[115]],147,131,[146,[145]]]],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],0,0,0,[[11,44,62],148],[[11,62],149],[148,11],[[148,43],11],[148,11],[149],[[148,43]],0,0,[[11,68,69],150],[[11,69],151],[150,11],[[150,43],11],[150,11],[151],[[150,43]],0,0,0,0,0,0,0,0,0,0,0,0,[[],[[8,[58]]]],[[]],[[]],[58,58],[[]],[[58,58],51],[11],[11],[11],[[58,58],17],[[],17],[[],17],[[58,22],23],[[]],[19,58],[[58,52]],[[],11],[[]],[58,17],[[58,[63,[152]]],[[21,[11]]]],[58,11],[[58,58],[[21,[51]]]],[58,17],[[]],[58,19],[[],14],[[],14],[[],27],[[]],0,0,0,0,0,0,0,0,[[]],[[]],0,[[[153,[123]]],154],0,[11],[11],0,[11],[[]],[[],[[8,[56]]]],[[[153,[123]]],[[155,[123]]]],[[[153,[123]]],[[21,[[132,[123,[131,[123]]]]]]]],[[[153,[123]]],[[156,[123]]]],[[[153,[123]],154],[[131,[123]]]],[[],11],[[]],[[[153,[123]]],123],0,[[],14],[[],14],[[],27],[[[153,[123]]],[[132,[123,[131,[123]]]]]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],0,0,[[]],[[]],[[]],[[[157,[43]],56],21],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[11,[[159,[158]]]],0,0,0,0,0,0,[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[160,160],[[]],[11],[11],[11],[[160,22],23],[[160,22],23],[[]],[[],11],[[]],[[138,[161,[158]],[159,[158]],[63,[[72,[[71,[70]],56]]]],[0,[162,163]]],[[14,[[164,[158]],160]]]],[165],[[]],[[],20],[[],14],[[],14],[[],27],[[]],[[138,[63,[[72,[[71,[70]],56]]]],[164,[158]]],17],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,166],[[],21],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[[]],[[]],[[[43,[7]]],9],[[166,[43,[7]]],9],[[167,[43,[7]]],9],[10],[[166,10]],[[167,10]],0,0,[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],0,0,0,[166,168],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[],27],[[],27],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[169,169],[[[59,[53,[0,[53,170]]]]],[[59,[53,[0,[53,170]]]]]],[[]],[[]],[11],[11],[11],[11],[11],[11],[[169,22],23],[[[59,[[0,[171,42]],170]],22],23],[[[59,[61,[0,[61,170]]]],22],23],[[]],[[]],[[],11],[[],11],[[]],[[]],[[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]],[[177,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[[169,170,[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],[63,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]]],[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]],[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170,[8,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]]],[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[[170,[8,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]]],[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[[]],[[]],[[],20],[[],14],[[],14],[[],14],[[],14],[[],27],[[],27],[[]],[[]],[[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170,[8,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]]],[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[[170,[8,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]]]]],[[59,[[0,[53,[172,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[173,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],[174,[[0,[53,[172,[[0,[53,172,173,174,61,175,176]]]],[173,[[0,[53,172,173,174,61,175,176]]]],[174,[[0,[53,172,173,174,61,175,176]]]],61,175,176]]]],61,175,176]]]],61,175,176]],170]]]],[32,178],[11,20]],"c":[],"p":[[4,"StepFrequency"],[3,"HostProgram"],[3,"VmConfiguration"],[3,"Start"],[3,"Symbol"],[3,"Meta"],[15,"u8"],[3,"Vec"],[3,"Preimage"],[3,"Hint"],[15,"usize"],[8,"Deserializer"],[3,"Page"],[4,"Result"],[3,"State"],[3,"ParsePreimageKeyError"],[15,"bool"],[3,"PreimageKey"],[15,"u32"],[3,"String"],[4,"Option"],[3,"Formatter"],[6,"Result"],[3,"MipsVmConfigurationArgs"],[15,"str"],[8,"Serializer"],[3,"TypeId"],[3,"Command"],[4,"Commands"],[3,"ArgMatches"],[6,"Error"],[3,"RunArgs"],[3,"GenStateJsonArgs"],[4,"Cannon"],[3,"Id"],[8,"EndianParse"],[3,"ElfBytes"],[4,"Architecture"],[3,"Path"],[4,"Error"],[4,"Constraint"],[8,"Field"],[15,"array"],[4,"Steps"],[4,"ColumnAlias"],[3,"StepsIter"],[4,"Sponges"],[3,"SpongesIter"],[4,"Absorbs"],[3,"AbsorbsIter"],[4,"Ordering"],[8,"Hasher"],[8,"Clone"],[6,"KeccakWitness"],[3,"IterBridge"],[4,"Column"],[3,"Env"],[4,"LookupTableIDs"],[3,"RAMLookup"],[15,"u64"],[8,"Debug"],[3,"KeccakEnv"],[15,"slice"],[8,"Interpreter"],[3,"Env"],[4,"ColumnAlias"],[6,"MIPSWitness"],[4,"Instruction"],[3,"Env"],[4,"BerkeleyChallengeTerm"],[6,"ConstantExpr"],[6,"Expr"],[3,"InstructionIter"],[4,"RTypeInstruction"],[3,"RTypeInstructionIter"],[4,"JTypeInstruction"],[3,"JTypeInstructionIter"],[4,"ITypeInstruction"],[3,"ITypeInstructionIter"],[8,"InterpreterEnv"],[3,"InstructionParts"],[3,"Registers"],[8,"Default"],[8,"Deserialize"],[8,"Iterator"],[8,"Serialize"],[8,"PreImageOracleT"],[3,"Env"],[3,"SyscallEnv"],[4,"Column"],[3,"Env"],[4,"Instruction"],[6,"E"],[3,"InstructionIter"],[4,"RInstruction"],[3,"RInstructionIter"],[4,"IInstruction"],[3,"IInstructionIter"],[4,"SInstruction"],[3,"SInstructionIter"],[4,"SBInstruction"],[3,"SBInstructionIter"],[4,"UInstruction"],[3,"UInstructionIter"],[4,"UJInstruction"],[3,"UJInstructionIter"],[4,"SyscallInstruction"],[3,"SyscallInstructionIter"],[4,"MInstruction"],[3,"MInstructionIter"],[8,"InterpreterEnv"],[3,"Registers"],[4,"RegisterAlias"],[3,"Env"],[8,"FoldingConfig"],[3,"DecomposedFoldingEnvironment"],[4,"Challenge"],[4,"Side"],[3,"FoldingEnvironment"],[3,"ChallengeIter"],[8,"CommitmentCurve"],[3,"FoldingInstance"],[8,"FftField"],[3,"FoldingWitness"],[4,"CurrOrNext"],[8,"PartialEq"],[4,"Alphas"],[8,"Hash"],[6,"Fp"],[3,"RelaxedInstance"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"RelaxedWitness"],[3,"KeccakConfig"],[6,"KeccakFoldingWitness"],[3,"DecomposableMIPSFoldingConfig"],[6,"MIPSFoldingWitness"],[3,"EvaluationDomains"],[3,"ProofInputs"],[3,"Witness"],[3,"Trace"],[3,"DecomposedTrace"],[4,"FoldingCompatibleExpr"],[3,"BTreeMap"],[6,"Pairing"],[3,"PairingSRS"],[8,"FqSponge"],[6,"KeccakTrace"],[6,"DecomposedKeccakTrace"],[6,"MIPSTrace"],[6,"DecomposedMIPSTrace"],[8,"PrimeField"],[3,"ColumnEnvironment"],[4,"Domain"],[3,"BerkeleyChallenges"],[3,"Constants"],[3,"WitnessColumns"],[8,"KimchiCurve"],[3,"ProofInputs"],[4,"ProverError"],[3,"SRS"],[8,"RngCore"],[8,"CryptoRng"],[3,"Proof"],[3,"Demand"],[3,"PreImageOracle"],[3,"NullPreImageOracle"],[3,"Child"],[4,"LookupMode"],[8,"LookupTableID"],[8,"Display"],[8,"Add"],[8,"Sub"],[8,"Mul"],[8,"One"],[8,"Zero"],[3,"Logup"],[3,"ExitCode"],[8,"BoolHelpers"],[8,"LogupHelpers"],[8,"ArithHelpers"],[8,"KeccakInterpreter"],[8,"Tracer"],[8,"Foldable"],[8,"DecomposableTracer"],[3,"ReadWrite"],[3,"RW"]]},\ "pickles_o1vm":{"doc":"","t":"RFFF","n":["DOMAIN_SIZE","cannon_main","gen_state_json","main"],"q":[[0,"pickles_o1vm"]],"d":["","","",""],"i":[0,0,0,0],"f":[0,[1],[2,[[4,[3]]]],[[],5]],"c":[],"p":[[3,"RunArgs"],[3,"GenStateJsonArgs"],[3,"String"],[4,"Result"],[3,"ExitCode"]]},\ "poly_commitment":{"doc":"","t":"ICIQKKKKKKKAKAKKAAALKKKAKAKDDIIDQQDFLFFMLLLLLLLLALLMLLLLLFLLFMMMLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLKMMLLLLFMFFLKLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLMLLLLLMLNELLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLDDDLLLLLLLAMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLFLLLLLLLLMLLMLLLLLLMMLLLLLLLLMLLLLLLLLLLLLLLLLLMMDLLMLLLLLLLLLMLLMLLLLLMMDDMLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLMLLLLFNENLLFLLLLLLLLLL","n":["OpenProof","PolyComm","SRS","SRS","blinding_commitment","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","commitment","create","error","get_lagrange_basis","get_lagrange_basis_from_domain_size","hash_map_cache","ipa","kzg","mask","mask_custom","max_poly_size","open","pbt_srs","size","utils","verify","BatchEvaluationProof","BlindedCommitment","CommitmentCurve","EndoCurve","Evaluation","Map","Params","PolyComm","absorb_commitment","add","b_poly","b_poly_coefficients","blinders","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","caml","chunk_blinding","chunk_commitment","chunks","clone","clone","clone_into","clone_into","combine","combine_commitments","combine_one","combine_one_endo","combined_inner_product","combined_inner_product","commitment","commitment","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize_as","drop","drop","drop","drop","eq","equivalent","equivalent","evalscale","evaluation_points","evaluations","evaluations","fmt","fmt","from","from","from","from","from","from","get_first_chunk","init","init","init","init","into","into","into","into","into_iter","is_empty","len","map","multi_scalar_mul","new","of_coordinates","opening","polyscale","scale","serialize","serialize","serialize_as","shift_scalar","sponge","squeeze_challenge","squeeze_prechallenge","sub","to_coordinates","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","zip","CamlPolyComm","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","from","from","from_value","init","into","into_value","ocaml_binding","ocaml_desc","shifted","to_owned","try_from","try_into","type_id","unique_id","unshifted","vzip","BlindersDontMatch","CommitmentError","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","provide","to_owned","to_string","try_from","try_into","type_id","vzip","HashMapCache","borrow","borrow_mut","clone","clone_into","contains_key","default","deref","deref_mut","drop","fmt","from","get_or_generate","init","into","new","new_from_hashmap","to_owned","try_from","try_into","type_id","vzip","Challenges","OpeningProof","SRS","blinding_commitment","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","caml","chal","chal_inv","challenges","clone","clone","clone_into","clone_into","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","create","create_parallel","create_trusted_setup","default","default","delta","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","endos","eq","eq","fmt","fmt","from","from","from","from","g","get_lagrange_basis","get_lagrange_basis_from_domain_size","h","init","init","init","into","into","into","lagrange_bases","lr","mask","mask_custom","max_poly_size","open","open","prechallenges","serialize","serialize","sg","size","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","verify","vzip","vzip","vzip","z1","z2","CamlOpeningProof","borrow","borrow_mut","delta","deref","deref_mut","drop","from","from","from_value","init","into","into_value","lr","ocaml_binding","ocaml_desc","sg","try_from","try_into","type_id","unique_id","vzip","z1","z2","KZGProof","PairingSRS","blinding","blinding_commitment","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","combine_evaluations","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","create","create","create_trusted_setup","default","default","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","eq","fmt","fmt","from","from","full_srs","get_lagrange_basis","get_lagrange_basis_from_domain_size","init","init","into","into","mask","mask_custom","max_poly_size","open","quotient","serialize","serialize","size","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verifier_srs","verify","verify","vzip","vzip","test_regression_commit_non_hiding_expected_number_of_chunks","DensePolynomial","DensePolynomialOrEvaluations","Evaluations","borrow","borrow_mut","combine_polys","deref","deref_mut","drop","from","init","into","try_from","try_into","type_id","vzip"],"q":[[0,"poly_commitment"],[27,"poly_commitment::commitment"],[141,"poly_commitment::commitment::caml"],[167,"poly_commitment::error"],[188,"poly_commitment::hash_map_cache"],[210,"poly_commitment::ipa"],[300,"poly_commitment::ipa::caml"],[324,"poly_commitment::kzg"],[389,"poly_commitment::pbt_srs"],[390,"poly_commitment::utils"]],"d":["","","","","Get the group element used for blinding commitments","Commits a polynomial, potentially splitting the result in …","Commit to a polynomial, with custom blinding factors. It …","Commit to evaluations with blinding factors, generated …","Commit to evaluations with custom blinding factors. It is …","Commit to evaluations, without blinding factors. It is …","This function commits a polynomial using the SRS’ basis …","This module implements Dlog-based polynomial commitment …","Create an SRS of size depth.","","Compute commitments to the lagrange basis corresponding to …","Same as get_lagrange_basis but only using the domain size.","","This module contains the implementation of the polynomial …","This module implements the KZG protocol described in the …","Turns a non-hiding polynomial commitment into a hidding …","Same as SRS::mask except that you can pass the blinders …","The maximum polynomial degree that can be committed to","Create an opening proof for a batch of polynomials. The …","This module defines Property-based tests for the SRS trait.","","","Verify the opening proof","Contains the batch evaluation","A commitment to a polynomial with some blinding factors.","A useful trait extending AffineRepr for commitments. …","A trait extending CommitmentCurve for endomorphisms. …","Contains the evaluation of a polynomial commitment at a …","","","Represent a polynomial commitment when the type is …","","","Returns (1 + chal[-1] x)(1 + chal[-2] x^2)(1 + chal[-3] …","","","","","","","","","","","","Multiplies each blinding chunk of f with powers of zeta^n","Multiplies each commitment chunk of f with powers of zeta^n","","","","","","","This function populates the parameters scalars and points. …","Combine where x1 = one","Combine where x1 = one","Computes the linearization of the evaluations of a …","","The commitment of the polynomial being evaluated. Note …","","","","","","","","","","","","","","","","","","","","A challenge to aggregate multiple evaluation points.","The actual evaluation points. Each field evaluations of …","Contains an evaluation table. For instance, for vanilla …","A list of evaluations, each supposed to correspond to a …","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Return only the first chunk Getting this single value is …","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Returns true if the commitment is empty.","Returns the number of chunks.","","Performs a multi-scalar multiplication between scalars elm …","","","The opening proof.","A challenge to combine polynomials. Powers of this point …","","","","","Inside the circuit, we have a specialized scalar …","Sponge used to coin and absorb values and simulate …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","Commitment round challenges (endo mapped) and their …","","","","","","","","","","","","","Same as prechallenges, but maps scalar challenges using the","","","","","","","","","","","","This function creates SRS instance for circuits with …","This function creates a trusted-setup SRS instance for …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","The vector of group elements for committing to polynomials …","","","A group element used for blinding commitments","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Commitments to Lagrange bases, per domain size","Vector of rounds of L & R commitments","Turns a non-hiding polynomial commitment into a hidding …","","The maximum polynomial degree that can be committed to","","","Computes a log-sized vector of scalar challenges for …","","","A final folded commitment base","","","","","","","","","","","","","This function verifies a batch of polynomial commitment …","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","vector of rounds of L & R commitments","","","","","","","","","","","","Define a structured reference string (i.e. SRS) for the …","A blinding factor used to hide the polynomial, if necessary","","","","","","","","","","Combine the (chunked) evaluations of multiple polynomials. …","","","","","","","Create a KZG proof. Parameters:","","Create a trusted setup for the KZG protocol. The setup is …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","The full SRS is the one used by the prover. Can be seen as …","","","","","Calls U::from(self).","Calls U::from(self).","","","","Parameters:","","","","","","","","","","","","","SRS to be used by the verifier. Can be seen as the “…","Verify a proof. Note that it only works for two elements …","","","","","Polynomial represented by its coefficients","Represent a polynomial either with its coefficients or its …","Polynomial represented by its evaluations over a domain D","","","Combine the polynomials using a scalar (polyscale), …","","","","Returns the argument unchanged.","","Calls U::from(self).","","","",""],"i":[0,0,0,64,65,65,65,65,65,65,65,0,65,0,65,65,0,0,0,65,65,65,64,0,65,0,64,0,0,0,0,0,20,20,0,0,6,0,0,5,21,15,6,5,21,15,6,5,0,6,6,6,6,5,6,5,60,0,60,60,0,15,21,5,21,15,6,5,21,15,6,5,6,5,6,21,15,6,5,6,6,6,15,15,21,15,6,5,21,15,6,6,6,5,6,21,15,6,5,21,15,6,5,6,6,6,6,6,6,20,15,15,6,6,5,6,0,15,0,0,6,20,6,5,21,15,6,5,21,15,6,5,21,15,6,5,21,15,6,5,6,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,0,0,0,55,57,55,56,57,55,56,0,57,57,56,55,56,55,56,55,55,55,55,55,55,55,55,55,55,56,56,57,55,56,57,55,56,55,56,57,55,56,0,55,56,55,56,57,55,56,56,55,55,55,55,57,55,56,57,55,56,55,56,55,55,55,55,56,56,55,56,56,55,55,56,57,55,56,57,55,56,57,55,56,55,56,57,55,56,56,56,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,0,0,63,62,63,62,63,62,63,62,63,62,0,62,62,62,62,62,62,63,62,62,63,62,63,62,63,62,63,62,63,62,62,63,62,63,62,62,62,62,63,62,63,62,62,62,62,63,63,63,62,62,63,62,63,62,63,62,63,62,62,63,63,63,62,0,66,0,66,66,66,0,66,66,66,66,66,66,66,66,66,66],"f":[0,0,0,0,[[]],[[1,2,[0,[3,4]]],5],[[1,2,6],[[8,[5,7]]]],[[9,[10,[9]],[0,[3,4]]],5],[[9,[10,[9]],6],[[8,[5,7]]]],[[9,[10,[9]]],6],[[1,2],6],0,[2],0,[9,[[11,[6]]]],[2,[[11,[6]]]],0,0,0,[[6,[0,[3,4]]],5],[[6,6],[[8,[5,7]]]],[[],2],[[12,12,[0,[13,14]],[0,[3,4]]]],0,[[],2],0,[[[12,[[15,[14]]]],[0,[3,4]]],16],0,0,0,0,0,0,0,0,[[[14,[17,13,18]],[6,[13]]]],[[[6,[19]],[6,[19]]],[[6,[19]]]],[[[12,[17]],17],17],[[[12,[17]]],[[11,[17]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[6,[17]],17],17],[[[6,[20]]],[[6,[20]]]],0,[[[6,[13]]],[[6,[13]]]],[[[5,[[0,[20,13]]]]],[[5,[[0,[20,13]]]]]],[[]],[[]],[[12,12],11],[[[12,[[21,[20]]]],11,[11,[20]]]],[[12,12],11],[[12,12,22],11],[[18,18,[12,[[11,[[11,[18]]]]]]],18],0,0,0,[2],[2],[2],[2],[2],[2],[2],[2],[23,[[8,[[6,[[0,[24,25]]]]]]]],[23,[[8,[[5,[[0,[20,26]]]]]]]],[23,[[8,[6]]]],[2],[2],[2],[2],[[[6,[27]],[6,[27]]],16],[[],16],[[],16],0,0,0,0,[[[6,[28]],29],30],[[[5,[[0,[20,28]]]],29],30],[[]],[[]],[31,[[6,[[0,[19,32]]]]]],[[]],[31,[[6,[[0,[19,32,32]]]]]],[[]],[[[6,[[0,[33,13,24,25]]]]],[[0,[33,13,24,25]]]],[[],2],[[],2],[[],2],[[],2],[[]],[[]],[[]],[[]],[6],[[[6,[[0,[33,13,24,25]]]]],16],[[[6,[[0,[33,13,24,25]]]]],2],[[[6,[[0,[33,13,24,25]]]],34],[[6,[[0,[24,25]]]]]],[[[12,[[6,[19]]]],12],[[6,[19]]]],[11,6],[[]],0,0,[[[6,[19]]],[[6,[19]]]],[[[6,[[0,[24,25]]]],35],8],[[[5,[[0,[20,36]]]],35],8],[[6,35],8],[[]],0,[[18,[14,[17,18]]],18],[[[14,[17,17]]],[[22,[17]]]],[[[6,[[0,[19,37]]]],[6,[[0,[19,37]]]]],[[6,[[0,[19,37]]]]]],[[],38],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],39],[[],39],[[],39],[[],39],[[]],[[]],[[]],[[]],[[[6,[[0,[33,13,24,25]]]],[6,[[0,[33,24,25]]]]],[[38,[6]]]],0,[[]],[[]],[[[31,[13]]],[[31,[13]]]],[[]],[2],[2],[2],[[[31,[28]],29],30],[[[6,[19]]],[[31,[[32,[19]]]]]],[[[6,[19]]],[[31,[[0,[[32,[19]],[32,[19]]]]]]]],[[]],[40,[[31,[41]]]],[[],2],[[]],[[[31,[42]],43],40],[[44,[38,[45]],16],46],[[44,[12,[45]]],46],0,[[]],[[],8],[[],8],[[],39],[[],47],0,[[]],0,0,[[]],[[]],[7,7],[[]],[2],[2],[2],[[7,29],30],[[7,29],30],[[]],[[],2],[[]],[48],[[]],[[],46],[[],8],[[],8],[[],39],[[]],0,[[]],[[]],[[[50,[[0,[13,49]],13]]],[[50,[[0,[13,49]],13]]]],[[]],[[[50,[[0,[49,51]]]],[0,[49,51]]],16],[[],[[50,[[0,[52,49]],52]]]],[2],[2],[2],[[[50,[[0,[28,49]],28]],29],30],[[]],[[[50,[[0,[49,51]]]],[0,[49,51]],53]],[[],2],[[]],[[],[[50,[[0,[49,51]]]]]],[[[54,[[0,[49,51]]]]],[[50,[[0,[49,51]]]]]],[[]],[[],8],[[],8],[[],39],[[]],0,0,0,[[[55,[20]]],20],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[[56,[19]],[14,[19]]],57],[[[55,[13]]],[[55,[13]]]],[[[56,[[0,[13,19]]]]],[[56,[[0,[13,19]]]]]],[[]],[[]],[[[55,[20]],1,2,[0,[3,4]]],[[5,[20]]]],[[[55,[20]],1,2,6],[[8,[[5,[20]],7]]]],[[[55,[20]],9,[10,[9]],[0,[3,4]]],[[5,[20]]]],[[[55,[20]],9,[10,[9]],6],[[8,[[5,[20]],7]]]],[[[55,[20]],9,[10,[9]]],[[6,[20]]]],[[[55,[20]],1,2],[[6,[20]]]],[2,[[55,[20]]]],[2,[[55,[20]]]],[2,[[55,[20]]]],[[],[[55,[52]]]],[[],[[56,[[0,[52,19]]]]]],0,[2],[2],[2],[2],[2],[2],[23,[[8,[[55,[[0,[24,25]]]]]]]],[23,[[8,[[56,[[0,[24,25,19]]]]]]]],[2],[2],[2],[[]],[[[55,[27]],[55,[27]]],16],[[[56,[[0,[27,19]]]],[56,[[0,[27,19]]]]],16],[[[55,[28]],29],30],[[[56,[[0,[28,19]]]],29],30],[[]],[[]],[[]],[[[59,[[58,[19]],58]]],[[56,[19]]]],0,[[[55,[20]],9],[[11,[[6,[20]]]]]],[[[55,[20]],2],[[11,[[6,[20]]]]]],0,[[],2],[[],2],[[],2],[[]],[[]],[[]],0,0,[[[55,[20]],[6,[20]],[0,[3,4]]],[[5,[20]]]],[[[55,[20]],[6,[20]],6],[[8,[[5,[20]],7]]]],[[[55,[20]]],2],[[[55,[60,20]],12,12,[0,[13,[14,[60,20]]]],[0,[3,4]]],[[56,[60,20]]]],[[12,12,[0,[13,[14,[[0,[19,20,60]]]]]],[0,[3,4]]],[[56,[[0,[19,20,60]]]]]],[[[56,[19]],[14,[19]]],[[11,[22]]]],[[[55,[[0,[24,25]]]],35],8],[[[56,[[0,[24,25,19]]]],35],8],0,[[[55,[20]]],2],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],8],[[],8],[[],39],[[],39],[[],39],[[[55,[20]],[12,[[15,[20,[14,[20]],[56,[20]]]]]],[0,[3,4]]],16],[[[12,[[15,[[0,[19,20,60]],[14,[[0,[19,20,60]]]],[56,[[0,[19,20,60]]]]]]]],[0,[3,4]]],16],[[]],[[]],[[]],0,0,0,[[]],[[]],0,[2],[2],[2],[[[56,[19]]],[[59,[[32,[19]],32]]]],[[]],[40,[[59,[41,41]]]],[[],2],[[]],[[[59,[42,42]],43],40],0,[[44,[38,[45]],16],46],[[44,[12,[45]]],46],0,[[],8],[[],8],[[],39],[[],47],[[]],0,0,0,0,0,[[[62,[61]]],20],[[]],[[]],[[]],[[]],[[[63,[61]]],[[63,[61]]]],[[[62,[61]]],[[62,[61]]]],[[]],[[]],[[[11,[[21,[20]]]]],11],[[[62,[61]],[1,[18]],2,[0,[3,4]]],[[5,[20]]]],[[[62,[61]],1,2,6],[[8,[[5,[20]],7]]]],[[[62,[61]],9,[10,[9]],[0,[3,4]]],[[5,[20]]]],[[[62,[61]],9,[10,[9]],6],[[8,[[5,[20]],7]]]],[[[62,[61]],9,[10,[9]]],[[6,[20]]]],[[[62,[61]],1,2],[[6,[20]]]],[[[62,[61]],12,[12,[18]],18],[[38,[[63,[61]]]]]],[2,[[62,[61]]]],[[18,2],[[62,[61]]]],[[],[[63,[61]]]],[[],[[62,[61]]]],[2],[2],[2],[2],[23,[[8,[[63,[61]]]]]],[23,[[8,[[62,[61]]]]]],[2],[2],[[[62,[[0,[27,61]]]],[62,[[0,[27,61]]]]],16],[[[63,[[0,[28,61]]]],29],30],[[[62,[[0,[28,61]]]],29],30],[[]],[[]],0,[[[62,[61]],9],[[11,[[6,[20]]]]]],[[[62,[61]],2],[[11,[[6,[20]]]]]],[[],2],[[],2],[[]],[[]],[[[62,[61]],[6,[20]],[0,[3,4]]],[[5,[20]]]],[[[62,[61]],[6,[20]],6],[[8,[[5,[20]],7]]]],[[[62,[61]]],2],[[12,12,[0,[13,[14,[20,18]]]],[0,[3,4]]],[[63,[61]]]],0,[[[63,[61]],35],8],[[[62,[61]],35],8],[[[62,[61]]],2],[[]],[[]],[[],8],[[],8],[[],8],[[],8],[[],39],[[],39],0,[[[63,[61]],[62,[61]],[11,[[21,[20]]]],18,[12,[18]]],16],[[[12,[[15,[20,[14,[20,18]],[63,[61]]]]]],[0,[3,4]]],16],[[]],[[]],[[]],0,0,0,[[]],[[]],[[12,2]],[2],[2],[2],[[]],[[],2],[[]],[[],8],[[],8],[[],39],[[]]],"c":[],"p":[[3,"DensePolynomial"],[15,"usize"],[8,"RngCore"],[8,"CryptoRng"],[3,"BlindedCommitment"],[3,"PolyComm"],[4,"CommitmentError"],[4,"Result"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"Vec"],[15,"slice"],[8,"Clone"],[8,"FqSponge"],[3,"BatchEvaluationProof"],[15,"bool"],[8,"Field"],[8,"PrimeField"],[8,"AffineRepr"],[8,"CommitmentCurve"],[3,"Evaluation"],[3,"ScalarChallenge"],[8,"Deserializer"],[8,"CanonicalDeserialize"],[8,"CanonicalSerialize"],[8,"Deserialize"],[8,"PartialEq"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[3,"CamlPolyComm"],[8,"From"],[8,"Copy"],[8,"FnMut"],[8,"Serializer"],[8,"Serialize"],[8,"Sub"],[4,"Option"],[3,"TypeId"],[4,"Value"],[8,"FromValue"],[8,"IntoValue"],[3,"OCamlRuntime"],[3,"Env"],[15,"str"],[3,"String"],[15,"u128"],[3,"Demand"],[8,"Hash"],[3,"HashMapCache"],[8,"Eq"],[8,"Default"],[8,"FnOnce"],[3,"HashMap"],[3,"SRS"],[3,"OpeningProof"],[3,"Challenges"],[8,"Into"],[3,"CamlOpeningProof"],[8,"EndoCurve"],[8,"Pairing"],[3,"PairingSRS"],[3,"KZGProof"],[8,"OpenProof"],[8,"SRS"],[4,"DensePolynomialOrEvaluations"]]},\ "turshi":{"doc":"This module contains the code that executes a compiled …","t":"CCCCCCAAAAARRRRRRRRRRRRRRRRRRRRRRRRRIKKKKDLLLLLLLLLLLLLLLLLLLLLLDDDDDILLLKLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLMLLLLLLLLLLLLMMLLLLMLLLLLLKLLLLLLLLLMLLLLMLLLLLLLLLLLLLLLMLLLLLDIIIKLFLLLLLLLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLKLLLLLKLKLKLKLKLKLKLKLLLLLLL","n":["CairoInstruction","CairoMemory","CairoProgram","FlagBits","Offsets","Pointers","flags","helper","memory","runner","word","AP_ADD","AP_ONE","AP_Z2","DST_AP","NUM_FLAGS","OP0_AP","OP1_AP","OP1_DBL","OP1_FP","OP1_VAL","OPC_AEQ","OPC_CALL","OPC_JMP_INC","OPC_RET","PC_ABS","PC_JNZ","PC_REL","PC_SIZ","POS_DST","POS_FLAGS","POS_OP0","POS_OP1","RES_ADD","RES_MUL","RES_ONE","CairoFieldHelpers","lsb","to_hex_be","to_u64","u16_chunk","CairoMemory","borrow","borrow_mut","deref","deref_mut","drop","fmt","from","get_codelen","index","index_mut","init","into","is_empty","len","new","read","to_string","try_from","try_into","type_id","vzip","write","CairoContext","CairoInstruction","CairoProgram","CairoState","CairoStep","Pointers","adr_dst","adr_op0","adr_op1","ap","ap","ap","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","curr","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","dst","execute","f15","f_ap_add","f_ap_one","f_dst_fp","f_op0_fp","f_op1_ap","f_op1_fp","f_op1_val","f_opc_aeq","f_opc_call","f_opc_ret","f_pc_abs","f_pc_jnz","f_pc_rel","f_res_add","f_res_mul","fin","fin","fp","fp","fp","from","from","from","from","from","ini","ini","init","init","init","init","init","instr","instr","into","into","into","into","into","mem","mem","new","new","new","new","next","next_pc","off_dst","off_op0","off_op1","op0","op1","pc","pc","pc","res","set_dst","set_op0","set_op1","set_res","size","steps","steps","to_owned","to_owned","to_owned","trace","trace","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vars","vzip","vzip","vzip","vzip","vzip","CairoWord","FlagBits","FlagSets","Offsets","ap_up","ap_up","bias","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","dst_reg","dst_reg","f15","f15","f_ap_add","f_ap_add","f_ap_one","f_ap_one","f_dst_fp","f_dst_fp","f_op0_fp","f_op0_fp","f_op1_ap","f_op1_ap","f_op1_fp","f_op1_fp","f_op1_val","f_op1_val","f_opc_aeq","f_opc_aeq","f_opc_call","f_opc_call","f_opc_ret","f_opc_ret","f_pc_abs","f_pc_abs","f_pc_jnz","f_pc_jnz","f_pc_rel","f_pc_rel","f_res_add","f_res_add","f_res_mul","f_res_mul","from","init","into","new","off_dst","off_dst","off_op0","off_op0","off_op1","off_op1","op0_reg","op0_reg","op1_src","op1_src","opcode","opcode","pc_up","pc_up","res_log","res_log","to_owned","try_from","try_into","type_id","vzip","word"],"q":[[0,"turshi"],[11,"turshi::flags"],[36,"turshi::helper"],[41,"turshi::memory"],[64,"turshi::runner"],[201,"turshi::word"]],"d":["","","","","","","Definition of some constants for easier readability of the …","This module includes some field helpers that are useful …","This module represents the Cairo memory, containing the …","This module represents a run of a Cairo program as a …","The Cairo language works natively for field elements in …","Update ap by adding a number of positions","Update ap by self increment","Update by 2 in call instructions or zero behaviour for …","Destination refers to ap register","Number of Cairo flags","First operand refers to ap register","Second operand refers to ap register","Second operand is double indexing","Second operand refers to fp register","Second operand is immediate value","Operation code is an assert-equal","Operation code is a call","Operation code is a jump or an increment","Operation code is a return","Update pc by an absolute jump","Update pc by a conditional relative jump","Update pc by a relative jump","Default increase of pc by adding instruction size","Position of destination offset of 16 bits within …","Bit position of the beginning of the flags in a Cairo …","Position of first operand offset of 16 bits within …","Position of second operand offset of 16 bits within …","Result is an addition","Result is a multiplication","Result is a single operand","Field element helpers for Cairo","Return field element as byte, if it fits. Otherwise …","Return a field element in hexadecimal in big endian","Return first 64 bits of the field element","Return pos-th 16-bit chunk as another field element","This data structure stores the memory of the program","","","","","","","Returns the argument unchanged.","Get size of the public memory","","","","Calls U::from(self).","Returns whether the memory is empty (either length 0, or …","Get size of the full memory including dummy 0th entry","Create a new memory structure from a vector of field …","Read element in memory address","","","","","","Write u64 element in memory address","A structure to store auxiliary variables throughout …","This structure stores all the needed information relative …","This struct stores the needed information to run a program","A structure to store program counter, allocation pointer …","A data structure to store a current step of Cairo …","This trait contains functions to obtain the Cairo pointers …","Returns the destination address of the instruction","Returns the first operand address of the instruction","Returns the second operand address of the instruction","Returns the allocation pointer","","","","","","","","","","","","","","","","","","","current pointers","This function creates an instance of a default CairoContext…","","","","","","","","","","","","","","","","Returns the destination of the instruction","Executes a Cairo step from the current registers","","","","","","","","","","","","","","","","","Outputs the final value of the pointers after the …","final computation pointers","Returns the frame pointer","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Outputs the initial value of the pointers after the …","initial computation registers","","","","","","This function returns the current word instruction being …","Returns the field element corresponding to the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","state of the computation","full execution memory","Creates a new Cairo execution step from a step index, a …","Creates a Cairo execution from the public information …","Creates a new triple of pointers","Creates a CairoInstruction","(if any) next pointers","This function computes the next program counter Panics if …","","","","Returns the first operand of the instruction","Returns the second operand of the instruction","Returns the program counter","","","Returns the result of the instruction","This function computes the destination address","This function computes the first operand address","This function computes the second operand address and …","This function computes the value of the result of the …","Returns the size of the instruction","Outputs the total number of steps of the execution carried …","total number of steps","","","","Returns a reference to the set of instructions","execution trace as a vector of CairoInstruction","","","","","","","","","","","","","","","","state auxiliary variables","","","","","","A Cairo word for the runner. Some words are instructions …","This trait contains methods that decompose a field element …","This trait contains methods that decompose a field element …","This trait contains methods to obtain the offset …","Returns flagset for allocation pointer update","","Returns an offset of 16 bits to its biased representation …","","","","","","","","Returns flagset for destination register","","Returns bit-flag for 16th position","","Returns bit-flag for allocation counter update being a …","","Returns bit-flag for allocation counter update being a …","","Returns bit-flag for destination register as F","","Returns bit-flag for first operand register as F","","Returns bit-flag for allocation pointer for second …","","Returns bit-flag for frame pointer for second register as F","","Returns bit-flag for immediate value for second register …","","Returns bit-flag for operation being an assert-equal as F","","Returns bit-flag for operation being a call as F","","Returns bit-flag for operation being a return as F","","Returns bit-flag for program counter update being absolute …","","Returns bit-flag for program counter update being …","","Returns bit-flag for program counter update being relative …","","Returns bit-flag for addition operation in right side as F","","Returns bit-flag for multiplication operation in right …","","Returns the argument unchanged.","","Calls U::from(self).","Creates a CairoWord from a field element","Returns the destination offset in biased representation","","Returns the first operand offset in biased representation","","Returns the second operand offset in biased representation","","Returns flagset for first operand register","","Returns flagset for second operand register","","Returns flagset for operation code","","Returns flagset for program counter update","","Returns flagset for result logics","","","","","","","Returns the content of the word as a field element"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,21,21,21,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,14,14,14,22,15,14,18,19,15,17,14,18,19,15,17,14,15,17,14,15,17,14,18,17,18,19,15,17,14,18,19,15,17,14,18,19,15,17,14,14,18,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,19,19,22,15,14,18,19,15,17,14,19,19,18,19,15,17,14,18,14,18,19,15,17,14,18,19,18,19,15,14,18,18,14,14,14,14,14,22,15,14,14,18,18,18,18,14,19,19,15,17,14,19,19,18,19,15,17,14,18,19,15,17,14,18,19,15,17,14,18,18,19,15,17,14,0,0,0,0,23,20,0,20,20,20,20,20,20,20,23,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,24,20,20,20,20,20,25,20,25,20,25,20,23,20,23,20,23,20,23,20,23,20,20,20,20,20,20,20],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],1],[[],2],[[],3],[4],0,[[]],[[]],[4],[4],[4],[[[6,[5]],7],8],[[]],[[[6,[5]]],4],[[[6,[5]],5]],[[[6,[5]],5]],[[],4],[[]],[[[6,[5]]],9],[[[6,[5]]],3],[[[10,[5]]],[[6,[5]]]],[[[6,[5]],5],[[11,[5]]]],[[],2],[[],12],[[],12],[[],13],[[]],[[[6,[5]],5,5]],0,0,0,0,0,0,[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[]],[[[15,[5]]],5],[[[14,[5]]],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[15,[16]]],[[15,[16]]]],[[[17,[16]]],[[17,[16]]]],[[[14,[16]]],[[14,[16]]]],[[]],[[]],[[]],0,[[],[[17,[5]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[[14,[5]]],5],[[[18,[5]]],[[14,[5]]]],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[19,[5]]],[[15,[5]]]],0,[[]],[[[15,[5]]],5],[[[14,[5]]],5],[[]],[[]],[[]],[[]],[[]],[[[19,[5]]],[[15,[5]]]],0,[[],4],[[],4],[[],4],[[],4],[[],4],[[[18,[5]]],[[20,[5]]]],[[[14,[5]]],5],[[]],[[]],[[]],[[]],[[]],0,0,[[[6,[5]],[15,[5]]],[[18,[5]]]],[[[6,[5]],3],[[19,[5]]]],[[5,5,5],[[15,[5]]]],[[[20,[5]],[15,[5]],[17,[5]]],[[14,[5]]]],0,[[[18,[5]]],[[11,[5]]]],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[]],[[[15,[5]]],5],[[[14,[5]]],5],[[[14,[5]]],5],[[[18,[5]]]],[[[18,[5]]]],[[[18,[5]]]],[[[18,[5]]]],[[[14,[5]]],5],[[[19,[5]]],5],0,[[]],[[]],[[]],[[[19,[5]]],[[10,[[14,[5]]]]]],0,[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],13],[[],13],[[],13],[[],13],[[],13],0,[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],1],[[[20,[5]]],1],[5,5],[[]],[[]],[[[20,[16]]],[[20,[16]]]],[[]],[4],[4],[4],[[],1],[[[20,[5]]],1],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[],4],[[]],[5,[[20,[5]]]],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[]],[[[20,[5]]],5],[[],1],[[[20,[5]]],1],[[],1],[[[20,[5]]],1],[[],1],[[[20,[5]]],1],[[],1],[[[20,[5]]],1],[[],1],[[[20,[5]]],1],[[]],[[],12],[[],12],[[],13],[[]],[[[20,[5]]],5]],"c":[],"p":[[15,"u8"],[3,"String"],[15,"u64"],[15,"usize"],[8,"Field"],[3,"CairoMemory"],[3,"Formatter"],[6,"Result"],[15,"bool"],[3,"Vec"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"CairoInstruction"],[3,"CairoState"],[8,"Clone"],[3,"CairoContext"],[3,"CairoStep"],[3,"CairoProgram"],[3,"CairoWord"],[8,"CairoFieldHelpers"],[8,"Pointers"],[8,"FlagSets"],[8,"FlagBits"],[8,"Offsets"]]}\ diff --git a/rustdoc/settings.html b/rustdoc/settings.html index 9718890d0b..78856e0fed 100644 --- a/rustdoc/settings.html +++ b/rustdoc/settings.html @@ -1 +1 @@ -Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/rustdoc/src/legacy_o1vm/main.rs.html b/rustdoc/src/legacy_o1vm/main.rs.html index b6b85a65f6..61e0145030 100644 --- a/rustdoc/src/legacy_o1vm/main.rs.html +++ b/rustdoc/src/legacy_o1vm/main.rs.html @@ -348,6 +348,22 @@ 348 349 350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366
use ark_ff::UniformRand;
 use clap::Parser;
 use folding::decomposable_folding::DecomposableFoldingScheme;
@@ -379,7 +395,7 @@
         BaseSponge, Fp, OpeningProof, ScalarSponge,
     },
     lookups::LookupTableIDs,
-    preimage_oracle::PreImageOracle,
+    preimage_oracle::{NullPreImageOracle, PreImageOracle, PreImageOracleT},
     test_preimage_read,
 };
 use poly_commitment::SRS as _;
@@ -409,9 +425,6 @@
             .unwrap_or_else(|_| panic!("Error deserializing metadata file {}", f))
     });
 
-    let mut po = PreImageOracle::create(&configuration.host);
-    let _child = po.start();
-
     // Initialize some data used for statistical computations
     let start = Start::create(state.step as usize);
 
@@ -428,8 +441,27 @@
 
     // Initialize the environments
     // The Keccak environment is extracted inside the loop
-    let mut mips_wit_env =
-        mips_witness::Env::<Fp, PreImageOracle>::create(cannon::PAGE_SIZE as usize, state, po);
+    let mut mips_wit_env = match configuration.host.clone() {
+        Some(host) => {
+            let mut po = PreImageOracle::create(host);
+            let _child = po.start();
+            mips_witness::Env::<Fp, Box<dyn PreImageOracleT>>::create(
+                cannon::PAGE_SIZE as usize,
+                state,
+                Box::new(po),
+            )
+        }
+        None => {
+            debug!("No preimage oracle provided 🤞");
+            // warning: the null preimage oracle has no data and will crash the program if used
+            mips_witness::Env::<Fp, Box<dyn PreImageOracleT>>::create(
+                cannon::PAGE_SIZE as usize,
+                state,
+                Box::new(NullPreImageOracle),
+            )
+        }
+    };
+
     let mut mips_con_env = mips_constraints::Env::<Fp>::default();
     // The keccak environment is extracted inside the loop
 
diff --git a/rustdoc/src/o1vm/preimage_oracle.rs.html b/rustdoc/src/o1vm/preimage_oracle.rs.html
index d74f326f8c..4b549fdf73 100644
--- a/rustdoc/src/o1vm/preimage_oracle.rs.html
+++ b/rustdoc/src/o1vm/preimage_oracle.rs.html
@@ -300,6 +300,26 @@
 300
 301
 302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
 
use crate::cannon::{
     Hint, HostProgram, Preimage, HINT_CLIENT_READ_FD, HINT_CLIENT_WRITE_FD,
     PREIMAGE_CLIENT_READ_FD, PREIMAGE_CLIENT_WRITE_FD,
@@ -408,9 +428,7 @@
 }
 
 impl PreImageOracle {
-    pub fn create(hp_opt: &Option<HostProgram>) -> PreImageOracle {
-        let host_program = hp_opt.as_ref().expect("No host program given");
-
+    pub fn create(host_program: HostProgram) -> PreImageOracle {
         let mut cmd = Command::new(&host_program.name);
         cmd.args(&host_program.arguments);
 
@@ -459,6 +477,18 @@
     }
 }
 
+pub struct NullPreImageOracle;
+
+impl PreImageOracleT for NullPreImageOracle {
+    fn get_preimage(&mut self, _key: [u8; 32]) -> Preimage {
+        panic!("No preimage oracle specified for preimage retrieval");
+    }
+
+    fn hint(&mut self, _hint: Hint) {
+        panic!("No preimage oracle specified for hints");
+    }
+}
+
 impl PreImageOracleT for PreImageOracle {
     // The preimage protocol goes as follows
     // 1. Ask for data through a key
@@ -526,6 +556,16 @@
     }
 }
 
+impl PreImageOracleT for Box<dyn PreImageOracleT> {
+    fn get_preimage(&mut self, key: [u8; 32]) -> Preimage {
+        self.as_mut().get_preimage(key)
+    }
+
+    fn hint(&mut self, hint: Hint) {
+        self.as_mut().hint(hint)
+    }
+}
+
 #[cfg(test)]
 mod tests {
     use super::*;
diff --git a/rustdoc/src/o1vm/test_preimage_read.rs.html b/rustdoc/src/o1vm/test_preimage_read.rs.html
index ed3e7f4778..78912749b6 100644
--- a/rustdoc/src/o1vm/test_preimage_read.rs.html
+++ b/rustdoc/src/o1vm/test_preimage_read.rs.html
@@ -74,6 +74,7 @@
 74
 75
 76
+77
 
use crate::{
     cannon::{PreimageKey, VmConfiguration},
     cli,
@@ -94,7 +95,8 @@
     let preimage_db_dir = args.preimage_db_dir;
 
     if let Some(preimage_key_dir) = preimage_db_dir {
-        let mut po = PreImageOracle::create(&configuration.host);
+        let host_program = configuration.host.expect("No host program specified");
+        let mut po = PreImageOracle::create(host_program);
         let _child = po.start();
         debug!("Let server start");
         std::thread::sleep(std::time::Duration::from_secs(5));
diff --git a/rustdoc/src/pickles_o1vm/main.rs.html b/rustdoc/src/pickles_o1vm/main.rs.html
index d970da76ff..fdb4bda473 100644
--- a/rustdoc/src/pickles_o1vm/main.rs.html
+++ b/rustdoc/src/pickles_o1vm/main.rs.html
@@ -153,6 +153,21 @@
 153
 154
 155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
 
use ark_ff::UniformRand;
 use clap::Parser;
 use kimchi::circuits::domains::EvaluationDomains;
@@ -172,7 +187,7 @@
         Instruction,
     },
     pickles::{proof::ProofInputs, prover, verifier},
-    preimage_oracle::PreImageOracle,
+    preimage_oracle::{NullPreImageOracle, PreImageOracle, PreImageOracleT},
     test_preimage_read,
 };
 use poly_commitment::{ipa::SRS, SRS as _};
@@ -199,9 +214,6 @@
             .unwrap_or_else(|_| panic!("Error deserializing metadata file {}", f))
     });
 
-    let mut po = PreImageOracle::create(&configuration.host);
-    let _child = po.start();
-
     // Initialize some data used for statistical computations
     let start = Start::create(state.step as usize);
 
@@ -213,8 +225,26 @@
     };
 
     // Initialize the environments
-    let mut mips_wit_env =
-        mips_witness::Env::<Fp, PreImageOracle>::create(cannon::PAGE_SIZE as usize, state, po);
+    let mut mips_wit_env = match configuration.host.clone() {
+        Some(host) => {
+            let mut po = PreImageOracle::create(host);
+            let _child = po.start();
+            mips_witness::Env::<Fp, Box<dyn PreImageOracleT>>::create(
+                cannon::PAGE_SIZE as usize,
+                state,
+                Box::new(po),
+            )
+        }
+        None => {
+            debug!("No preimage oracle provided 🤞");
+            // warning: the null preimage oracle has no data and will crash the program if used
+            mips_witness::Env::<Fp, Box<dyn PreImageOracleT>>::create(
+                cannon::PAGE_SIZE as usize,
+                state,
+                Box::new(NullPreImageOracle),
+            )
+        }
+    };
 
     let constraints = mips_constraints::get_all_constraints::<Fp>();